Новые функции СКД 8.2.14

Публикация № 86764

Разработка - Математика и алгоритмы

Демонстрация новых функций СКД 8.2.14

В свете ближайшего выхода 8.2.14, попытаюсь описать некоторые новые функции системы компоновки данных.

Открываем схему компоновки данных, желательно во внешнем отчете, чтобы было проще редактировать.

Добавляем набор данных типа запрос и пишем, либо вручную, либо с помощью конструктора запросов простейший запрос:

1. Настраиваем запрос в СКД.

2. Настраиваем вычисляемые поля в СКД

3. Выполняем настройку компоновки данных на закладке настройки

4. Запускаем 1С Предприятие 8.2.14. Открываем отчет. Формируем, получаем.

 

Описание самих новых функций:

1. ТекущаяДата()

Возвращает системную дату. При компоновке макета компоновки во всех выражениях, которые присутствуют в компоновке, функция ТекущаяДата() заменяется значением текущей даты.

2. ВЫЧИСЛИТЬВЫРАЖЕНИЕ()

Синтаксис:

ВычислитьВыражение(, , , , , , , )

Описание:

Функция предназначена для вычисления выражения в контексте некоторой группировки.

Функция учитывает отбор группировок, но не учитывает иерархические отборы.

Функция не может применяться к группировке в групповом отборе этой группировки. Например, в отборе группировки Номенклатура нельзя использовать выражение ВычислитьВыражение(«Сумма(СуммаОборот)", , «ОбщийИтог») > 1000. Но такое выражение можно использовать в иерархическом отборе.

Если конечная запись предшествует начальной, то считается, что записи для расчета детальных данных и расчета агрегатных функций отсутствуют.

При расчете интервальных выражений для общего итога (параметр Группировка имеет значение ОбщийИтог) считается, что записи для расчета детальных данных и расчета агрегатных функций отсутствуют.

Компоновщик макета при генерации выражения функции ВычислитьВыражение, в случае если выражение упорядочивания содержит поля, которые не могут быть использованы в группировке, заменяет функцию ВычислитьВыражение на NULL.

 

Параметры

 

 


 

Тип: Строка. Выражение, которое надо вычислить.

 

 


Тип: Строка. Содержит имя группировки, в контексте которой необходимо вычислить выражение. В случае если в качестве имени группировки используется пустая строка, вычисление будет выполнено в контексте текущей группировки. В случае если в качестве имени группировки будет использована строка ОбщийИтог, вычисление будет выполнено в контексте общего итога. В остальных случаях вычисление будет выполняться в контексте родительской группировки с таким именем.

 

Например:

Сумма(Продажи.СуммаОборот)/Вычислить("Сумма(Продажи.СуммаОборот)", "ОбщийИтог")

В данном примере в результате получится отношение суммы по полю Продажи.СуммаОборот записи группировки к сумме того же поля во всей компоновке;

 

 


Тип: Строка. Параметр может принимать следующие значения:

 

·        ОбщийИтог — выражение будет вычисляться для всех записей группировки.

·        Иерархия — выражение будет вычисляться для родительской иерархической записи, если таковая имеется, и для всей группировки, если родительской иерархической записи не имеется.

·        Группировка — выражение будет вычисляться для текущей групповой записи группировки.

·        ГруппировкаНеРесурса — при вычисление функции для групповой записи по ресурсам, выражение будет вычислено для первой групповой записи исходной группировки.

           При вычислении функции ВычислитьВыражение() со значением ГруппировкаНеРесурса для групповых записей, не являющихся группировками по ресурсам, функция вычисляется так же, как бы она вычислялась в том случае, если значение параметра было равно значению Группировка.

           Компоновщик макета компоновки данных при генерации макета компоновки данных при выводе в макет поля-ресурса, по которому выполняется группировка, помещает в макет выражение, вычисляемое при помощи функции ВычислитьВыражение(), с указанием параметра ГруппировкаНеРесурса. Для остальных ресурсов в группировке по ресурсу помещаются обычные выражения ресурсов.

 

 


Тип: Строка. Указывает, с какой записи нужно начинать фрагмент, в котором рассчитывать агрегатные функции выражения и из какой записи получать значения полей вне агрегатных функций. Значение может быть одним из следующих:

 

·        Первая (First). Необходимо получать первую запись группировки. После слова в скобках можно указывать выражение, результат которого будет использоваться как смещение от начала группировки. Получаемое значение должно целым быть числом, больше нуля. Например, Первая(3) – получение третьей записи от начала группировки.

           Если первая запись выходит за пределы группировки, то считается, что записей нет. Например, если записей 3, а требуется получить Первая(4), то считается, что записей нет.

·        Последняя (Last). Необходимо получить последнюю запись группировки. После слова в скобках можно указывать выражение, результат которого будет использоваться как смещение от конца группировки. Получаемое значение должно целым быть числом, больше нуля. Например, Последняя(3) – получение третьей записи от конца группировки.

           Если последняя запись выходит за пределы группировки, то считается, что записей нет. Например, если записей 3, а требуется получить Последняя(4), то считается, что записей нет.

·        Предыдущая (Previous). Необходимо получить предыдущую запись группировки. После слова в скобках можно указывать выражение, результат которого будет использоваться как смещение назад от текущей записи группировки. Например, Предыдущая(2) – получение предыдущей от предыдущей записи.

           Если предыдущая запись выходит за пределы группировки (например, для второй записи группировки требуется получить Предыдущая(3), то получается первая запись группировки.

           При получении предыдущей записи для итога по группировке считается, что получается первая запись.

·        Следующая (Next). Необходимо получить следующую запись группировки. После слова в скобках можно указывать выражение, результат которого будет использоваться как смещение вперед от текущей записи группировки. Например, Следующая(2) – получение следующей от следующей записи.

           Если следующая запись выходит за пределы группировки, то считается, что записей нет. Например, если записей 3 и для третьей записи получают Следующая(), то считается, что записей нет.

           При получении следующей записи для итога по группировке считается, что записи нет.

·        Текущая (Current). Необходимо получить текущую запись.

           При получении для итога по группировке получается первая запись.

·        ОграничивающееЗначение (BoundaryValue). Необходимость получить запись по указанному значению. После слова ОграничивающееЗначение в скобках нужно указать выражение, со значения которого нужно начинать фрагмент, первого поля упорядочивания.

           В качестве записи будет получаться первая запись, значение поля упорядочивания у которой больше или равно указанному значению. Например, если в качестве поля упорядочивания используется поле Период, и оно имеет значения 01.01.2010, 01.02.2010, 01.03.2010, и требуется получить ОграничивающееЗначение(ДатаВремя(2010, 1, 15)), то будет получена запись с датой 01.02.2010.

 

 


 

Тип: Строка. Указывает, до какой записи нужно продолжать фрагмент, в котором рассчитывать агрегатные функции выражения. Значение может быть одним из следующих:

·        Первая (First). Необходимо получать первую запись группировки. После слова в скобках можно указывать выражение, результат которого будет использоваться как смещение от начала группировки. Получаемое значение должно целым быть числом, больше нуля. Например, Первая(3) – получение третьей записи от начала группировки.

           Если первая запись выходит за пределы группировки, то считается, что записей нет. Например, если записей 3, а требуется получить Первая(4), то считается, что записей нет.

·        Последняя (Last). Необходимо получить последнюю запись группировки. После слова в скобках можно указывать выражение, результат которого будет использоваться как смещение от конца группировки. Получаемое значение должно целым быть числом, больше нуля. Например, Последняя(3) – получение третьей записи от конца группировки.

           Если последняя запись выходит за пределы группировки, то считается, что записей нет. Например, если записей 3, а требуется получить Последняя(4), то считается, что записей нет.

·        Предыдущая (Previous). Необходимо получить предыдущую запись группировки. После слова в скобках можно указывать выражение, результат которого будет использоваться как смещение назад от текущей записи группировки. Например, Предыдущая(2) – получение предыдущей от предыдущей записи.

           Если предыдущая запись выходит за пределы группировки (например, для второй записи группировки требуется получить Предыдущая(3), то получается первая запись группировки.

           При получении предыдущей записи для итога по группировке считается, что получается первая запись.

·        Следующая (Next). Необходимо получить следующую запись группировки. После слова в скобках можно указывать выражение, результат которого будет использоваться как смещение вперед от текущей записи группировки. Например, Следующая(2) – получение следующей от следующей записи.

           Если следующая запись выходит за пределы группировки, то считается, что записей нет. Например, если записей 3 и для третьей записи получают Следующая(), то считается, что записей нет.

           При получении следующей записи для итога по группировке считается, что записи нет.

·        Текущая (Current). Необходимо получить текущую запись.

           При получении для итога по группировке получается первая запись.

·        ОграничивающееЗначение (BoundaryValue). Необходимость получить запись по указанному значению. После слова ОграничивающееЗначение в скобках нужно указать выражение, со значения которого нужно начинать фрагмент, первого поля упорядочивания.

           В качестве записи будет получаться первая запись, значение поля упорядочивания у которой больше или равно указанному значению. Например, если в качестве поля упорядочивания используется поле Период, и оно имеет значения 01.01.2010, 01.02.2010, 01.03.2010, и требуется получить ОграничивающееЗначение(ДатаВремя(2010, 1, 15)), то будет получена запись с датой 01.02.2010.

 

 


 

Тип: Строка. Перечисляются выражения, разделенные запятыми, которые описываютправила упорядочивания. Если не указана, то упорядочивание выполняется также как и у группировки, для которой вычисляется выражение. После каждого выражения можно указать ключевое слово Возр (для упорядочивания по возрастанию), Убыв (для упорядочивания по убывания) и Автоупорядочивание (для упорядочивания ссылочных полей по полям, по которым нужно упорядочивать объект, на который выполняется ссылка). Слово Автоупорядочивание может использоваться как со словом Возр, так и со словом Убыв.

 

 


 

Тип: Строка. Аналогично параметру Сортировка. Применяется для упорядочивания иерархических записей. Если не указано, компоновщик макета генерирует упорядочивание в соответствии с упорядочиванием, указанным в параметре Сортировка.

 

Тип: Строка. Указывает правило определения предыдущей или следующий записи в случае если есть несколько записей с одинаковым значением упорядочивания:

·        Отдельно (Separately) обозначает, что для определения предыдущей и следующей записей используется последовательность упорядоченных записей. Значение по умолчанию.

·        Вместе (Together) обозначает, что предыдущая и следующие записи определяются на основании значений выражений упорядочивания.

           Например, если полученная последовательность упорядочена по дате:

Дата ФИО Значение
1 01 января 2001 года

Иванов М.

10
2 02 января 2001 года Петров С. 20
3 03 января 2001 года Сидоров Р. 30
4 04 января 2001 года Петров С. 40

Если значение параметра равно Отдельно, то:

§  предыдущей записью к записи 3 будет запись 2.

§  если расчетный фрагмент определяется как Текущая, Текущая (соответственно, параметры Начало и Конец), то для записи 2 этот фрагмент будет состоять из одной записи 2. Выражение ВычислитьВыражение(«Сумма(Значение)", , , Текущая, Текущая) будет равно 20.

           Если значение параметра равно Вместе, то:

§  предыдущей записью к записи 3 будет запись 1.

§  если расчетный фрагмент определяется как Текущая, Текущая (соответственно, параметры Начало и Конец), то для записи 2 этот фрагмент будет состоять из записей 2 и 3. Выражение ВычислитьВыражение(«Сумма(Значение)", , , Текущая, Текущая) будет равно 50.

           При указании значение параметра равного Вместе, в параметрах Начало и Конец нельзя указывать смещение для позиций Первая, Последняя, Предыдущая, Следующая.

Пример:

Если требуется рассчитать сумму с накоплением, то можно использовать следующее выражение:

ВычислитьВыражение("Сумма(СуммаОборот)", , , "Первая", "Текущая")

Если требуется получить значение группировки в предыдущей строке, то можно использовать следующее выражение:

ВычислитьВыражение("Курс", , , "Предыдущая")

 


Список новых функций:

 

 


 

 

ВычислитьВыражениеСГруппировкойМассив(, , , ) -

Функция возвращает массив, каждый элемент которого содержит результат вычисления выражения для группировки по указанному полю.

ВычислитьВыражениеСГруппировкойТаблицаЗначений(, , , ) -

Функция возвращает таблицу значений, каждая строка которой содержит результат вычисления выражений для группировки по указанному полю

ЗначениеЗаполнено() - Возвращает Истина, если значение отлично от значения данного типа по умолчанию, отлично от значения NULL, отлично от пустой ссылки, отлично от значения Неопределено. Для логических значений осуществляется проверка на значение NULL. Для строк осуществляется проверка на отсутствие не пробельных символов

Пример:

Формат(, ) - Получить отформатированную строку переданного значения. Форматная строка задается в соответствии с форматной строкой системы «1С:Предприятие».

Пример

Подстрока(, ) - Данная функция предназначена для выделения подстроки из строки.

ДлинаСтроки() - Функция предназначена для определения длины строки. Параметр — выражение строкового типа

Строка() - Если в качестве параметра передан массив, то функция возвращает строку, содержащую строковые представления всех элементов массива, разделенных символами "; ". Если в качестве параметра передана таблица значений, то функция возвращает строку, содержащую строковые представления всех строк таблицы значений, причем представления ячеек каждой строки разделяются символами "; ", а строки — смиволом перевода строки. Если у какого либо элемента строковое представление пустое, то вместо его представления выводится строка.

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Serj1C 479 29.06.11 14:28 Сейчас в теме
как-то сухо. выдержек из хелпа маловато
philya; Огонек; +2 Ответить
2. fishca 1183 29.06.11 14:33 Сейчас в теме
(1) первый блин, не судите строго :cry:
3. WKBAPKA 222 29.06.11 14:58 Сейчас в теме
так я так понимаю, что еще 14-ый релиз еще не вышел?
4. anig99 2750 29.06.11 15:04 Сейчас в теме
(3) тестовые выходят. Завтра ждем очередного переноса срока (: У меня конфа обновления ждет с 6 на 13 релиз из-за этого.
5. fishca 1183 29.06.11 15:05 Сейчас в теме
(3) нет. Завтра должен выйти, если не перенесут в очередной раз.
6. cheburashka 38 30.06.11 13:12 Сейчас в теме
Помоему ФОРМАТ() и в прежних релизах 8.2 был
7. anig99 2750 30.06.11 13:25 Сейчас в теме
(6) не в виде функции, вроде
9. fishca 1183 30.06.11 13:28 Сейчас в теме
(7) 8.2.13.219 :oops:
Прикрепленные файлы:
8. fishca 1183 30.06.11 13:26 Сейчас в теме
10. anig99 2750 30.06.11 13:31 Сейчас в теме
(8) а я всё ещё на 8.2.11 сижу (: А то 12 и 13 релизы только ошибки плодили.
11. fishca 1183 30.06.11 13:34 Сейчас в теме
(10) и не факт что 14 не продолжит их "славную" традицию...
12. anig99 2750 30.06.11 13:36 Сейчас в теме
(11) да, но вкусности 14 слишком соблазнительны
13. fishca 1183 30.06.11 13:39 Сейчас в теме
(12) не могу не согласиться ;)
14. Gasdrubal 14.09.11 10:19 Сейчас в теме
а как насчет общих реквизитов, почему так мало и только о компоновке данных? интересно, будут ли люди пользоваться такими вещами? Мне напоминает это пложение итоговых функций. В Скуле такого нет и живут, суммируя строки в триггерах!
17. AlexO 130 22.11.11 23:18 Сейчас в теме
(14) Gasdrubal,
а причем тут общие реквизиты и СКД??
Общие реквизиты - это реквизиты, которые общие для множества объектов. На основе них - реализован механизм общих реквизитов. Т.е. вроде как можно один раз назначить реквизит и право на него дать, и во всех объектах он будет разграничен...
А работает, как всегда в 1с, все через ж..
Был пример, когда этот самый "общий" реквизит выводил для разных пользователей (с разными правами на него) РАЗНЫЕ данные внутри...
т.е. создавал путаницу, а не разгарничение прав на данные реквизитов, для чего и соорудили эту очередную "тухлую" плюшку....
(15) zahar33,
Целая статья есть:
http://infostart.ru/public/92746/
Как работает - куча условностей и сторонних костылей (т.е. основное - это сторонние разработки: драйвера, СУБД, элементы...), которые и составляют основу "фишки", нарушится что-то в этой цепочке - работать не будет...
но зато "1с реализовала"...
и будет еще 10 релизов до 8.3 исправлять и дорабатывать свои "инновации"..
15. zahar33 18.10.11 16:08 Сейчас в теме
Кто б еще сделал какой пример для Внешних источников данных. Никак не могу разобрать как это работает
16. Kesr 08.11.11 15:59 Сейчас в теме
Полезная вещь, стоит попоробовать
18. zahar33 23.11.11 03:36 Сейчас в теме
Я уже это понял идеи хорошие, а их реализация пока(надеюсь) хромает.
19. Raminus 20.12.11 16:44 Сейчас в теме
20. xaker1C 20.12.11 17:57 Сейчас в теме
21. Feelthis 36 22.12.11 17:15 Сейчас в теме
Огромное спасибо. Как раз очень актуально получить нарастающий итог в запросе для меня. Раньше по моему хитро делали в запросе - табличка сама с собой соединялась по периодам Таб1.период >= Таб2.Период
22. i132 114 23.12.11 12:16 Сейчас в теме
инетерсный пример ABCКлассификация() в агрегатнных функций СКД: http://downloads.v8.1c.ru/content/Platform/8_2_14_439/V8AddDoc.htm#_Toc292348659
-используется функция из модуля обрабатывающая ДанныеГрупповойОбработкиКомпоновкиДанных

В выражении компановки ABCКлассификация(ГрупповаяОбработка("Сумма(СуммаОборот)"))

в модуле:
Функция ABCКлассификация(Данные) Экспорт
Перем ТаблицаЗначений;

Если Не Данные.ВременныеДанныеОбработки.Свойство("ABCКлассификацияТаблицаЗначений", ТаблицаЗначений) Тогда
   ТаблицаЗначений = Данные.Данные.Скопировать();
...(обработка ТЗ)...
 Данные.ВременныеДанныеОбработки.Вставить("ABCКлассификацияТаблицаЗначений", ТаблицаЗначений);
 Данные.ВременныеДанныеОбработки.Вставить("ABCКлассификацияИндексКлассаA", ИндексКлассаA); //номер граничной строки А-Б
Иначе
 ТаблицаЗначений = Данные.ВременныеДанныеОбработки.ABCКлассификацияТаблицаЗначений;
КонецЕсли;

Если Данные.ТекущийЭлемент = Неопределено Тогда
   Возврат Null;// Итог по группировке.
Иначе
   Строка = ТаблицаЗначений.Найти(Данные.Данные.Индекс(Данные.ТекущийЭлемент), "Номер");

   Если Строка = Неопределено Тогда
    Возврат Null;
   Иначе
    Индекс = ТаблицаЗначений.Индекс(Строка);
    Если Индекс <= Данные.ВременныеДанныеОбработки.ABCКлассификацияИндексКлассаA Тогда
     Возврат 1;
    Иначе
     Возврат 3;
   КонецЕсли;
КонецЕсли;
КонецФункции
Показать
zqzq; cleaner_it; fishca; +3 Ответить
23. a31 24.12.11 03:22 Сейчас в теме
i132 пишет:
i132 23.12.11 12:16 URL ↓Цитата ↓Ответить

инетерсный пример ABCКлассификация() в агрегатнных функций СКД: http://downloads.v8.1c.ru/content/Platform/8_2_14_439/V8AddDoc.htm#_Toc292348659 -используется функция из модуля обрабатывающая ДанныеГрупповойОбработкиКомпоновкиДанных

В выражении компановки ABCКлассификация(ГрупповаяОбработка("Сумма(СуммаОборот)"))

в модуле:

для пользователей новые отчеты стали гораздо более сложными и неудобными, надеюсь, что хоть программистам толк от этого есть...
25. iotkin 12.01.12 12:51 Сейчас в теме
26. post279 18.01.12 06:41 Сейчас в теме
27. post279 18.01.12 06:42 Сейчас в теме
28. serge_focus 4 29.01.12 01:22 Сейчас в теме
Спасибо . Актуальная статья!
29. sergb1979 22.03.12 11:01 Сейчас в теме
У Вас самая полезная статья. Скд частично закрытый формат. Черный ящик. Как поведет себя система не всегда можно прогнозировать
30. fishca 1183 22.03.12 12:02 Сейчас в теме
(29)
У Вас самая полезная статья.

Есть на инфостарте более полезные статьи
Скд частично закрытый формат. Черный ящик

СКД - формат описан в документации
Как поведет себя система не всегда можно прогнозировать

опять же есть все в документации
31. arhal-ya@yandex.ru 04.04.12 13:42 Сейчас в теме
Похоже на бездушный копипаст из хелпа. В новых функциях упоминается "ЗначениеЗаполнено". Побойтесь бога - это есть даже в 8.1. Заметил при беглом прочтении. После этого читать этот длярейтинговый "мануал" расхотелось.
32. fishca 1183 04.04.12 13:55 Сейчас в теме
Похоже на бездушный копипаст из хелпа

а ты хотел чтобы он был с душой ;) ?
В новых функциях упоминается "ЗначениеЗаполнено". Побойтесь бога - это есть даже в 8.1

согласен, попалась "старенькая" вместе с остальными "новенькими" :)
После этого читать этот длярейтинговый "мануал" расхотелось

Ждем от тебя много новых, содержательных статей не для рейтинга :)
33. arhal-ya@yandex.ru 04.04.12 17:07 Сейчас в теме
(32)
а ты хотел чтобы он был с душой ;) ?

Хотелось чтобы содержательно и с актуальными примерами.
Хелп 1с меня всегда поражал своей содержательностью.
Гилев, например,в своих видеоуроках постоянно не находит там какого-нибудь метода или свойства.
А примеры кода часто опущены за ненадобностью. На этом сайте рассчитываю встретить что-то полезное.

Ждем от тебя много новых, содержательных статей не для рейтинга :)

Непременно. Скоро еще одну выложу.
А от тебя жду (заметь не "ждем" - не люблю заявлять от некоего безликого множества) осмысленных комментариев и минусований в чужих публикациях.

согласен, попалась "старенькая" вместе с остальными "новенькими" :)

