Агрегатные функции СКД, о которых мало кто знает

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

Разработка - Практика программирования

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

Пользуетесь ли Вы всеми возможными агрегатными функциями, которые предоставляет система компоновки данных? Если Вы используете только: СУММА, КОЛИЧЕСТВО, МИНИМУМ, МАКСИМУМ, СРЕДНЕЕ, то эта статья для Вас.

Предыдущие мои статьи по СКД можно посмотреть по ссылкам ниже:

Нет такого программиста 1С, который никогда не работал бы с СКД. И все, кто выводил с помощью системы компоновки даже самые простые отчеты, знают, что такое агрегатные функции. Так как вывод итогов по ресурсам на уровне группировок, это, пожалуй, самая распространенная задача при создании отчета.

Но, далеко не все знают, что список возможных агрегатных функций не ограничивается выпадающим списком в конструкторе СКД:

Агрегатные функции из выпадающего списка

Если посмотреть справку то можно увидеть гораздо больше агрегатных функций, о существовании некоторых из которых мало кто знает:

Все агрегатные функции

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

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

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

 

Массив

Функция формирует массив, содержащий значения детальных записей по полю или выражению, указанному в качестве параметра. Обрабатываются подчиненные записи текущей группировки. Ключевое слово «Различные», позволяет получить только уникальные записи. Если в качестве параметра передана таблица значений, сформируется массив со значениями первой колонки таблицы:

Массив(Различные Номенклатура)
Массив(Количество)

Если массив формируется по числовому полю, то к его результату можно применять еще одну агрегатную функцию (Сумма, Количество, Максимум, Минимум, Среднее).

 

ТаблицаЗначений

Функция формирует таблицу значений. Количество колонок результирующей функции равно количеству переданных параметров (полей или выражений). Обрабатываются подчиненные записи текущей группировки. После ключевого слова «КАК» можно задать наименования колонок таблицы. Ключевое слово «Различные» перед первым параметром позволяет получить только различные записи. Проверка выполняется по всем колонкам таблицы значений.

ТаблицаЗначений(Различные Контрагент КАК Клиент,  Номенклатура КАК Товар)

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

Для наглядности приведу пример.

Создадим набор данных со следующим запросом:

ВЫБРАТЬ              
   ТоварныеЗапасыОстаткиИОбороты.КоличествоНачальныйОстаток,              
   ТоварныеЗапасыОстаткиИОбороты.КоличествоКонечныйОстаток,              
   ТоварныеЗапасыОстаткиИОбороты.Товар КАК Товар,             
   ТоварныеЗапасыОстаткиИОбороты.Склад КАК Склад
ИЗ              
   РегистрНакопления.ТоварныеЗапасы.ОстаткиИОбороты(, , месяц, , ) КАК ТоварныеЗапасыОстаткиИОбороты

Добавляем вычисляемое поле «ТаблицаЗначений» и в качестве выражения ресурса, укажем для него:

ТаблицаЗначений(ПериодМесяц КАК Период, Склад КАК Склад, КоличествоКонечныйОстаток КАК Остаток)

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

Функция: ТаблицаЗначений

 

Важное дополнение. Если для колонок таблицы значений не заданы наименования после ключевого слова «КАК», во всех функциях, которые выполняют обработку этой таблицы (Свернуть, Упорядочить, ПолучитьЧасть) нельзя использовать наименования для указания требуемых колонок. Имена колонок будут иметь специальные наименования, назначенные системой. Для обращения к этим колонкам можно будет использовать только их порядковые номера. Так что если планируется обращение к колонкам таблицы значений по именам, обязательно нужно указывать эти имена после ключевого слова «КАК».

 

 Свернуть 

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

Свернуть(Массив(Товар))
Свернуть(ТаблицаЗначений(Номенклатура КАК Товар, КоличествоОборот) ,"Товар")
Свернуть(ТаблицаЗначений(КоличествоОборот) ,"1")

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

Функция: Свернуть  

Для массива, функция аналогична применению ключевого слова «Различные» в функции «Массив». Для таблицы значений, функция позволяет проверить уникальность не по всем колонкам, в отличие от применения ключевого слова «Различные» в функции «ТаблицаЗначений».

 

ПолучитьЧасть

Функция позволяет получить часть таблицы значений. Оставить только необходимые колонки. Наименования или порядковые номера колонок нужно указать вторым параметром функции:

ПолучитьЧасть(ТаблицаЗначений(Номенклатура, Количество) ,"1")
ПолучитьЧасть(ТаблицаЗначений(Номенклатура КАК Товар, Количество) ,"Товар")

В результате получится таблица значений с одной колонкой «Номенклатура».


Упорядочить

Функция позволяет упорядочить массив или таблицу значений. Если используется таблица значений, вторым параметром нужно указать номера колонок, по которым требуется выполнить упорядочивание. Можно указать направление упорядочивания (Возр / Убыв) и признак «Автоупорядочивание»:

Упорядочить (Массив(Номенклатура))
Упорядочить(ТаблицаЗначений(Номенклатура, Количество),"1 Возр Автоупорядочивание")
Упорядочить(ТаблицаЗначений(Номенклатура КАК Товар, Количество),"Товар Убыв")


СоединитьСтроки

Функция выполняет соединение срок, переданных в качестве массива или таблицы значений. Втором параметром можно указать символ соединения строк, массива или таблицы (по умолчанию используется символ перевода строки). Если в качестве первого параметра используется таблица значений, в третьем параметре можно указать символ соединения колонок таблицы (по умолчанию используется символ «;»). Результатом выполнения функции является строка.

Примеры использования функций:

