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

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

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

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

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

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

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

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

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

Оглавление

  1. Основные понятия
  2. Макет компоновки данных
  3. Особенности схемы компоновки данных
  4. Основные поля схемы компоновки
  5. Настройка ролей для полей схемы компоновки
  6. Вычисляемые поля схемы компоновки
  7. Ресурсы схемы компоновки
  8. Параметры схемы компоновки

 

Основные понятия

СКД появилась на смену более простого объекта – Построитель отчета, который активно использовался в версиях 1С 8.1 и 8.2.

Система компоновки данных – это мощный и гибкий инструмент для создания отчетов любой сложности. Основные элементы системы компоновки и этапы формирования отчета отображены виде следующей схемы:

Основная схема работы СКД

Основными составляющими системы компоновки данных является схема компоновки и настройки компоновки.

Схема компоновки – это базовый элемент СКД, в котором описываются все правила получения и обработки данных. Схема компоновки состоит из ряда элементов указанных выше.

Есть еще дополнительные элементы схемы, такие как:

  • Связи наборов данных
  • Макеты
  • Вложенные схемы

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

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

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

 

Макет компоновки данных

Макет компоновки получается путем наложения настроек компоновки на схему компоновки. Настройки компоновки описывают представление данных схемы в итоговом отчете – это отдельная большая тема, она будет рассмотрена в следующей статье. Как было указано в общей схеме, макет компоновки состоит из следующих составляющих:

  • Наборы данных с результирующими запросами
  • Связи наборов данных
  • Значения параметров
  • Макеты различных областей отчета
  • Тело макета компоновки с настройкой соответствия между структурой отчета и макетами

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

 

Особенности схемы компоновки данных

Схема компоновки данных может быть представлена в виде XML. Созданную в конфигураторе схему можно выгрузить в XML файл:

Выгрузка загрузка схемы компоновки

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

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

В наборе данных «Запрос» схемы компоновки можно использовать произвольный запрос к базе данных, с одним ограничением - нельзя использовать секцию «ИТОГИ». Расчет итогов настраивается на уровне всей схемы целиком, так как в схеме могут использоваться несколько наборов данных или набор данных «Объект», который может представлять собой произвольную таблицу значений.

Наложить условия в схеме компоновки можно несколькими способами:

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

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

Указание порядка сортировки в схеме компоновки можно задать следующими способами:

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

 

Основные поля схемы компоновки

Основные поля схемы компоновки формируются автоматически при сохранении набора данных. На состав сформированных полей влияет флаг «Автозаполнение» и использование расширений языка запросов для СКД (будет рассмотрено в следующих статьях):

Флаг - автозаполнение

Таблица основных полей схемы компоновки данных имеет следующие реквизиты:

Путь – наименование поля для работы с ним в схеме компоновке: вычисляемые поля, ресурсы и в настройках компоновки. Есть возможность спрятать одно поле в другое. Для этого необходимо прописать путь с указанием родительского поля: [Родительское поле].[Поле]. Указанное поле будет доступно как вложенное в родительское. Моно указать путь, содержащий пробел, в этом случае, поле необходимо заключить в квадратные скобки [].

Заголовок – наименование поля для пользователей: в шапке отчета, в настройках варианта отчета (в пользовательском режиме), в пользовательских настройках.

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

Ограничение реквизитов – ограничение видимости вложенных реквизитов поля в настройках, в зависимости от установленных флагов. Для реквизитов простых типов данная настройка заблокирована. Если разрешено использование вложенных реквизитов, автоматически разрешается использование и самого поля, если даже у поля установлен флаг запрета.

Роль – группа настроек поля, которые необходимы для корректного расчета итогов по группировкам для начального и конечного остатков. Используются для вывода данных виртуальной таблицы «остатки и обороты» регистра накопления и виртуальных таблиц регистра бухгалтерии. Данная настройка подробно рассмотрена ниже в отдельном разделе.

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

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

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

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

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

Оформление – настройка оформления для поля: цвет, шрифт, формат, положение и прочее. Настройка «Текст» - не работает ожидаемым образом, произвольный текст не выводится.

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

  • Маска – маска для ввода текстового поля
  • Связи параметров выборы – настройка связей с другими параметрами, доступными для отбора (аналогично настройке для реквизитов управляемой формы).
  • Параметры выбора – задание параметров для их передачи в форму выбора значения.
  • Связь по типу – наследование типа от другого реквизита отбора. Например, это может быть элемент плана видов характеристик или бухгалтерский счет. Если указан счет, дополнительно необходимо указать «Элемент связи» (числовое поле). Тип, в данном случае, будет наследован от субконто на указанном счете. Номер субконто соответствует элементу связи.
  • Форма выбора – указание конкретной формы для выбора значения (при отключенном быстром выборе для поля). Форма указывается в виде строки.
  • Формат редактирования – формат редактирования полей с типами данных: число, дата, булево.
  • Быстрый выбор – указание возможности выбора значения из списка выбора (без открытия формы выбора).
  • Выбор групп и элементов – вид выбираемых значений: группы, элементы, группы и элементы.

 

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

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