ага "Формат" и "ДлинаСтроки" тоже попались.
34. fishca 1183 05.04.12 08:41 Сейчас в теме
Непременно. Скоро еще одну выложу.

а где интересно первая?
35. arhal-ya@yandex.ru 05.04.12 09:42 Сейчас в теме
(34)
а где интересно первая?

Посмотреть публикации, комментарии и прочее зная логин настолько "трудная" задача, что я наверное не буду здесь описывать этот длинный мануал из трех слов.
36. fishca 1183 05.04.12 10:04 Сейчас в теме
пока не вижу :)
Прикрепленные файлы:
37. arhal-ya@yandex.ru 05.04.12 17:05 Сейчас в теме
(36)
пока не вижу :)

Кхгм... И что тебе на это сказать?
И только не надо пенять на глюки сайта...
Кто сказал фотошоп? Никто? Значит показалось...
И дабы отсечь возможные дальнейшие варианты дискуссии на эту тему - заходил и под логином и без него.
Прикрепленные файлы:
38. fishca 1183 05.04.12 17:31 Сейчас в теме
(37) сейчас есть публикация, но это не статья, к моему сожалению, а я тебя писал про статью ;)
39. Созинов 07.06.12 16:22 Сейчас в теме
Спасибо за публикацию. Пусть и сухо, но заставило обратить внимание на новые фичи СКД - часто очень приходится пользоваться. Автору +
40. echo77 1174 25.05.13 21:23 Сейчас в теме
Ох... но! Где же я был раньше - на работу приду, распечатаю справку по функциям СКД.
Практического применения пока не найду, но на два вопроса на сайте 1cskd.ru, думаю, я смог ответить людям
41. AlX0id 13.06.13 12:27 Сейчас в теме
мм.. люди для себя 8.2 открывают :))
42. Yashazz 3474 19.06.13 16:09 Сейчас в теме
Мдя. Это и правда не статья, а копипаст какой-то...