СоединитьСтроки(Массив(Товар), ";")
СоединитьСтроки(ТаблицаЗначений(Товар, КоличествоОборот), ";", ",")

Функция: СоединитьСтроки

 

ГрупповаяОбработка

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

Синтаксис функции следующий:

ГрупповаяОбработка(Выражения, ВыраженияИерархии, ИмяГруппировки)

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

ВыраженияИерархии – поля или выражения, которые требуется обработать для иерархических записей (если обработка выполняется для иерархии). Если параметр не указан, используются такие же поля, которые указаны в параметре «Выражения».

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

Результат групповой обработки возвращается в виде объекта с типом «ДанныеГрупповойОбработкиКомпоновкиДанных». Данные групповой обработки можно передать в качестве параметра в экспортную функцию общего модуля

Объект содержит следующие реквизиты:

  • Данные – результирующая таблица значений. Колонками таблицы являются поля или результаты выражений, перечисленные в первом параметре функции «ГрупповаяОбработка».
  • ТекущийЭлемент – строка таблицы значений соответствующая текущему элементу группировки.
  • ВременныеДанныеОбработки – структура в которую можно поместить произвольные параметры в процессе работы с результатом групповой обработки в функции общего модуля. Эти параметры будут доступны при следующей обработке групповых данных в рамках этой же группировки.

Пример использования функции

Создадим набор данных с простым запросом:

ВЫБРАТЬ              
   ПродажиОбороты.Покупатель КАК Покупатель,              
   ПродажиОбороты.Товар КАК Товар,              
   ПродажиОбороты.КоличествоОборот КАК КоличествоОборот,              
   ПродажиОбороты.СуммаОборот КАК СуммаОборот
ИЗ              
   РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты

Создадим вычисляемое поле «ГрупповаяОбработка», определим его как ресурс и укажем следующее выражение:

СКДСервер.ФункцияОбщегоМодуля(ГрупповаяОбработка ("СУММА(КоличествоОборот) КАК Количество"))

В конфигурации, в общем серверном модуле «СКДСервер» разместим экспортную процедуру:

Функция ФункцияОбщегоМодуля(Данные) Экспорт 
                           
   ВременныеДанные = Данные.ВременныеДанныеОбработки;
   Если ВременныеДанные.Свойство("СреднееКоличество") Тогда
      СреднееКоличество = ВременныеДанные.СреднееКоличество;
   Иначе
      ОбщееКоличество = 0;
      Для каждого СтрокаДанных Из Данные.Данные Цикл
         ОбщееКоличество = ОбщееКоличество + СтрокаДанных.Количество;
      КонецЦикла;
      СреднееКоличество = Окр(ОбщееКоличество / Данные.Данные.Количество());
      ВременныеДанные.Вставить("СреднееКоличество", СреднееКоличество);
   КонецЕсли;  
                                                 
   Если Данные.ТекущийЭлемент <> Неопределено Тогда
      ОтклонениеОтСреднего = СреднееКоличество - Данные.ТекущийЭлемент.Количество;
   Иначе
      ОтклонениеОтСреднего = 0;
   КонецЕсли; 
                                                   
   Возврат ОтклонениеОтСреднего;

КонецФункции

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

Проверяется наличие параметра «СреднееКоличество» в структуре «ВременныеДанныеОбработки». Если параметр существует, используется он, так как среднее количество в рамках одной и той же группировки будет одинаковым. Если параметра не существует (выводится первая строка группировки), выполняется его расчет по таблицы значений «Данные». Полученное значение добавляется в структуру «ВременныеДанныеОбработки».

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


Каждый

Функция вычисляет выражения для всех строк и возвращает значение «Истина», если выражения по всем строкам вернули значение «Истина». В противном случае, будет возвращено значение «Ложь».

Каждый(КоличествоОборот > 10)

Функция: Каждый


Любой

Функция вычисляет выражения для всех строк и возвращает значение «Истина», если хотя бы по одной строке результат будет «Истина». В противном случае, будет возвращено значение «Ложь».

Любой(КоличествоОборот > 10)


МестоВПорядке

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

Строки с одинаковым значением порядка будут иметь одно и то же место.

Синтаксис функции следующий:

МестоВПорядке(Порядок, ПорядокИерархии, ИмяГруппировки)

Порядок – выражение порядка, по которому происходит сортировка строк. Можно указать направление упорядочивания (Возр / Убыв) и признак «Автоупорядочивание».

ПорядокИерархия – выражение упорядочивания для иерархических записей. Если не указано, действует выражение для основных записей.

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

Примеры использования:

МестоВПорядке("СУММА(КоличествоОборот)")
МестоВПорядке("Номенклатура Возр Автоупорядочивание")
МестоВПорядке("СУММА(КоличествоОборот) ", СУММА("СуммаОборот"))

Для обычных строк группировки действует сортировка по полю «КоличествоОборот», для иерархических – «СуммаОборот»:

МестоВПорядке - для иерархии

МестоВПорядке("Сумма(КоличествоОборот)",, "Покупатель")

Для всех вложенных группировок место в порядке будет рассчитано по группировкам верхнего уровня «Покупатель»:

МестоВПорядке для группировки верхнего уровня

 

КлассификацияABC

Функция вычисляет значение классификации «ABC» по переданному выражению и пороговым значениям.

Синтаксис функции следующий:

КлассификацияABC(Значение, КоличествоГрупп, ПроцентыДляГрупп, ИмяГруппировки)

Значение – поле или выражение, для которого требуется рассчитать классификацию ABC.

КоличествоГрупп – количество групп классификации. Можно указать количество больше трех, тогда уже будет классификация «ABCD», «ABCDE» и т.д.

