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

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

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

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

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

Система компоновки данных – СКД это стандарт разработки любых отчетов в типовых конфигурациях 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. Основные принципы работы с режимами автоматических и управляемых блокировок. Варианты контроля остатков. Разделение итогов. 

 

210

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

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

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

Исправьте, пожалуйста, грамматическую ошибку. В выделенном тексте особенно в глаза бросается.
16. Casey1984 3 13.09.19 14:05 Сейчас в теме
Шикарно, да ещё и с примерами! Не каждый день нужны все возможности СКД, но знать их обязательно ;-)
17. user1194102 22.10.19 13:29 Сейчас в теме
Вы один в один переписали Курс обучения от 1С? Надо было приписку сделать, тогда было бы честно. Или по Вашей статье курсы преподают? Но там больше разделов)
Оставьте свое сообщение

См. также

Полезные процедуры и функции для программиста 145

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

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

07.10.2019    9745    HostHost    23       

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

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

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

25.09.2019    6106    YPermitin    24       

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

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

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

18.09.2019    8458    YPermitin    31       

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

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

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

05.09.2019    13927    ids79    44       

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

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

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

17.08.2019    11236    ids79    16       

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

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

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

08.08.2019    15409    ids79    30       

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

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

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

26.07.2019    13871    ids79    6       

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

Статья Программист Нет файла v8 Бесплатно (free) Математика и алгоритмы

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

25.07.2019    13509    4    AlbinaAAA    23       

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

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

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

17.07.2019    12077    ids79    27       

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

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

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

09.07.2019    8170    ids79    0       

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

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

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

04.07.2019    8424    SeiOkami    49       

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

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

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

02.07.2019    13666    ids79    8       

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

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

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

11.06.2019    13013    dmurk    134       

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

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

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

16.05.2019    19756    YPermitin    27       

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

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

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

11.05.2019    11772    Eret1k    23       

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

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

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

25.04.2019    6537    m-rv    2       

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

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

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

16.04.2019    9187    m-rv    16       

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

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

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

07.04.2019    18177    ellavs    125       

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

Статья Программист Стажер Нет файла v8 Windows Бесплатно (free) Практика программирования Разработка

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

28.03.2019    14370    ellavs    83       

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

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

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

14.03.2019    14844    YPermitin    52       

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

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

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

07.03.2019    26981    ids79    33       

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

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

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

22.02.2019    18159    ids79    5       

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

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

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

15.02.2019    19822    ids79    38       

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

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

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

03.02.2019    17954    ids79    9       

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

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

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

14.12.2018    23700    ids79    72       

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

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

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

10.11.2018    22687    ids79    40       

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

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

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

15.10.2018    21783    tormozit    100       

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

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

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

03.09.2018    16124    nikita0832    42       

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

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

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

03.09.2018    33116    SergeyN    26       

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

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

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

23.08.2018    23408    Rain88    42       

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

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

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

25.06.2018    20597    olegtymko    47       

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

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

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

04.06.2018    26007    xrrg    82       

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

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

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

01.06.2018    22499    m-rv    21       

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

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

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

23.05.2018    18285    slozhenikin_com    20       

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

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

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

13.05.2018    12312    Rustig    9       

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

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

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

19.02.2018    37599    ildarovich    44       

Этюды по программированию. Взаимодействие с Microsoft Word 109

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

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

11.12.2017    26842    milkers    23       

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

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

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

05.12.2017    22205    itriot11    34       

1С: Конвертация данных 3. Инструкции и примеры. EnterpriseData (универсальный формат обмена) 738

Статья Программист Нет файла v8 КД Бесплатно (free) Перенос данных из 1C8 в 1C8 Практика программирования Обмен через XML

Что такое КД3? Как начать использовать? Полезные дополнения к документации. Что нужно исправить в типовых обработках и конфигурации. Как изменить правила обмена не снимая конфигурацию с поддержки. Как отлаживать правила обмена?

19.11.2017    144069    MaxS    251       

Программные перечисления, ч.2: приемы кэширования при разработке 67

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

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

30.10.2017    22431    unichkin    18       

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

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

Краткая шпаргалка по программной работе с настройками СКД

29.10.2017    25529    json    9       

Работа с Excel 299

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Загрузка и выгрузка в Excel

Собрал различные полезности для работы с Excel из 1С. Иногда приходится форматировать документ Excel программно из 1С. Так вот, чтобы не искать постоянно на просторах интернета как сделать левое выравнивание в ячейке Excel из 1С и т.п. решил опубликовать это...

23.10.2017    27773    arakelyan    39       

Добавление команд печати в конфигурациях на БСП 2.4.3 (в частности, в самописных документах в Бухгалтерии 3.0 после релиза 3.0.52.35) 145

Статья Программист Нет файла v8 v8::БУ БП3.0 Россия Бесплатно (free) Печатные формы документов Практика программирования БСП (Библиотека стандартных подсистем)

В статье https://infostart.ru/public/237013/ пользователя nick max рассматривался список действий для подключения команд печати в Бухгалтерии 3.0, работающей на БСП 2.3.6. В новом релизе Бухгалтерии 3.0.52.35 от 15.09.2017г. стала использоваться БСП 2.4.3, из-за чего произошли изменения в процедурах общих модулей, связанных с механизмом печати, и в процедурах их вызова в формах документов и в формах списков. Рассмотрим их.

18.09.2017    49450    bugtester    44       

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

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

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

10.09.2017    35424    tormozit    72