ВычислитьВыражениеСГруппировкойМассив и ВычислитьВыражениеСГруппировкойТаблицаЗначений вообще никак не описаны и пример не приведён. Советую желающим читать тут: http://langslab.com/ebooks/skd/dcs-ch2/dcs-ex17
newborn; BAMPER; the1; SunShinne; jONES1979; for_sale; JohnyDeath; ElenaBIT; SergTH0000; vlengin; +10 Ответить
43. Гость 20.11.13 18:50
Работает ли данная фунцкия с датами?
например ВычислитьВыражение(РазностьДат(Дата, Дата, Месяц), "Предыдущая", "Текущая")
Прикрепленные файлы:
44. SergTH0000 26.11.13 16:51 Сейчас в теме
Гыыы, автор ты че? копипаст из хелпа + свои картинки? Жжошь!
45. fishca 1183 27.11.13 10:35 Сейчас в теме
Гыыы, автор ты че? копипаст из хелпа + свои картинки? Жжошь!

иногда это полезно делать ;)
46. konstantin5586 7 27.02.14 16:05 Сейчас в теме
47. fishca 1183 27.02.14 16:54 Сейчас в теме
(46) konstantin5586, похоже один в один :)
48. for_sale 816 28.05.14 10:22 Сейчас в теме
мда, работа проведена просто титаническая! это ж сколько нужно было копипастить из справки? да ещё и три скриншота сделать!