Поля - настройка ролей

Для полей доступны следующие роли:

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

Роль - период

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

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

  • «Период» - если для виртуальной таблицы указана периодичность – «Регистратор»,
  • «ПериодСекунда» - если для виртуальной таблицы указана периодичность – «Авто». 

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

Совместное использование группировки с периодичностью по неделям с группировками большей периодичности (например – месяц), могут приводить к задвоению группировки по неделям, если часть недели приходится на один период группировки с большей периодичностью, а часть на другой:

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

Если для поля «Регистратор» указана роль «Период», в структуре группировок настроек компоновки выбрать подчиненные поля регистратора нельзя.

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

Роль - измерение

Для родительского поля также должна быть указана роль «Измерение».

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

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

Роль - счет

Если вид счета не указан система будет считать, что счет - Активно/Пассивный. Соответственно отрицательные значения остатков на начало и конец выводится не будет.

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

Роль - остатки

Настройки данной роли следующие:

  • «Имя» - произвольное наименования группы полей, должно быть одним и тем же для полей начального и конечного остатков одного и того же ресурса регистра,
  • «Тип» - начальный или конечный остаток,
  • «Бух. тип» - указывается бухгалтерский тип итогов (дебит или кредит), используется для работы с регистром бухгалтерии,
  • «Поле счета» - поле, которое содержит бухгалтерский счет, по которому рассчитываются итоги. Также используется для работы с регистром бухгалтерии.

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

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

Также, в окне настройки роли можно указать дополнительные настройки:

  • Игнорировать значение NULL – если данный флаг установлен, из итогового набора записей будут исключены групповые записи для которых данное поле имеет значение «NULL».
  • Обязательное – установка флага говорит о том, что данное поле будет добавлено в итоговый макет компоновки, если в настройках компоновки используется хотя бы одно поле из этого набора данных. Можно использовать данную настройку для принудительного расчета итогов по всем измерениям регистра накопления или развернутое сальдо по всем субконто регистра бухгалтерии, не зависимо от того, какие измерения или субконто используются в настройках компоновки отчета.

 

Вычисляемые поля схемы компоновки

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

Вычисляемые поля имеют те же реквизиты, что и основные поля, за исключением: «Роль», «Проверка иерархии набора данных», «Проверка иерархии параметра».

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

 

Ресурсы схемы компоновки

Как было указано выше, использование итогов в запросе источника данных схемы компоновки не допустимо. Это связано с тем, что в схему может входить несколько связанных между собой источников данных. Также может использоваться источник данных с типом «Объект» (это может быть произвольная таблица значений), по которому также нужно рассчитать итоги. По этому, в СКД итоги по группировкам рассчитываются на уровне всей схемы целиком. Для этой цели, в схеме компоновки имеется специальная закладка – Ресурсы. На этой закладке можно указать правила, по которым необходимо рассчитывать итоги по группировкам.

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

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

Ресурсы - выражение для расчета итогов

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

Итоги можно рассчитывать не только по числовым полям. Например, можно применить агрегатную функцию «КОЛИЧЕСТВО» к ссылочному полю. Также итог – это не обязательно число. Можно использовать функцию общего модуля для формирования строкового значения итога.

Есть возможность указания конкретных группировок, для которых необходимо рассчитывать итоги. Для этого используется настройка «Рассчитывать по»:

Ресурсы - настройка

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

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

Ресурсы - рассчитывать по

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

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

 

Параметры схемы компоновки

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

Таблица параметров имеет следующие реквизиты:

Имя – имя параметра, заданное в тексе запроса.

Заголовок – текстовое представление параметра в настройках компоновки.

Тип – тип значений параметра.

Доступные значения – список доступных значений в рамках указанного типа. Можно определить произвольные синонимы доступных значений.

Значение – значение параметра по умолчанию. Можно отключить видимость таких параметров в настройках компоновки.

Доступен список значений – флаг, позволяющий задать список значений для параметра.

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

Параметр функциональной опции – необходимо указать параметр функциональной опции, если требуется передать его системе компоновки данных. Это необходимо для определения видимости полей данных в режиме 1С-Предприятие, которые привязаны к параметризуемой ФО.

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

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

Ограничение доступности – флаг, ограничивающий видимость параметра на закладке «Параметры» в настройках компоновки.

Запрещать не заполненные значения – флаг, запрещающий не заполненные значений параметра.

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