ПроцентыДляГрупп – пороги для попадания в группы через запятую в виде строки. Причем для последней группы порог не указывается. Диапазон последней группы считается от последнего порога до 100%. Пример указания порогов для трех групп: «50, 80».

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

Примеры использования:

КлассификацияABC("Сумма(КоличествоОборот)", 4, "40, 70, 90")

Фнкция: КлассификацияАВС

КлассификацияABC("Сумма(КоличествоОборот)", 3, "50, 80", "Покупатель")

Классификация вложенных строк выполняется по строкам группировки верхнего уровня «Покупатель»:

КлассификацияАВС для группировки верхнего уровня

В СКД существует еще целый набор математических агрегатных функций:

  • СтандартноеОтклонениеГенеральнойСовокупности
  • СтандартноеОтклонениеВыборки
  • ДисперсияВыборки
  • ДисперсияГенеральнойСовокупности
  • КовариацияГенеральнойСовокупности
  • КовариацияВыборки
  • Корреляция
  • РегрессияНаклон
  • РегрессияОтрезок
  • РегрессияКоличество
  • РегрессияR2
  • РегрессияСреднееX
  • РегрессияСреднееY
  • РегрессияSXX
  • РегрессияSYY
  • РегрессияSXY

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

 

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

Для ознакомления с предыдущими статьями можно перейти по ссылкам ниже:

 

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

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. VmvLer 05.09.19 16:52 Сейчас в теме
каждый кто хоть раз открывал справку по СКД знает об этих функциях, думаю 80% сидящих тут это делали. Причем, в справке все более-менее понятно и ее осилит ученик старших классов.

а 90% их использовали, +10% - это копи-пастеры без шевеления мысли.

За рисунки спасибо - они врезаются в память, проще говоря "якорят" уже полученное ранее знание. Талант создания "якорей" якорей у вас есть.
Kaval88; JohnConnor; triviumfan; alex_bitti; +4 34 Ответить
2. for_sale 856 05.09.19 16:58 Сейчас в теме
(1)
В справке вообще ничего порядочного не описано. Те же вычислить выражения там описаны в паре предложений, при этом там чуть ли не десяток параметров. Что это за параметры, как их использовать, какие там хотя бы типы значений - ничего! В стиле 1С
Прикрепленные файлы:
getnight; alest; @Fancy; MikeI; user874148; user843241; dabu-dabu; user1195466; starik-2005; TreeDogNight; ДимокШ; IROKEZ91; Maxisussr; ilya4; narutouzumaki_13; VVi3ard; yku; A_Max; mifka186; Summer_13; Fox-trot; Anchoret; Jestery; Quasar; FreeArcher; Batman; fancy; dsdred; rpgshnik; ids79; +30 Ответить
11. Светлый ум 257 06.09.19 06:39 Сейчас в теме
(2) Справка по СКД отвратительная +1 . Годная статья
getnight; lavash67; MikeI; user1195466; TreeDogNight; ДимокШ; ilya4; narutouzumaki_13; chembulatov76; ids79; Yashazz; Quasar; +12 Ответить
5. alex_bitti 77 05.09.19 17:03 Сейчас в теме
(1) поддерживаю, не претендую на оригинальность своих публикаций, но это за гранью, видно курсы 1С стали чаще выпускать контентмейкеров ис)))
47. mpeg1989 125 27.02.20 15:06 Сейчас в теме
(5) Каково было мое удивление, когда я нашел описание этих функций в книге, которая кладется в каждую коробку 1С, руководство разработчика, в двух томах которое.
48. starik-2005 2154 27.02.20 15:13 Сейчас в теме
(47) и кто эти книги читает? Все читают гугл, а в гугле этих книг легально нет.
49. alex_bitti 77 28.02.20 10:14 Сейчас в теме
(47) я сам публиковал здесь инфу как перехватить запрос скд, для редактирования текста запроса,в частности когда текст большой и состоит из одинаковых блоков, меня тоже в комментах осудили, но когда подобные доклады прошли отбор на митап в краснодаре в этом году, я уже ничему не удивляюсь, качество контента здесь меняется, все чаще начинаю посещать други ресурсы в часности украинский форум крутой, мне интересны темы обменов и КД, там такие люди собираются, девчонка написала свой обмен БСП между конфами разных поколений, тут такого не встречал
50. mpeg1989 125 28.02.20 11:26 Сейчас в теме
(49) На самом деле для себя понял, что здесь сообщество делится на три группы:
1. Прочитал, нашел/не нашел для себя что-то новое, иногда поблагодарил, если не за что, то просто прошел мимо.
2. Слишком умный, чтобы найти для себя что-то новое, осудил, указал в комментах на ошибки, иногда весьма конструктивно. С одной стороны вроде обгадил, с другой стороны вроде дело говорит, кому-то может поможет даже больше, чем сама статья.
3. Обгадил в любом случае. Думаю все, кто иногда спускается в комменты, знает их.

Печально, но 3-4 персонажа из третьей группы отравляет все сообщество.
51. alex_bitti 77 28.02.20 11:34 Сейчас в теме
(50) программисты они такие) мой шеф говорит что читала книгу "КАК ПАСТИ КОТОВ. НАСТАВЛЕНИЕ ДЛЯ ПРОГРАММИСТОВ, РУКОВОДЯЩИХ ДРУГИМИ ПРОГРАММИСТАМИ" чтобы познать это мастерство))
6. ids79 5398 05.09.19 21:06 Сейчас в теме
(1)
90% их использовали