Кстати, на скриншоте в отчёте накапливаемый итог не работает. Подозреваю, что из-за того, что каждая запись в отдельной группировке. Отличная иллюстрация работы! Как и сама работа.
naumenko_alex; jONES1979; Dimasik2007; fishca; +4 Ответить
49. Hans 1 10.06.14 11:06 Сейчас в теме
Скопипастил, даже не понял что, параметров не видно, ничего не понятно.
50. fishca 1183 10.06.14 21:53 Сейчас в теме
(49) Hans, параметров в запросе не наблюдаю. Ты о чем вообще речь ведешь?
53. progr-2008 118 26.06.16 00:00 Сейчас в теме
ВычислитьВыражение("Сумма(СуммаДокумента)", , , "Первая", "Текущая")

Если это выражение в вычисляемом поле, а в Ресурсы - сумма этого выражения, то получу суммы документов нарастающим итогом?
Оставьте свое сообщение

См. также

Автоматические и управляемые блокировки применительно к типовым конфигурациям 1С Промо

Математика и алгоритмы Практика программирования v8 v8::blocking 1cv8.cf Бесплатно (free)

Основные принципы работы с режимами автоматических и управляемых блокировок в 1С Предприятие 8. Теория и применение в типовых конфигурациях: БП, УТ, ЕРП