Параметры редактирования – настройки редактирования поля параметра, аналогичны настройкам для основных и вычисляемых полей компоновки (описаны выше).

 

Для первой статьи, я думаю, достаточно. В следующе статье будут рассмотрены настройки схемы компоновки данных. Настройки схемы – это обязательная составляющая для формирования макета компоновки. Без указания настроек вывод отчета не возможен. Но, поскольку, это достаточно обширная тема, я решил выделить ее в отдельную статью, которая будет скоро опубликована.

Всем удачи в освоении и более углубленном изучении системы компоновки данных! Продолжение следует…

 

Другие мои статьи про механизмы платформы 1С

  1. Функциональные опции - все возможные варианты использования

  2. Работа с объектом «СообщениеПользователю», и другие варианты информирования пользователя.

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

 

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

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. user811769 7 25.06.19 09:02 Сейчас в теме
Спасибо за статью, не знала про роли и для чего они используются
4. ids79 5418 25.06.19 18:52 Сейчас в теме
(1)Пожалуйста.
Следите за продолжением, дальше будет интереснее.
2. Zombi 5 25.06.19 12:27 Сейчас в теме
Полезная статья! Жду продолжения. СКД можно по моему вообще отдельную жизнь посвятить. Сколько статей читаешь, видео смотришь, все равно куча нового каждый раз.
3. cool99 25.06.19 13:27 Сейчас в теме
(2)Месяц отчет какой-то не пишешь, заходишь и все равно куча нового, причем каждый раз одно и тоже всегда :)
Yan_Malyakov; +1 Ответить
8. ids79 5418 26.06.19 10:23 Сейчас в теме
(2)
Сколько статей читаешь, видео смотришь, все равно куча нового каждый раз.

Это точно!
5. kredko 19 26.06.19 04:07 Сейчас в теме
Хотелось бы узнать: как СКД формирует дерево значений? Например, как форма структуры подчиненности, которая строится на основании реквизита "ДокументОснование".
9. ids79 5418 26.06.19 10:28 Сейчас в теме
(5)Используя иерархическую группировку, например.
Можно создать собственную иерархию или иерархический вывод детальных записей.
Я буду писать об этом в следующих статьях, не пропустите...
6. HAMMER_59 204 26.06.19 09:36 Сейчас в теме
Есть такое мнение - что в нормальном тексте 70% слов не несут смысловой нагрузки, но это вовсе не означает, что эти 70% лишние, без них текст становится тяжелым для восприятия.
Статья компактная, сжатая, много информации - читать крайне тяжело.
7. ids79 5418 26.06.19 10:22 Сейчас в теме
(6)Согласен с Вами.
Это в некотором роде - методическое пособие.
Основное назначение материала - быстрый поиск нужной информации.
Делал для себя, чтобы лучше заполнить, и, если что, быстро вспомнить.
У меня в планах выложить несколько статей именно такого характера, чтобы кратко охватить как можно больше материала. А потом уже углубляться в детали, с примерами и т. п.
12. тшл 6 26.06.19 18:02 Сейчас в теме
(7)Добрый день.Когда ждать продолжения?
14. ids79 5418 26.06.19 18:31 Сейчас в теме
(12)В течение недели, надеюсь
10. leosoft 145 26.06.19 10:57 Сейчас в теме
Интересна также информация о применении СКД не для отчетов, а в обработках и т.п.
13. ids79 5418 26.06.19 18:30 Сейчас в теме
15. epsilon 27.06.19 11:13 Сейчас в теме
(10) Да, такое возможно и иногда очень помогает. Нет разницы, отчет это или обработка. Просто вывод не в отчет. Так же крайне полезная вещь, которую я использовал - это формирование данных из другой конфигурации - т.е. запускаешь отчет "где-то там" и себе эти данные тянешь (естественно, не сами объекты, а наименования, гуиды и прочее)
11. Vlan 33 26.06.19 11:17 Сейчас в теме
"Важно, что запрос макета компоновки может существенно отличатЬся от запроса источника данных схемы компоновки"

Исправьте, пожалуйста, грамматическую ошибку. В выделенном тексте особенно в глаза бросается.
16. Casey1984 3 13.09.19 14:05 Сейчас в теме
Шикарно, да ещё и с примерами! Не каждый день нужны все возможности СКД, но знать их обязательно ;-)
17. user1194102 22.10.19 13:29 Сейчас в теме
Вы один в один переписали Курс обучения от 1С? Надо было приписку сделать, тогда было бы честно. Или по Вашей статье курсы преподают? Но там больше разделов)
18. miha0713 01.06.20 18:38 Сейчас в теме
Так и не понял чем отличаются свойства: "Включать в доступные поля" и "Ограничение доступности" для параметров.
Проверил в самом конструкторе СКД.
19. ids79 5418 02.06.20 16:55 Сейчас в теме
(18)На разных закладках регулируется видимость в настройках компоновки.
"Ограничение доступности" - закладка параметры
"Включать в доступные поля" - остальные закладки: поля, отбор, сортировка.
miha0713; +1 Ответить
20. miha0713 02.06.20 22:27 Сейчас в теме
(19) Спасибо! Разобрался. Но сортировка минус. В сортировке нет параметров в списке доступных полей
Оставьте свое сообщение