Что же, если это действительно так, так это же здорово!
Но, согласитесь, многие формулировки в справке 1С только больше запутывают, чем разъясняют. А альтернативное описание очень даже полезно.
На счет якорей, спасибо. Приятно, что даже для такого продвинутого специалиста как Вы, есть что-то интересное.
getnight; MikeI; Pavl0; PLAstic; TreeDogNight; antonio_i; mpeg1989; dajen; dunpil; ilya4; Kinestetik; vpaoli; VVi3ard; acces969; YPermitin; yku; Jestery; zqzq; FreeArcher; for_sale; +20 Ответить
13. Jestery 06.09.19 13:43 Сейчас в теме
(6) спасибо за труд. А так то в каждой подобной статье обязательно найдутся крикуны, отправляющие в справку, на итс, в гугл, еще куда нибудь. И ты думаешь такой - ну ок, пойду посмотрю что же там такое. Идешь туда, куда крикуны направляют и обнаруживаешь там...ничего. Вот вообще ничего от слова совсем. Пара фраз на функцию с десятком параметров. Ощущение что кто-то на скорую руку быстренько накидал это всё за пару минут. Просто "чтобы было". Справка же нужна все таки. Вот она и есть. И дальше только эксперименты и изучение того функционала, который не лишним было бы просто описать нормально.
getnight; starik-2005; TreeDogNight; user717534; ДимокШ; nico2; VVi3ard; YPermitin; ids79; +9 Ответить
23. triviumfan 16 09.09.19 17:36 Сейчас в теме
(1) нынче пошёл такой "мейнстрим" статей на ИС. Повторение - мать учение (с).
getnight; Espiritfor; YPermitin; +3 3 Ответить
39. VVi3ard 49 08.10.19 14:54 Сейчас в теме
(1) В справке нет примеров, только сухое описание.

Я часть из этих команд знал, но знания по каждой добывал на практике после чтения справки.

Но вот например ГрупповаяОбработка не довелось использовать возможно я туповат но вот из справки не как не следует что ее нужно использовать при работе в общих модулях.

Так же в справке по этой функции нет приписки "про вызов 2 раза на строку при использовании стандартного макета".

По следам последнего инфостарта, уважаемый (0) с презентацией по этой статье был бы там одним из лучших докладчиков.
Прикрепленные файлы:
MikeI; TreeDogNight; unknown181538; ids79; +4 Ответить
41. ids79 5398 08.10.19 15:12 Сейчас в теме
(39)Спасибо.
Ну... Выступать на Инфостарте только по теме данной статьи, маловато будет. По более общей теме и этой в том числе - может быть да.
43. VVi3ard 49 08.10.19 15:24 Сейчас в теме
(41) Поэтому и тухло так на инфостарте было в этом году с техническими докладами.
Те кто ответственно относится к выступлениям не идут т.к. считают что недостаточно полезный доклад будет и нужно еще поработать.

А те для кого на первом месте пиар и реклама, выступают с чем придется не заботясь о качестве и полезности материала.


Из докладчиков для меня открытием был
Антон Дорошкевич все его выступления были интересными и на круглом столе отлично выступил.
А остальные доклады вода, прописные истины, самореклама..
Даже в том объеме что есть в статье ваше выступление было бы полезным. Чуть больше примеров подобрать практических и добавить "ВычислитьВыражение" и выступление готово.

В итоге секции связанные с управлением и HR были полезнее и интереснее чем большинство технических.
42. VmvLer 08.10.19 15:14 Сейчас в теме
(39) мне нравиться когда сухо и кратко - об остальном размышляю сам.

кому-то необходима ваниль и сладкая вата для работы мозга, ничего удивительного.
3. wowik 757 05.09.19 17:00 Сейчас в теме
+1. Но откуда информация??
VVi3ard; ids79; +2 Ответить
7. ids79 5398 05.09.19 21:07 Сейчас в теме
(3)Из справки 1С + практика использования.
VVi3ard; rpgshnik; +2 Ответить
4. Cmapnep 12 05.09.19 17:02 Сейчас в теме
Спасибо, особенно за наглядные примеры!
getnight; it-expert; nikgol2410; TreeDogNight; ilya4; Kinestetik; VVi3ard; yku; fancy; ids79; +10 Ответить
8. Pim 169 05.09.19 21:40 Сейчас в теме
Не скажу, что сильно необходимые функции. По крайней мере, сходу не понимаю, где их можно использовать. Но всё равно за наводку и разъяснения большое спасибо.
25. ids79 5398 09.09.19 19:37 Сейчас в теме
(8)ТаблицаЗначений, СоединитьСтроки - можно использовать для вывода строк из разных колонок и разных строк в одном поле.
ГрпповаяОбработка - для любых расчетов с использованием таблицы всех строк группировки и текущей строки. Причем можно сохранять промежуточный расчет.
МестоВПорядке - для какой-нибудь сложной сортировки.
Каждый, Любой - для вывода обобщающей информации по строкам.
КлассификацияABC - для любой классификации данных по порогам.

