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

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

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

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

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

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

 

189

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

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

Это точно!
5. kredko 19 26.06.19 04:07 Сейчас в теме
Хотелось бы узнать: как СКД формирует дерево значений? Например, как форма структуры подчиненности, которая строится на основании реквизита "ДокументОснование".
9. ids79 4066 26.06.19 10:28 Сейчас в теме
(5)Используя иерархическую группировку, например.
Можно создать собственную иерархию или иерархический вывод детальных записей.
Я буду писать об этом в следующих статьях, не пропустите...
6. HAMMER_59 186 26.06.19 09:36 Сейчас в теме
Есть такое мнение - что в нормальном тексте 70% слов не несут смысловой нагрузки, но это вовсе не означает, что эти 70% лишние, без них текст становится тяжелым для восприятия.
Статья компактная, сжатая, много информации - читать крайне тяжело.
7. ids79 4066 26.06.19 10:22 Сейчас в теме
(6)Согласен с Вами.
Это в некотором роде - методическое пособие.
Основное назначение материала - быстрый поиск нужной информации.
Делал для себя, чтобы лучше заполнить, и, если что, быстро вспомнить.
У меня в планах выложить несколько статей именно такого характера, чтобы кратко охватить как можно больше материала. А потом уже углубляться в детали, с примерами и т. п.
12. тшл 6 26.06.19 18:02 Сейчас в теме
(7)Добрый день.Когда ждать продолжения?
14. ids79 4066 26.06.19 18:31 Сейчас в теме
(12)В течение недели, надеюсь
10. leosoft 142 26.06.19 10:57 Сейчас в теме
Интересна также информация о применении СКД не для отчетов, а в обработках и т.п.
13. ids79 4066 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 Сейчас в теме
Шикарно, да ещё и с примерами! Не каждый день нужны все возможности СКД, но знать их обязательно ;-)
Оставьте свое сообщение

См. также

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

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

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

25.09.2019    4375    YPermitin    24       

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

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

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

18.09.2019    6644    YPermitin    31       

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

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

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

05.09.2019    9491    ids79    42       

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

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

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

17.08.2019    7904    ids79    14       

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

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

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

08.08.2019    9849    ids79    22       

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

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

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

25.07.2019    10087    4    AlbinaAAA    22       

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

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

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

17.07.2019    8371    ids79    24       

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

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

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

04.07.2019    6106    SeiOkami    48       

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

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

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

02.07.2019    9182    ids79    8       

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

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

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

11.06.2019    11305    dmurk    134       

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

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

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

16.05.2019    16952    YPermitin    27       

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

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

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

11.05.2019    9584    Eret1k    22       

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

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

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

25.04.2019    4681    m-rv    2       

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

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

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

16.04.2019    7190    m-rv    16       

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

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

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

07.04.2019    16110    ellavs    122       

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

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

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

28.03.2019    12528    ellavs    83       

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

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

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

14.03.2019    12633    YPermitin    52       

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

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

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

07.03.2019    22778    ids79    32       

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

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

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

03.02.2019    15156    ids79    9       

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

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

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

14.12.2018    21068    ids79    72       

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

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

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

13.11.2018    19229    Unk92    18       

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

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

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

10.11.2018    20616    ids79    40       

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

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

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

15.10.2018    20275    tormozit    100       

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

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

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

03.09.2018    14421    nikita0832    41       

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

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

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

03.09.2018    30731    SergeyN    25       

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

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

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

23.08.2018    20948    Rain88    42       

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

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

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

25.06.2018    19143    olegtymko    43       

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

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

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

04.06.2018    24139    xrrg    82       

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

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

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

01.06.2018    21046    m-rv    21       

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

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

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

23.05.2018    16816    slozhenikin_com    19       

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

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

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

13.05.2018    11219    Rustig    9       

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

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

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

19.02.2018    35316    ildarovich    44       

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

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

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

11.12.2017    25704    milkers    23       

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

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

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

05.12.2017    21192    itriot11    34       

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

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

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

19.11.2017    136670    MaxS    251       

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

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

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

30.10.2017    20928    unichkin    17       

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

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

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

29.10.2017    23881    json    9       

Работа с Excel 287

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

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

23.10.2017    24345    arakelyan    39       

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

Статья Программист Нет файла 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    46398    bugtester    43       

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

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

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

10.09.2017    34061    tormozit    72       

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

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

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

04.09.2017    42922    m-rv    60       

Как просто запомнить алгоритм программного вывода в СКД 205

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

Порой нужно быстро вывести на экран таблицу значений, используя СКД \ получить данные отчета в таблицу значений.. Несмотря на очевидность алгоритма - раньше мне проще было загуглить программный вывод, благо эта инфа есть везде. Но постепенно понял как его можно быстро вспомнить, и лишний раз ничего не искать. Конечно эта статья не для Гуру :) Но я думаю - что любой неопытный в СКД программист сделает для себя небольшое открытие...

01.09.2017    41353    unichkin    15       

Как формируется GUID? 461

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

"Коллеги, есть идеи, как получить последнюю созданную характеристику? Реквизиты полностью идентичны(код, наименование, и т.п.)."(c) "Насколько я знаю, ссылка не обеспечивает последовательность, а только уникальность."(c) "Я сделал по Максимум(Ссылка). Но, чета, мне кажется, это неправильно."(c) "Слышал что в ГУИд содержится как раз время создания и по всей логике вещей сортировка по ссылке должна сортировать по моменту создания объекта"(c) Сколько раз вы слышали такие фразы? На удивление я не обнаружил информации по этой теме, пришлось разбираться самому...

16.06.2017    51958    kuzyara    55       

Сравнение двух объектов одной конфигурации, без танцев с бубнами - в пару кликов 161

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

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

23.05.2017    16153    Chrizt    34