10.11.2018    35257    ids79    40    

Партионный учет по двум количественным показателям

Математика и алгоритмы Учет ТМЦ v8 1cv8.cf Оптовая торговля, дистрибуция, логистика Россия УУ Бесплатно (free)

Особенности учета партионной системы при наличии двух количественных показателей.

26.03.2020    3431    lastcontra    4    

Получение значений всех полей в иерархии структуры отчета

Практика программирования Математика и алгоритмы v8::СКД Россия Бесплатно (free)

При обработке расшифровки данных в отчете (да и не только отчете), основанном на СКД, может потребоваться получить значения всех полей, находящихся в текущей группировке и её родителях. Представляю вашему вниманию алгоритм, выполняющий эту задачу. Как говорится, "просто оставлю это здесь".

28.02.2020    2183    real_MaxA    1    

Treemapping — способ визуализации данных древовидной структуры. Карта-схема дерева

Математика и алгоритмы Работа с интерфейсом v8 1cv8.cf Бесплатно (free)

Предлагается ознакомиться с редким способом графического представления иерархических данных. Приводится алгоритм формирования и пример реализации.

18.02.2020    4926    randomus    20    

Как работает серверный вызов в 1С Промо

Математика и алгоритмы v8::УФ Бесплатно (free)

Клиент-серверная архитектура заложена в платформе изначально — со времен «1С:Предприятие 8.0». Однако при разработке на 8.0 и 8.1 о разделении кода на клиентскую и серверную часть можно было не заботиться, поскольку на клиенте (на толстом клиенте) был доступен тот же функционал, что и на сервере. Всё изменилось с выходом платформы «1С:Предприятие 8.2», когда появился тонкий клиент. Теперь на клиенте доступен один функционал, на сервере — другой. Клиент и сервер «общаются» между собой с помощью серверного вызова. Конечно, это усложнило процесс разработки, но с другой стороны – можно создавать более оптимальные (быстрые) решения, поскольку все сложные задачи выполняются на сервере.

18.11.2017    56613    pahich    82    

[После]Новогодние задачи

Практика программирования Математика и алгоритмы v8 Бесплатно (free)

Совсем немного времени осталось до того момента, когда отзвучат куранты, шампанское будет выпито, мандарины съедены, и даже оливье закончится. Возникнет вопрос: чем бы занять неожиданно появившееся свободное время?

30.12.2019    3080    Alxby    23    

Регистры бухгалтерии. Общая информация

Практика программирования Математика и алгоритмы v8 v8::БУ БУ Бесплатно (free)

Общая информация о внутреннем устройстве регистров бухгалтерии.

05.09.2019    29292    YPermitin    24    

"Хочу универсально!" [Часть 1]

Математика и алгоритмы Практика программирования Разработка v8 1cv8.cf Бесплатно (free)

Сентябрьская серия статей про то, как начинающий разработчик Вася проходит путь от простой задачки к созданию своего механизма. На этот раз - открытие значения из текущей колонки.

02.09.2019    9890    SeiOkami    35    

Будни автоматизации или "мне нужна программка для 3D упаковки" Промо

Практика программирования Математика и алгоритмы Оптовая торговля Оптовая торговля v8 1cv8.cf УУ Бесплатно (free)

Автоматизация отечественных предприятий, которой приходиться заниматься, это нужная и высокооплачиваемая, но довольно нервная работа. Выручает юмор. Например, при общении с требовательным клиентом можно вспомнить анекдот: "Держась руками за стену, на ногах еле стоит мужик. К нему пристает ребенок: "Ну, папа, пожалуйста, сделай мне кораблик!", папа отвечает: "Ага! - Сейчас все брошу и пойду делать тебе кораблик!". Про один такой сделанный для клиента "кораблик" и хочется рассказать. Надеюсь, совместное погружение в теплое ламповое (то есть клиентоориентированное) программирование доставит Вам положительные эмоции, да и задача попалась интересная. Поплыли?