А вообще да, согласен. Не каждый день применять приходиться).
9. protexprotex 124 05.09.19 23:28 Сейчас в теме
"Нет такого программиста 1С, который некогда не работал бы с СКД" - нуу семерошники не работали.... Или они не программисты 1С? :-)
10. German_Tagil 15 06.09.19 05:58 Сейчас в теме
Мда.... Спасибо.
Отправил в избранное
VVi3ard; ids79; +2 Ответить
12. ivanov660 2090 06.09.19 10:05 Сейчас в теме
С каких версий платформы стали поддерживаться? Кто-нибудь смотрел?
27. ids79 5398 09.09.19 19:51 Сейчас в теме
(12)Как-то не задавался этим вопросом).
Массив, ТаблицаЗначений, Свернуть, ПолучитьЧасть, Упорядочить, СоединитьСтроки, ГрупповаяОбработка - еще в 8.2 были.
Остальные в 8.3 появились, в каких версиях - не скажу.
35. echo77 1148 07.10.19 16:19 Сейчас в теме
36. ids79 5398 07.10.19 20:06 Сейчас в теме
(35)Видел эту статью. Жалко, много формулировок один в один скопировано из справки 1С. По всей видимости автор не особо разбирался в их работе. Просто оповестил. Ну и за это ему спасибо.
14. aleksey.kubovtsov 85 06.09.19 15:03 Сейчас в теме
сколько скд крутил, ни разу их не использовал )
Автору спасибо
15. protexprotex 124 07.09.19 09:52 Сейчас в теме
Хорошие функции. Но они как sin, cos, Exp и т.д. в 1С - вроде бы есть, но кто их использует?
16. ids79 5398 07.09.19 10:38 Сейчас в теме
(15)Ну, кто-то использует, кто-то нет. Это уже зависит от задач и от желания использовать или не использовать.
17. protexprotex 124 07.09.19 11:00 Сейчас в теме
(16) Ответ достойный дипломата :-) - вроде бы и ответил, а ответа не получил и не прицепишься к словам :-)
40. VVi3ard 49 08.10.19 15:00 Сейчас в теме
(15) Те кто делают сложные отчеты для руководства, содержащие большое количество аналитики и приведения к %.
В запросе все это сделать тяжело т.к. нужно получать доли от разных группировок и если данных много то запросом получается очень долго, выражения СКД сильно выручают.

Примеры из практики:
Офоромление группировки цветом если в ней есть записи привышающие порог (Любой);
Вывод данных в порядке важности (МестоВПорядке);

Я вот только после прочтения статьи понял как использовать ГрупповуюОбработку, и уже знаю пару отчетов где это можно использовать. Хотя разработал достаточно много сложных отчетов на СКД.
TreeDogNight; ids79; +2 Ответить
18. Mopo3 292 07.09.19 17:07 Сейчас в теме
Вот по математическим функциям таки было бы самое интересное) На практике пока пригождалось СО и Дисперсия, но остальные тоже были бы интересны, для общего развития ;)
19. ids79 5398 07.09.19 17:13 Сейчас в теме
(18)Я, честно говоря, вышеуказанные математические функции на практически не применял. Если у Вас есть опыт, напишите, очень интересно.
20. binipox 07.09.19 20:55 Сейчас в теме
Лучшая статья по данному вопросу! Спасибо Вам!
21. Yashazz 3202 09.09.19 09:53 Сейчас в теме
Ну да, статья полезная хотя бы как анти-склерозник, именно по причине скудной встроенной справки. Но не лучшая, видел я более подробные разборы, правда, не на ИС. Многим из описанного давно пользуюсь, и что скажу - например, классификация АВС по скорости иногда сильно проигрывает обычному запросу и даже, о ужас, обычному коду с таблицами значений) Статистические функции не гонял, но тоже есть сомнения в их быстродействии.
JohnConnor; ids79; +2 Ответить
24. ids79 5398 09.09.19 19:24 Сейчас в теме
(21)На лучшую и не претендую)).
22. mambo 09.09.19 12:27 Сейчас в теме
просто оставлю тут коммент=)) Нужна обработка выгрузка загрузка данных xml с отбором для 8.3 готов заплатить адекватный ценник=))
26. ids79 5398 09.09.19 19:38 Сейчас в теме
(22)Это Вы не совсем по теме. Лучше разместите на форуме или в тендерах.
28. Evil Beaver 6705 10.09.19 10:26 Сейчас в теме
Отличная статья. А вот когда в обычном языке для коллекций появятся методы "Каждый" и "Любой" - тогда 1С вообще шагнет вперед по адекватности языка. (В 1Скрипте, например, есть библиотека стриминговой обработки, ее можно перетянуть в 1С, но на уровне платформы точно будет удобнее)

И еще, в СКД есть функция "КовариацияГенеральнойСовокупности", вот ее бы кто описал так же подробно :)
VVi3ard; YPermitin; ids79; +3 Ответить
29. ids79 5398 10.09.19 10:48 Сейчас в теме
(28)Спасибо, Андрей.
Судя по всему 1Скрипт во многом превосходит конфигуратор 1С ))
Да, есть "КовариацияГенеральнойСовокупности" и еще много других, я их привел в конце статьи.
Но, по всей видимости, их практически никто не использует пока.
Да, было бы здорово, если бы кто-то описал с примерами.
Я пока не готов )). Может быть позже...
TreeDogNight; VVi3ard; YPermitin; +3 Ответить
30. Evil Beaver 6705 10.09.19 22:36 Сейчас в теме
(29) Ну нет, вовсе не превосходит. Просто есть несколько вещей, которые в сообществе реализованы чуть лучше.
YPermitin; +1 Ответить
31. DedMoroz1983 13.09.19 09:03 Сейчас в теме
Познавательно. В справке не всегда найдёшь необходимую информацию.
33. 1segen1 32 26.09.19 04:11 Сейчас в теме
Статья понравилась, спасибо.
Исправьте ошибку
Нет такого программиста 1С, который некогда не работал бы с СКД