См. также

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

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

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

22.04.2020    3341    23    infostart    2    

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

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

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

27.01.2020    15458    0    ids79    26    

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

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

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

15.01.2020    15926    0    John_d    22    

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

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

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

01.10.2019    25676    0    Yashazz    45    

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

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

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

10.12.2016    34317    0    unichkin    45    

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

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

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

25.09.2019    16154    0    YPermitin    33    

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

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

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

18.09.2019    16669    0    YPermitin    34    

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

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

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

06.09.2019    35253    0    rpgshnik    62    

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

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

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

15.10.2018    26344    0    tormozit    100    

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

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

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

05.09.2019    37416    0    ids79    52    

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

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

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

05.09.2019    21928    0    YPermitin    24    

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

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

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

03.09.2019    21963    0    YPermitin    80    

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

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

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

20.09.2012    73841    0    tormozit    129    

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

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

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

22.08.2019    10639    0    ildarovich    19    

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

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

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

17.08.2019    25914    0    ids79    16    

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

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

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

08.08.2019    57004    0    ids79    37    

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

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

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

11.07.2007    44890    0    tormozit    38    

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

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

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

02.08.2019    26667    0    avalakh    21    

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

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

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

26.07.2019    43194    0    ids79    11    

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

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

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

25.07.2019    36312    4    AlbinaAAA    25    

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

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

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

10.09.2017    40719    0    tormozit    72    

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

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

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

17.07.2019    28826    0    ids79    27    

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

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

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

09.07.2019    20198    0    ids79    2    

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

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

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

04.07.2019    16574    0    SeiOkami    50    

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

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

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

25.04.2019    14260    0    m-rv    2    

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

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

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

02.07.2019    34439    0    ids79    10    

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

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

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

11.06.2019    21552    0    dmurk    144    

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

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

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

16.05.2019    35619    0    YPermitin    30    

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

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

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

16.04.2019    17847    0    m-rv    17    

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

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

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

11.05.2019    24418    0    Eret1k    23    

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

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

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

07.04.2019    29610    0    ellavs    126    

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

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

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

28.03.2019    23644    0    ellavs    88    

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

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

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

01.06.2018    27530    0    m-rv    21    

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

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

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

14.03.2019    26682    0    YPermitin    53    

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

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

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

07.03.2019    45417    0    ids79    45    

Функциональные опции 1С 8.3 – все возможные варианты использования

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

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

22.02.2019    29157    0    ids79    6    

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

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

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

05.12.2017    25813    0    itriot11    34    

Информирование пользователя. Работа с объектом «СообщениеПользователю»

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

Различные варианты и нюансы использования объекта СообщениеПользователю и другие способы информирования пользователя: без привязки к какой-либо форме и с выводом сообщения в отдельном окне.

15.02.2019    39225    0    ids79    47    

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

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

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

03.02.2019    31744    0    ids79    9    

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

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

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

27.01.2016    71315    0    Serginio    108    

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

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

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

14.12.2018    35321    0    ids79    72    

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

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

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

03.09.2018    24104    0    nikita0832    42    

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

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

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

03.09.2018    41660    0    SergeyN    26    

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

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

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

10.11.2018    30783    0    ids79    40    

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

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

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

23.08.2018    35024    0    Rain88    46    

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

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

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

25.06.2018    26241    0    olegtymko    47    

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

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

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

04.06.2018    34377    0    xrrg    82    

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

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

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

25.07.2018    26367    0    grumagargler    26    

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

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

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

23.05.2018    22936    0    slozhenikin_com    20    

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

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

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

13.05.2018    17068    0    Rustig    9    

[ВсеПросто] "Оперативный" информатор из 1С за 5 мин.

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

Быть всегда в курсе дел, даже в дороге!

22.02.2018    25382    0    DarkAn    25    

Минимализмы 3

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

Очередная серия "минимализмов" [http://infostart.ru/public/306536/, https://infostart.ru/public/460935/]. Также, как и в предыдущих статьях, здесь приведена подборка коротких оригинальных авторских решений некоторых задач. Ранее эти решения были разбросаны по моим комментариям к чужим публикациям.

19.02.2018    43973    0    ildarovich    45