24.03.2014    45395    ildarovich    116    

Иерархия без "В ИЕРАРХИИ"

Математика и алгоритмы v8 Бесплатно (free)

Говорится о том, как эффективно представлять иерархию в СУБД, как получать и использовать эти представления при решении задач в запросной технике. Уточняются и дополняются запросы из статьи "Уровни, глубина, прародители, циклы и аналоги запросом" [https://infostart.ru/public/160707/].

22.08.2019    12537    ildarovich    19    

EnterpriseData – часть 3. Загрузка данных, идентификация объектов

Практика программирования Математика и алгоритмы Перенос данных из 1C8 в 1C8 Разработка v8 v8::УФ 1cv8.cf Бесплатно (free)

Основные этапы загрузки данных через EnterpriseData. Идентификация объектов загружаемых полностью и по ссылке. Приведены схемы процессов загрузки данных. Описание основных операций и обработчиков. Перечень процедур БСП, используемых при загрузке данных, структура «КомпонентыОбмена».

22.08.2019    15183    ids79    8    

Обработчики событий при записи объектов. Зачем и что за чем?

Математика и алгоритмы v8 Бесплатно (free)

Программисту, имеющему немного опыта на платформе 1С 8.3, бывает сложно разобраться: ПередЗаписью, ПриЗаписи, ПослеЗаписи, на сервере, на клиенте, в модуле формы, в модуле объекта.... Эта шпаргалка была создана в процессе обучения и реального опыта с целью разложить всё по полочкам, чтобы было четкое понимание в каком случае какой обработчик нужно использовать и в какой последовательности они запускаются при записи и проведении документов. Данная статья будет полезна в большей степени начинающим разработчикам. Но и опытным позволит освежить информацию, упорядочить её.

25.07.2019    53812    AlbinaAAA    28    

Приемы обработки больших данных в 1С Промо

Универсальные обработки Математика и алгоритмы Перенос данных из 1C8 в 1C8 v8 1cv8.cf Бесплатно (free)

Рассказ об эффективных приемах организации обработок больших объемов данных на платформе 1С

07.08.2015    67433    tormozit    27    

Как проводятся документы в типовых конфигурациях от 1С

Математика и алгоритмы Практика программирования Разработка v8::ОУ ERP2 УТ11 Россия УУ Бесплатно (free)

В свое время, когда только начинал шаги в 1С и изучал, как проводятся документы в конфигурациях на платформе 1С по книге "Разработка управляемого интерфейса" (Хрусталева Е.Ю.), и там были представлены примеры совсем далекие от того, как сейчас проводятся документы в современных конфигурациях от 1С.

24.07.2019    27892    skv_79    35    

FizzBuzz на 1С. Чем короче, тем веселее. Варианты принимаются...

Практика программирования Математика и алгоритмы Разработка v8 Бесплатно (free)

Мне было скучно, я не мог себя заставить написать ничего полезного. И читал статью на Хабре. Потом я читал комментарии, а потом... нет я не ушел смотреть котиков на ютюбе. Я решил сделать несколько решений задачки FizzBuzz на 1С, с целью "чем короче, тем лучше". Прошу сильно не пинать, это просто развлечение для вечера.

24.07.2019    5476    vandalsvq    16    

Управление качеством кода

Математика и алгоритмы Рефакторинг и качество кода v8 Бесплатно (free)

О SonarQube, АПК, EDT. Какие преимущества дает их использование. Для каких команд подходит.

22.07.2019    16636    Stepa86    33    

Полезные примеры составления схемы компоновки данных Промо

Практика программирования v8 v8::СКД 1cv8.cf Абонемент ($m)

Данная статья появилась благодаря периодически появляющимся вопросам на сайте http://1cskd.ru/. Задачи, которые задают авторы вопросов совсем не тривиальные, но их можно решить с помощью СКД.

5 стартмани

09.04.2014    155311    68    SITR-utyos    49    

Что делает "В ИЕРАРХИИ" в запросе?

Математика и алгоритмы v8 Бесплатно (free)

Описание действий платформы 1С при использовании конструкции "В ИЕРАРХИИ" в запросах.

16.07.2019    27515    YPermitin    34    

Создание отчетов с помощью СКД - основные понятия и элементы

Практика программирования Математика и алгоритмы v8 v8::СКД Бесплатно (free)

Основные принципы работы СКД. Понятия схемы компоновки и макета компоновки. Описание основных элементов схемы компоновки: наборы данных, поля, вычисляемые поля, ресурсы, параметры.

25.06.2019    53869    ids79    25    

Реализуем Стек, Очередь и Приоритетную очередь в 1С

Практика программирования Математика и алгоритмы v8 1cv8.cf Россия Бесплатно (free)

В статье рассматриваются способы реализации таких абстрактных структур данных, как стек, очередь и приоритетная очередь, используя готовые типы данных 1С. Выявляются "узкие" места, сложные моменты в реализации и сравнивается скорость работы.

24.06.2019    14279    RonX01    65    

XDTO - это просто Промо

Математика и алгоритмы v8 1cv8.cf Бесплатно (free)

С появлением платформы 8.1 фирма “1С” представила механизм, носящий интригующее название XML Data Transfer Objects или, если коротко - XDTO. По традиции, документирование механизма составлял тот, кто хорошо разбирался в вопросе, а стало быть опустил “и так понятные” с его точки зрения моменты. Целью данной статьи (или цикла статей, как получится) стало желание поделиться накопленным опытом. Мне кажется, многие неочевидные вещи в механизме XDTO необходимо осветить получше.

24.12.2012    296449    Evil Beaver    173    

Почему вообще работает мой запрос? или Ещё раз о планах запросов

Математика и алгоритмы Практика программирования Разработка v8::Запросы Бесплатно (free)

Другие статьи на эту тему объясняют, что такое план выполнения запроса, но не рассказывают о том, как его получить. Эта заметка призвана заполнить этот пробел. Её цель - популяризировать общедоступные инструменты получения плана запроса среди разработчиков, которые ещё не начали их использовать.

10.06.2019    9445    DataReducer    12    

Организация хранения промежуточных данных

Математика и алгоритмы v8 Бесплатно (free)

Организация хранения промежуточных данных в процедуре сверки.

29.05.2019    4234    scientes    1    

Вычисление 200 тысяч знаков числа pi

Математика и алгоритмы v8 Россия Бесплатно (free)

В статье рассматриваются возможности платформы выполнять сверхточные вычисления без использования сложных алгоритмов и внешних компонент на примере вычисления числа pi.

28.05.2019    7992    Oleg_nsk    96    

Самоучитель языка запросов 1С. Промо

Практика программирования Решение задач на 1С:Специалист Математика и алгоритмы v8 v8::Запросы Бесплатно (free)

Сервис для изучения запросов 1С: "Консоль изучения запросов 1С:Предприятие 8". Теперь и с конструктором запросов!

07.05.2013    110392    bpc222    327    

Регистры накопления. Виртуальные таблицы. Часть №1: Обороты

Практика программирования Математика и алгоритмы Разработка v8 1cv8.cf Бесплатно (free)

Описание работы платформы 1С:Предприятие 8.2 с виртуальной таблицей "Обороты" регистров накопления.

20.05.2019    28581    YPermitin    7    

Даем названия переменным: как префиксы экономят наше время

Практика программирования Математика и алгоритмы Разработка v8 Бесплатно (free)

Понятные названия переменных экономят время и силы разработчика : в начале, когда мы даём названия переменным, в процессе развития разработки, когда мы "на лету" понимаем назначение той или иной переменной, в конце, когда мы передаём разработку на поддержку других программистов, сами переходя к новым разработкам

06.05.2019    7072    Designer1C    81    

Заметки по SQL: Срез последних - аналог запроса

Математика и алгоритмы Практика программирования v8 1cv8.cf Россия Бесплатно (free)

В статье описывается создание среза последних данных средствами классического языка запросов. Причем метод построения запроса был разработан еще во времена, когда автор работал с СУБД Oracle 9i и программировал на PL SQL. Основная идея заключается преобразовании запроса с подзапросом, в запрос без подзапроса (в примерах описывается преобразование до двух вложенных подзапросов). Запросы тестировались на реальных базах данных. Платформа - 1С:Предприятие 8.3 (8.3.10.2561).

15.01.2019    11923    IVC_goal    7    

Решение транспортной задачи запросом Промо

Математика и алгоритмы v8 Бесплатно (free)

Списание по двум последовательностям партий запросом (без программной обработки)

1 стартмани

30.04.2014    35113    bforce    22    

Многопоточное восстановление последовательностей

Производительность и оптимизация (HighLoad) Практика программирования Математика и алгоритмы Универсальные функции v8 Бесплатно (free)

Универсальный алгоритм многопоточного фонового восстановления любой последовательности.

05.12.2018    13379    _ASZ_    33    

Основные понятия и механизмы оптимизации клиент-серверного взаимодействия в 1C

Математика и алгоритмы Практика программирования v8 Россия Бесплатно (free)

У многих начинающих 1С программистов часто возникают вопросы про клиент-серверное взаимодействие в 1С и чтобы разобраться в непростых механизмах платформы, необходимо понять, что же такое контекст, для чего предназначены директивы компиляции, что представляют собой контекстные/внеконтекстные вызовы и как наиболее оптимально описывать прикладные задачи в модулях управляемых форм.

23.08.2018    39044    Rain88    46    

Парсер запросов 1С. Часть 1: Введение, разбор математических выражений Промо

Математика и алгоритмы v8 Бесплатно (free)

Рано или поздно становится скучно решать типичные задачи, для которых придумана 1С. Голова пухнет от бухгалтерских терминов и очередных "хотелок" пользователей. Именно в такие моменты хочется гордо поднять голову, воскликнуть "Но я же программист!" и заняться чем-то интересным. В цикле статей я постараюсь доступно описать, как устроены парсеры в целом и на примере парсера языка запросов 1С. Требования к навыкам читающего: основы языка 1С, основы алгоритмизации.

1 стартмани

04.12.2013    30758    juntatalor    49    

Теорема номер тринадцать

Математика и алгоритмы v8 Бесплатно (free)

Использование математических методов для языка запросов.

15.03.2018    12150    vasilev2015    24    

"Взлом" теста "1С:Профессионал" методом машинного обучения

Практика программирования Математика и алгоритмы v8 1cv8.cf Бесплатно (free)

Нейронные сети – не единственная модель, реализующая принципы машинного обучения. Есть еще байесовская модель, которая математически строже и определеннее, поскольку построена на надежном фундаменте теории вероятностей. Применению байесовского вывода к решению интересной теоретической задачи и посвящена данная статья. Слово "взлом" в заголовке использовано для привлечения внимания. Речь идет исключительно о математическом методе, показанном на примере знакомой всем задачи. 

12.03.2018    19280    ildarovich    19    

Введение в CI для 1С

Математика и алгоритмы v8 Россия Бесплатно (free)

Значение роли тестирования при разработке ПО трудно переоценить, его применение позволяет повысить надёжность продукта и улучшить качество кода. Для продуктов для платформы 1С:Предприятие существует ряд инструментов для проведения тестирования, в том числе и от самого вендора. Но, также появились открытые инструменты, реализующие мировые практики проведения тестирования (проверки продукта), поддерживаемые сообществом. В этой статье описаны базовые принципы, которые необходимо понимать перед началом применения этих инструментов.

21.11.2017    23815    real_MaxA    22    

Сервис для изучения методов платформы 1С:Предприятие 8. Бесплатно! Промо

Практика программирования Решение задач на 1С:Специалист Математика и алгоритмы v8 Бесплатно (free)

Бесплатный ON-Line сервис изучения методов платформы 1С:Предприятие 8. Подготовка к аттестации 1С:Специалист on-line! Тестовые задания по различным видам учета! Подсказки для оптимального решения!

27.06.2013    50151    bpc222    52    

#Область ВНЕШНИЕ_ВЫЗОВЫ или MVC в 1С, библиотечность и упрощение интеграции кода

Практика программирования Математика и алгоритмы Универсальные функции v8 Бесплатно (free)

Зачастую почти любой модуль в 1С содержит от одного до несметного множества вызовов других модулей. Как с этим бороться, чтобы было проще куда-то что-то переносить - в этом посте.

12.10.2017    17991    for_sale    58    

Пишем игру Минер. Обработка событий ActiveX в 1С

Практика программирования Математика и алгоритмы v8 Россия Бесплатно (free)

Пример демонстрирует обработку событий генерируемых компонентой ActiveX в 1С.

29.05.2017    14828    user621724_Dimav1979    12    

Как я доступ на kb.1c.ru получал

Решение задач на 1С:Специалист Математика и алгоритмы v8 Россия Бесплатно (free)

kb.1c - база знаний по технологическим вопросам крупных внедрений и не только. В этой базе знаний собираются методики и решения технологических проблем эксплуатации 1с, check-list'ы и инструкции по настройке ПО на серверах. Какие-то из размещенных статей дублируются на ИТС. Когда я искал пути получения доступа к нему я столкнулся с проблемой: мало кто доподлинно знает как получить доступ к нему, не работая у франчайзи 1с. Я опишу путь, который прошёл я, как физическое лицо.

01.05.2017    26358    ikekoval    34    

v8: Концепция минимального изменения конфигурации для легкого обновления Промо

Математика и алгоритмы v8 1cv8.cf Бесплатно (free)

"Лучше день потерять потом за пять минут долететь" ((с) "Крылья, ноги и хвосты") или как сделать так чтобы обновление конфигурации проходило с минимальными трудозатратами.

28.01.2013    38161    MarSeN    57    

УФ: программное создание и копирование документов с использованием конструкций ДанныеФормыВЗначение, ЗначениеВДанныеФормы

Практика программирования Математика и алгоритмы v8::УФ Россия Бесплатно (free)

1С:Предприятие 8.3. Управляемые формы. Программное создание и копирование документов. Использование методов ДанныеФормыВЗначение(), ЗначениеВДанныеФормы() и КопироватьДанныеФормы().

27.04.2017    28124    alexhline    9    

Улучшение стандарта "Структура модуля"

Математика и алгоритмы v8 1cv8.cf Россия Бесплатно (free)

Описывается структура областей модулей, которую я использую при разработке на своих проектах. Обсуждаются недостатки стандарта 1С "Структура модуля". Предложен улучшенный подход к работе со структурой модуля.

26.03.2017    14479    o.nikolaev    23    

Маленькая хитрость СКД - выводим строки X раз

Математика и алгоритмы Практика программирования v8::СКД 1cv8.cf Россия Бесплатно (free)

Здесь я расскажу, как вывести в отчет СКД произвольное количество одинаковых строк.

17.12.2016    17560    alexandersh    16    

Пример выбора несколько обработчиков событий записи объекта для решения одной задачи Промо

Математика и алгоритмы v8 Бесплатно (free)

Данная публикация предназначена для начинающих разработчиков и является продолжением статьи "Обработчики событий при записи объектов. Зачем и что за чем?" (ссылка далее). Содержит пример использования несколько обработчиков событий для решения одной задачи и объясняется почему выбраны именно они.

27.09.2012    194985    AlbinaAAA    65    

"Распределение в запросе" или "избавляемся от перебора"

Математика и алгоритмы Универсальные функции v8 1cv8.cf Россия Бесплатно (free)

Хороший перебор - это отсутствие перебора. Рассмотрим пример замены полного перебора запросом.

16.12.2016    34134    alexandersh    48    

Планы обмена. Квитировать или гарантировать?

Практика программирования Математика и алгоритмы v8 1cv8.cf Бесплатно (free)

Планы обмена предлагают использовать две стратегии удаления обработанных изменений: квитирование и гарантированная доставка сообщений. Как сделать правильный выбор?

12.12.2016    17422    zhichkin    9    

Некоторые принципы оптимизации запросов 1С (+SQL)

Математика и алгоритмы v8 Бесплатно (free)

Разработка нового функционала часто связана с созданием новых таблиц в базе и написанием запросов. Собственно, размышляя о запросах, мы и формируем в голове содержание таблиц, индексы и количество таблиц и индексов. Заранее можно уверенно рассуждать о том, какая нужна архитектура, если задачу удалось понять. На этом этапе важно привлекать свой опыт. Что же делать, если его нет? Как рассуждать о запросах и формате хранения?

17.11.2016    10840    ture    40    

Альтернативные способы работы с XML. Часть 2: Введение в xPath или запросы к XML Промо

Обмен через XML Математика и алгоритмы v8 1cv8.cf Бесплатно (free)

В предыдущей статье "Введение в DOM или объектная модель документа" было описано понятие объектной модели документа (DOM), раскрыты плюсы и минусы использования модели при разборе файлов XML, приведено сравнение с построчным последовательным разбором. Были представлены варианты выборки данных с помощью объекта 1С ДокументDOM. Теперь настало время познакомить читателей с самым, на мой взгляд, интересным способом извлечения данных из XML - при помощи языка запросов xPath.

09.08.2012    42286    1cspecialist    13    

Использование git для доработки типовых конфигураций 1С

Математика и алгоритмы v8 Беларусь Украина Россия Бесплатно (free)

Рассмотрены способы доработок типовой конфигурации 1C для различных изменений, и на картинках продемонстрирован подход к разработке с использованием git и частично с тестами.

11.10.2016    208448    pumbaE    31    

Оптимизация запросов 1С:Предприятие – от теории к практике

Практика программирования Математика и алгоритмы v8 Бесплатно (free)

Я давно отметил достаточно серьезный интерес сообщества к вопросам оптимизации и повышения производительности высоконагруженных систем. Общаясь с различными специалистами, обслуживающими малые и большие предприятия (торговые и производственные), я пришел к выводу, что вопросы повышения производительности интересны почти всем, вне зависимости от того, какую конфигурацию они обслуживают – большую или маленькую, измененную или без значительных изменений. В связи с этим я пришел к выводу, что стоит посвятить данный материал вопросам оптимизации запросов, поскольку именно запросы являются основным инструментом извлечения данных из системы.

07.10.2016    38482    bpc222    20