Правильно "никогда".
34. Malfarion 197 07.10.19 15:44 Сейчас в теме
Дмитрий, привет. Во первых спасибо тебе за проделанную работу по данному материалу. Посоветуй пожалуйста.
Есть отчет на СКД, в качестве источника информации выступает внешний ресурс , соответственно таблица устанавливается программно.
Стоит задача в итогах группировки в колонке начальный остаток написать значение из первой строки записей, а в итогах "конечного остатка" записать значение из последней строки записей входящих в группировку. На приложенной картинке более наглядно.
На текущий момент для "Начально остатка" я пользуюсь итоговым выражением :
ВычислитьВыражение ("НачальныйОстаток","Номенклатура","Группировка")

Результат соответствует ожиданиям.
Но не знаю как сделать тоже самое только чтобы бралась последняя запись строк входящих в группировку для "Конечного остатка". Посоветуй пожалуйста.
Прикрепленные файлы:
37. ids79 5398 07.10.19 23:38 Сейчас в теме
(34)Вот такое выражение нужно указать в расчете итога: МИНИМУМ(ВычислитьВыражениеСГруппировкойМассив("ВычислитьВыражение(""КонечныйОстаток"",,,""Последняя"",""Последняя"")", "Регистратор"))
Вместо регистратора можно указать любое поле детальных записей.
Veric; Kinestetik; UJF; VVi3ard; Malfarion; +5 Ответить
38. Malfarion 197 08.10.19 00:25 Сейчас в теме
(37)
МИНИМУМ(ВычислитьВыражениеСГруппировкойМассив("ВычислитьВыражение(""КонечныйОстаток"",,,""Последняя"",""Последняя"")", "Регистратор"))

Это просто магия.... спасибо большое, заработало как нужно!
44. user811769 7 07.11.19 16:49 Сейчас в теме
Спасибо за статью, уважаемый автор, пригодилась при подготовке к экзамену на спеца УТ!

Но при использовании КлассификацияABC() у меня возникли проблемы.

Имеется РТиУ с количеством товара 10 шт. Номенклатура №1, 10 шт. Номенклатура №2, 10 шт. Номенклатура №3, всего 30 шт.
Пишу запрос:

ВЫБРАТЬ
	РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура,
	РеализацияТоваровУслугТовары.Количество КАК Количество,
	0 КАК Класс
ИЗ
	Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
ГДЕ
	РеализацияТоваровУслугТовары.Ссылка = &Ссылка
Показать


В ресурсах: КлассификацияABC("Сумма(Количество)", 4, "40, 70, 90")

а имею вместо ожидаемых 3, 3, 3 (10/30 = 0,33 < 40%, попадает в 3 класс) 1, 1 и 2

Либо я не понимаю, как работает эта функция, либо она не работает =(((
Прикрепленные файлы:
45. ids79 5398 08.11.19 09:13 Сейчас в теме
(44)Добрый день.
Вы не правильно себе представляете работу этой функции.
Эта функция именно распределяет по классам, а не относит к какому либо классу.
Представьте, что у Вас большое количество данных. В первый диапазон попадут максимальные значения, которые в сумме будут давать 40% от суммы всех значений. В следующий диапазон попадут следующие по величине значения, которые в сумме будут давать 30% и так далее.
На 3 значениях очень сложно смотреть - не наглядно и погрешность очень большая.
Посмотрите в моем примере, там данных больше - более наглядно.
В основе этой классификации лежит принцип Парето - малое количество дает основной оборот.
46. ZuevNikolay 15.01.20 09:43 Сейчас в теме
Круто!!! Это же как partition by!!!!
52. lavash67 13.04.20 09:52 Сейчас в теме
Дмитрий, благодарю за публикацию, полезная информация. Уже который раз натыкаюсь на Ваши полезные статьи.
53. ids79 5398 13.04.20 20:52 Сейчас в теме
Оставьте свое сообщение

См. также

3 онлайн-курса по 1С-программированию: обмен данными, расчетные задачи и бухгалтерские задачи с 12 мая по 8 июля 2020 г. Промо

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

Пакет из 3-х курсов по 1С-программированию. Основная цель - сформировать у слушателей практические навыки, связанные с реализацией задач обмена для прикладных решений, работающих на платформе “1С:Предприятие”, а также с разработкой прикладных решений, предназначенных для автоматизации расчета заработной платы и задач бухгалтерского учета.

22.04.2020    3194    23    infostart    2    

Программная работа с настройками СКД

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

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

27.01.2020    15027    0    ids79    26    

[СКД] Программное создание схемы компоновки данных

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

Сделаем отчет на СКД полностью программно, без использования макета "схема компоновки данных".

15.01.2020    15632    0    John_d    22    

Последовательности событий. Шпаргалка

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

Собрал информацию о событиях/подписках/расширениях в одном месте.

30.12.2019    10750    0    kuzyara    33    

Использование программных перечислений, ч.1: строковые константы Промо

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

Часто ли у вас возникает необходимость в коде выполнять сравнение на строку?

10.12.2016    34173    0    unichkin    45    

Три способа создания одного отчета на СКД

Практика программирования v8 v8::СКД ERP2 УТ11 КА2 Бесплатно (free)

СКД имеет столько возможностей, что часто приходится выбирать, каким образом строить отчет. Причем выбор не всегда очевидный. В статье рассмотрен пример построения отчета «Отрицательные остатки по товарам на момент проведения расходных документов» тремя разными способами. Приведены «За» и «Против» каждого варианта решения задачи.

08.10.2019    11401    0    ids79    24    

Таблица значений. Нюансы

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

Обзор некоторых аспектов использования общеизвестного инструмента 1С.

01.10.2019    25385    0    Yashazz    45    

СКД. Отчеты с картинками

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

Решение популярных кейсов с картинками в отчетах на СКД.

25.09.2019    16008    0    YPermitin    33    

Вспомогательные инструкции в коде 1С Промо

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

Помогаем редактору кода 1С помогать нам писать и анализировать код.

15.10.2018    26149    0    tormozit    100    

СКД не только для отчетов

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

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

18.09.2019    16561    0    YPermitin    34    

[Шпаргалка] Программное создание элементов формы

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

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

06.09.2019    34787    0    rpgshnik    59    

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

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

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

05.09.2019    21621    0    YPermitin    24    

Оформление и рефакторинг сложных логических выражений Промо

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

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

20.09.2012    73670    0    tormozit    129    

Три костыля. Сказ про фокусы в коде

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

Три интересных (или странных) костыля в коде, которые могут помочь в повседневных и не очень задачах.

03.09.2019    21840    0    YPermitin    80    

Отслеживание выполнения фонового задания

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

Запуск фонового задания из модуля внешней обработки. Отслеживание выполнения задания в виде прогресса, расположенного на форме.

17.08.2019    25720    0    ids79    16    

Функции СКД: ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив

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

Подробное описание и использование внутренних функций системы компоновки данных: Вычислить, ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив, ВычислитьВыражениеСГруппировкойТаблицаЗначений.

08.08.2019    56070    0    ids79    37    

Запись значения в поле ввода/формы со срабатыванием события ПриИзменении Промо

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

Иногда возникает необходимость после записи значения в какое либо поле ввода/формы вызвать для него обработчик события ПриИзменении, а о вызове самого события приходится только мечтать. В этой статье приводится программный способ вызова этого события.

11.07.2007    44763    0    tormozit    38    

Фоновое выполнение кода в 1С - это просто

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

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

02.08.2019    26419    0    avalakh    21    

СКД - наборы данных и связи между ними, создание собственной иерархии, вложенные отчеты

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

Набор данных объект. Использование в схеме компоновки нескольких наборов данных. Различные варианты связи наборов: объединение, соединение. Использование иерархии в отчетах на СКД. Создание собственной иерархии, иерархия детальных записей. Использование вложенных схем в отчетах на СКД.

26.07.2019    42529    0    ids79    11    

СКД - использование расширений языка запросов, секция ХАРАКТЕРИСТИКИ

Инструментарий разработчика Практика программирования v8 v8::СКД Бесплатно (free)

Автоматическое и не автоматическое заполнение полей компоновки данных. Использование расширений языка запросов для СКД «{…}», секция ВЫБРАТЬ, секция ГДЕ, параметры виртуальных таблиц. Автоматизированное использование дополнительных данных в запросе: секция ХАРАКТЕРИСТИКИ.

17.07.2019    28542    0    ids79    27    

Как сделать из &НаКлиентеНаСервереБезКонтекста почти &НаКлиентеНаСервере Промо

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

Как сделать метод формы, доступный на клиенте и на сервере одновременно, и сохранить при этом удобство разработки

10.09.2017    40518    0    tormozit    72    

Регистры сведений. За кулисами

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

Небольшие заметки по внутреннему устройству регистров сведений.

09.07.2019    21466    0    YPermitin    13    

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

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

Работа с отчетами в пользовательском режиме, формы отчетов. Понятие пользовательских настроек в отчетах на СКД. Определение состава пользовательских настроек для разделов в целом и для отдельных элементов, для всего отчета и для отдельных группировок. Видимость функциональных опций в отчетах на СКД.

09.07.2019    19915    0    ids79    2    

"Меньше копипаста!", или как Вася универсальную процедуру писал

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

Программист Вася разбирает подход создания универсальных методов на примере программного вывода СКД.

04.07.2019    16467    0    SeiOkami    50    

Выгрузка документа по условию Промо

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

Что делать, если документы нужно выгружать не все подряд, а по какому-то фильтру: статусу, дате, набору условий... А что если он соответствовал этим условиям, а потом перестал? А если потом опять начал? Такие ситуации заставили попотеть не одного программиста.

25.04.2019    14161    0    m-rv    2    

Работа с настройками системы компоновки данных

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

Варианты отчетов, работа с настройками вариантов: структура группировок, поля отчета, отборы, сортировка, условное оформление, другие настройки, настройки отображения диаграмм.

02.07.2019    33955    0    ids79    10    

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

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

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

25.06.2019    42292    0    ids79    19    

Многопоточное ускорение однопользовательских нагрузок в 1С + Microsoft SQL Server 2017

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

Взаимодействие с Microsoft SQL Server нередко вызывает трудности у 1С-ников, а потому интересны любые моменты, связанные с его использованием. О своем опыте работы с новым SQL Server 2017 участникам конференции Infostart-2018 рассказал директор ООО «Аналитика софт» Дмитрий Дудин.

11.06.2019    21398    0    dmurk    144    

Как прикрутить ГУИД к регистру сведений Промо

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

... и немного теории обмена данными. В частности, разберем боль всех, кто пишет небанальные обмены данными: как набору записей регистра сведений назначить гуид и далее использовать его в обмене для идентификации этого набора.

16.04.2019    17768    0    m-rv    17    

Регистры накопления. Структура хранения в базе данных

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

Структура хранения регистров накопления в базе данных для платформы 1С:Предприятие 8.x. Первая часть в серии публикаций.

16.05.2019    35405    0    YPermitin    30    

Выполнение внешней обработки в фоновом задании

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

Подробное описание подхода к созданию длительной операции на основе внешней обработки. Реализация протестирована на 1С 8.3.12.1714 (x64).

11.05.2019    24234    0    Eret1k    23    

О расширениях замолвите слово...

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

О чём стоит задуматься при принятии решения о создании расширения конфигурации…

07.04.2019    29309    0    ellavs    126    

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

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

В статье приведены особенности внутренней архитектуры и примеры работы с расширением языка запросов 1С.

01.06.2018    27423    0    m-rv    21    

Git-репозитории для 1С-кода (опыт использования при небольших проектах)

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

Инструкции по взаимодействию с Git-репозиторием, которые писались для тех наших программистов, которые вообще никогда не работали с Git (руководства в духе "Как получить код из git-репозитория?", "Как отправить код в git-репозиторий")...

28.03.2019    23045    0    ellavs    86    

Трюки с внешними источниками данных

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

Некоторые трюки для преодоления ограничений внешних источников данных.

14.03.2019    26458    0    YPermitin    53    

Добавление отчетов в типовые конфигурации 1С

Практика программирования Универсальные функции БСП (Библиотека стандартных подсистем) v8::УФ v8::СКД 1cv8.cf Бесплатно (free)

Описание различных способов добавления общих и контекстных отчетов в конфигурации 1С, построенные на базе БСП. Основные моменты и нюансы.

07.03.2019    45041    0    ids79    45    

Метод формирования движений в типовых регистрах нетиповыми регистраторами Промо

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

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

05.12.2017    25720    0    itriot11    34    

Возможности типовых шаблонов ограничения доступа на уровне записей (RLS)

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

Краткий обзор применения типовых шаблонов ограничения доступа на уровне записей в конфигурациях, созданных на базе БСП: #ПоЗначениям, #ПоНаборамЗначений, #ПоЗначениямРасширенный, #ПоЗначениямИНаборамРасширенный

03.02.2019    31425    0    ids79    9    

EnterpriseData – часть 2. Процесс выгрузки данных

Практика программирования Обмен через XML v8 v8::УФ Россия Бесплатно (free)

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

26.12.2018    22844    0    ids79    31    

Использование классов .Net в 1С для новичков Промо

Практика программирования Разработка внешних компонент Универсальные функции v7.7 v8 Бесплатно (free)

Руководство для новичков. Написав статью http://infostart.ru/public/238584/, я понял, что многие не понимают того, что написано. Поэтому в этой статье постараюсь более подробно остановиться на азах и без кода на вражеском языке (C#)

27.01.2016    71049    0    Serginio    108    

Новый подход к обмену данными EnterpriseData

Практика программирования Обмен через XML v8 v8::УФ Россия Бесплатно (free)

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

14.12.2018    35102    0    ids79    72    

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

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

В статье подробно описан реальный пример доработки обмена данными через EnterpriseData (универсальный формат обмена) между конфигурациями УТ 11.4 и Бухгалтерия 3.0

16.11.2018    31758    0    ids79    32    

Программное заполнение пользовательских параметров и отборов СКД

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

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

13.11.2018    37465    0    Unk92    21    

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

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

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

10.11.2018    30599    0    ids79    40    

Произвольный код в фоновом режиме

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

Задача: реализовать выполнение произвольного кода в фоновом режиме без изменения конфигурации, т.е. во внешней обработке.

03.09.2018    23949    0    nikita0832    42    

Приемы работы с СКД: делаем за 5 минут то, на что у других уйдет час

Практика программирования Инструментарий разработчика v8::СКД Бесплатно (free)

Сергей Наумов делится опытом нестандартного использования системы компоновки данных. Он рассказывает о построении сложных отчетов с помощью функций СКД, описывает преимущества использования компоновки в коде для значительного сокращения строк кода и времени на решение задач, а также рассказывает про отладку компоновки и возможности оптимизации ее работы.

03.09.2018    41529    0    SergeyN    26    

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

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

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

23.08.2018    34831    0    Rain88    46    

Тестер: частые вопросы Промо

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

Ошибкам бой - тесты норма жизни!

25.07.2018    26241    0    grumagargler    26    

Повышаем эффективность разработки правил обмена

Практика программирования Перенос данных из 1C8 в 1C8 v8 КД Бесплатно (free)

Как повысить скорость и качество разработки правил обмена? Как вести групповую разработку правил обмена? Как облегчить сопровождение правил обмена после передачи в эксплуатацию? Об этом и многом другом вы можете узнать из этой статьи.

25.06.2018    26132    0    olegtymko    47    

Введение в механизм представлений в ЗУП ред. 3

Практика программирования v8 v8::СПР ЗУП3.x Бесплатно (free)

В нашей организации на первом же телефонном собеседовании на должность разработчика по ЗУП ред. 3 вас обязательно спросят о том, что такое "Представления".

04.06.2018    34112    0    xrrg    82    

Строим графы средствами 1С (без GraphViz)

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

Множество статей на Инфостарте описывают, как работать с компонентой GraphViz, чтобы построить ориентированный граф. Но практически нет материалов, как работать с такими графами средствами 1С. Сегодня я расскажу, как красиво строить графы с минимальным пересечением. Нам этот метод пригодился для отрисовки алгоритмов в БИТ.Финансе, т.к. типовой механизм не устраивал. Еще это может быть полезно для визуализации различных зависимостей: расчета себестоимости, графы аффилированности компаний и т.д. Надеюсь, эта статья поможет сделать мир 1С красивее и гармоничней:) Итак, поехали...

23.05.2018    22873    0    slozhenikin_com    20    

Распределение расходов пропорционально продажам

Финансовый учет и бюджетирование (FRP) Учет доходов и расходов Практика программирования Финансовый учет и бюджетирование (FRP) Учет доходов и расходов v8 v8::ОУ УТ10 УУ Бесплатно (free)

Финансовая модель. Распределение административных расходов по подразделениям пропорционально продажам за месяц. Дополнительные реквизиты против бизнес-процессов!

13.05.2018    17003    0    Rustig    9