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

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

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

Наборы данных соединения наборов собственная иерархия использование вложенных схем

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

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

До сих пор, мы рассматривали схему компоновки с одним единственны набором данных «Запрос». Это самый распространенный вариант применения СКД. Однако, система позволяет создавать наборы данных других типов. А также создавать несколько наборов данных. Все эти действия выполняются на закладке «Наборы данных» конструктора схемы компоновки:

Закладка "Наборы данных"

Оглавление

  1. Типы наборов данных СКД
  1. Связи наборов данных
  1. Иерархия в отчетах на СКД
  1. Вложенные отчеты на СКД

 

Типы наборов данных СКД

Рассмотрим, какие типы наборов данных можно создать в схеме компоновки данных:

  • Набор данных запрос – произвольный запрос к базе данных (самый распространенный вариант),
  • Набор данных объект – произвольный, внешний набор данных (например таблица значений),
  • Набор данных объединение – объединение нескольких наборов данных в один результирующий.

Набор данных объект

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

Настройка набора данных Объект

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

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

  • Таблица значений,
  • Выборка из результата запроса,
  • Область ячеек табличного документа,
  • Набор записей регистров,
  • Любой объект конфигурации или его табличная часть.

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

ТЗ = новый ТаблицаЗначений;
…
ВнешниеНаборы = новый Структура;
ВнешниеНаборы.Вставить("ИмяНабораДанных", ТЗ);
ПроцессорКомпоновки = новый ПроцессорКомпоновкиДанных();
ПроцессорКомпановки.Инициализировать(МакетКомпоновки, ВнешниеНаборы); 

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

Набор данных объединение

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

Может быть построена разветвленная структура объединений наборов данных. Отдельные наборы можно перетаскивать мышкой по структуре.

Существует ограничение: подчиненные наборы могут быть только у наборов данных объединение.

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

Доступные реквизиты у подчиненного набора

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

  • Автозаголовок,
  • Роль,
  • Выражения представления и упорядочивания,
  • Проверка иерархии,
  • Оформление,
  • Параметры редактирования.

 

Связи наборов данных

Раз уж можно создавать несколько наборов данных, необходимо их как-то связывать между собой. Существует два способа связи наборов данных: объединение и соединение.

Связь - объединение

Объединение выполняется с помощью отдельного набора данных «Набор данных объединение», который описан выше.

У объединения наборов данных есть существенное отличие от объединения двух отдельных таблиц в запросе: количество выходных полей у объединяемых наборов может отличаться.

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

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

Из выше сказанного можно сделать вывод, не должно быть четкого соответствия между количеством и последовательностью полей объединяемых наборов. Но, если нам нужно, чтобы какие-либо значения из двух наборов объединились в одну колонку, это также возможно, путем указанием одного и того же реквизита «Путь».

Связь - соединение

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

Связи наборов данных

Соединение двух наборов выполняется по аналогии с соединением таблиц в запросе. На закладке «Связи наборов данных», по аналогии с конструктором запросов можно выбрать наборы данных и поля наборов (выражения), по которым необходимо выполнить соединение.

Важно:

  • Вид соединения по умолчанию всегда «ЛЕВОЕ ВНЕШНЕЕ». Источником связи выступает основной набор данных, приемником связи – подчиненный.
  • Выполнять соединение можно только для наборов данных верхнего уровня. То-есть, наборы данных, которые входят в наборы «Объединения» соединять нельзя. 

Передача параметров в подчиненные наборы

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

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

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

Параметры указываются на закладке «Связи наборов данных», для каждой связующей пары:

Передача параметров в подчиненный набор данных

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

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

Дополнительные настройки связи наборов данных

Условие связи – поле, в котором можно задать произвольное выражение. Связь будет выполняться только в том случае, если значение выражения будет «Истина».

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

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

Некоторые особенности соединения наборов данных

Группировка данных при объединении наборов

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

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

 
 Пример расчета итогов при соединении двух наборов

 

Оптимизация итоговых запросов макета

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

Использование не связанных наборов данных

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

Отбор по полю подчиненного набора

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

 

Иерархия в отчетах на СКД

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

Если в настройках используется иерархия, система компоновки создаст «не явно» дополнительный набор данных с запросом к таблице объекта, для которого будет строиться иерархия и две дополнительные связи:

  • Первая – с основным набором данных,
  • Вторая – с самим собой.

Это позволит системе компоновки «достроить» элементы иерархии.

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

Допустим, у нас есть простой набор данных «ПродажиТоваров», который содержит следующий запрос к базе данных:

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

В отчете необходимо вывести иерархию по полю «Товар».

В макете компоновки будет создан дополнительный набор данных с запросом такого вида:

ВЫБРАТЬ            
   Товары.Ссылка КАК Ссылка,            
   Товары.Представление КАК СсылкаПредставление,            
   Товары.Родитель КАК Родитель,            
   Товары.Наименование КАК СсылкаНаименование
ИЗ            
   Справочник.Товары КАК Товары
ГДЕ            
   Товары.Ссылка В (&Ссылки)

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

<dataSetLink>
    <sourceDataSet>ПродажиТоваров</sourceDataSet>
    <destinationDataSet>ТоварИерархия</destinationDataSet>                        
    <sourceExpression>ПродажиТоваров.Товар</sourceExpression>                        
    <destinationExpression>ТоварИерархия.Товар</destinationExpression>                       
    <parameter>Ссылки</parameter>                        
    <parameterListAllowed>true</parameterListAllowed>           
</dataSetLink>           
<dataSetLink>                        
    <sourceDataSet>ТоварИерархия</sourceDataSet>                        
    <destinationDataSet>ТоварИерархия</destinationDataSet>                        
    <sourceExpression>ТоварИерархия.Родитель</sourceExpression>                        
    <destinationExpression>ТоварИерархия.Товар</destinationExpression>                        
    <parameter>Ссылки</parameter>                        
    <parameterListAllowed>true</parameterListAllowed>            
</dataSetLink> 

Первая связь соединяет наш набор данных «ПродажиТоваров» с набором, созданным СКД «ТоварИерархия» по полю «Товар». Причем в связи используется параметр «Ссылки».

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

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

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

На заметку. При автоматическом построении иерархии, система дублирует групповое поле на более низком уровне. То-есть, если у нас есть группа «Продукты», в которую входят: «Молоко» и «Хлеб», в отчете в группу «Продукты» будут входить три элемента: «Молоко», «Хлеб», «Продукты». Это не корректно. Происходит это из-за того, что система компоновки достраивает иерархические записи к тем, что уже есть в выборке. Если справочник имеет иерархию групп, для решения проблемы проще всего добавить отбор для выводимых записей:

ЭтоГруппа = Ложь;

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

 
 Пример создания собственной иерархии

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

Для этого создадим два набора данных: «Заказы» и «Иерархия». Запросы наборов приведены ниже:

ВЫБРАТЬ            
   Заказ.Ссылка КАК Ссылка,            
   Заказ.Склад КАК Склад,            
   Заказ.Автор КАК Автор
ИЗ            
   Документ.Заказ КАК Заказ
ВЫБРАТЬ            
   Пользователи.Ссылка КАК Автор,            
   Пользователи.Руководитель КАК Руководитель
ИЗ            
   Справочник.Пользователи КАК Пользователи
ГДЕ            
   Пользователи.Ссылка В(&Ссылки)

Создадим две связи для созданных наборов:

Связи наборов данных в собственной иерархии

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

  • Первая группировка по полю «Автор» - иерархическая,
  • Вторая группировка – детальные записи.

Выведем для отчета два поля: «Склад» и «Ссылка».

Сформированный отчет будет отображать созданную нами иерархию по полю «Автор»:

Собственная иерархия по полю "Автор"

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

 

Проблема с иерархическим отбором в собственной иерархии

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

Чтобы решить данную проблему, необходимо создать дополнительной набор данных для проверки иерархии. Набор для проверки должен быть противоположным набору для построения иерархии.

Поясню подробнее.

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

ВЫБРАТЬ            
   Пользователи.Ссылка КАК Ссылка,            
   Пользователи.Руководитель КАК Руководитель
ИЗ            
   Справочник.Пользователи КАК Пользователи
ГДЕ            
   Пользователи.Руководитель В(&Руководители)

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

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

Настройка проверки иерархии

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

Иерархические детальные записи

Помимо выше описанной иерархии, СКД позволяет выводить иерархию детальных записей.

Что это такое?

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

Рассмотрим это на примере.

Возьмем запрос из выше описанного примера, только параметр наложим на поле «Родитель» (как было сделано для проверки иерархии):

ВЫБРАТЬ            
   Пользователи.Ссылка КАК Ссылка,            
   Пользователи.Руководитель КАК Руководитель
ИЗ            
   Справочник.Пользователи КАК Пользователи
ГДЕ            
   Пользователи.Руководитель В(&Руководители)

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

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

 Начальное заполнение связи 

 

Вложенные отчеты на СКД

Тема не большая, и рассматривать ее отдельно нет смысла. По этому, быстренько пробегусь по ней в данной статье.

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

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

Добавление вложенных схем

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

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

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

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

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

Можно установить значения параметров вложенной схемы компоновки или связать их с параметрами текущей схемы. Если вложенный отчет еще не включен в структуру основного отчета, действия также можно выполнить в настройках вложенной схем. Для установки связи нужно указать параметр основной компоновки из группы «ОбъектНастройкиВладелец»:

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

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

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

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

На этом все, в следующих статьях рассмотрены следующие темы:

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

Спасибо за внимание. 

143

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

Комментарии
Избранное Подписка Сортировка: Древо
2. Reznik_Nikolay 26.07.19 22:28 Сейчас в теме
Эх, крутая статья. Раньше бы такое прочитать, сам 2-3 дня назад раскурил, как из внешнего набора данных красиво собрать свою иерархию.

Но всё равно спасибо.
3. ids79 4453 27.07.19 07:42 Сейчас в теме
4. bulpi 158 10.08.19 15:32 Сейчас в теме
Автор, Вам бы внимательно вычитать статьи. Очень полезны, но, когда внимательно читаешь, видны мелкие описки и недочеты.
5. ids79 4453 10.08.19 18:54 Сейчас в теме
(4)Да, грешу этим. Воде стараюсь проверять, но наверно не все замечаю. Глаз замыливается. Если что видите, пишите, исправлю.
6. bulpi 158 11.08.19 10:55 Сейчас в теме
(5)
1)ТаблицаЗнаений

2)<destinationExpression>ТоварИерархия.Товар</destinationExpression>

По идее, должно быть ТоварИерархия.Ссылка
7. ids79 4453 11.08.19 12:52 Сейчас в теме
1. Исправил, спасибо.
2. Нет, как раз ТоварИерархия.Товар.
Попробуйте создать запрос в консоле компоновки. В запросе "Ссылка", а путь для этого поля - "Товар". Он должен соответствовать имени в основном наборе.
r.zdorkin; +1 Ответить
9. vugluscr1991 12 02.12.19 20:52 Сейчас в теме
(7) 2. Может тогда в запросе
Товары.Ссылка КАК Товар,

Не?
8. user1216930 21.11.19 20:05 Сейчас в теме
Оставьте свое сообщение

См. также

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

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

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

08.10.2019    6260    ids79    23       

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

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

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

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

07.10.2019    12499    HostHost    23       

Базовый курс для начинающих 1С-программистов. Пятый поток. Онлайн-курс с 12 февраля по 15 апреля 2020 г. Промо

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

4500/9500 рублей

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

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

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

25.09.2019    7221    YPermitin    26       

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

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

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

18.09.2019    9342    YPermitin    31       

Перенос документов, остатков и справочников КА 1.1 => КА 2 / УТ 11. Обновлено до КА 2.4.10.х и УТ 11.4.10.х! Промо

Более 130 компаний выполнили переход на КА 2 или УТ 11 с помощью нашей разработки! Позволяет перенести не только остатки и справочники (как типовая обработка), но и документы за нужный период времени. Предоставляем техподдержку, оперативно исправляем замечания, выпускаем обновления при выходе новых релизов программ 1С. Вы можете проверить разработку до покупки: сделаем бесплатный тестовый перенос из вашей базы КА 1.1 и предоставим доступ к базе-результату через веб-клиент!

29700 руб.

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

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

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

05.09.2019    16484    ids79    44       

С 2020 года сервис «Продление поддержки конфигурации 1С:УПП» подорожает вдвое Промо

Успейте продлить поддержку УПП до повышения цен! Фирма «1С» предупредила об изменении цен на сервис «Продление поддержки конфигурации "1С:Управление производственным предприятием"». С 1 января 2020 года сервис подорожает в два раза.

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

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

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

03.09.2019    11036    YPermitin    69       

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

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

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

17.08.2019    13553    ids79    16       

Базовый курс по разработке мобильных 1C-приложений для Android-устройств. Третий поток. Онлайн-интенсив с 11 февраля по 05 марта 2020 г. Промо

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

7500 рублей

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

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

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

08.08.2019    19470    ids79    31       

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

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

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

02.08.2019    13151    avalakh    21       

Перенос данных УПП 1.3 => ERP 2 (ЕРП) / УТ 11 / КА 2.х (обработка переноса документов, остатков и справочников из "1С:Управление производственным предприятием, ред. 1.3" в ERP / УТ 11 / КА 2). Обновлен до УПП 1.3.127.х, КА 2.4.10.х и ERP 2.4.10.х! Промо

Обработка позволяет переносить из УПП 1.3 в ERP 2 документы за выбранный период и остатки. Типовая обработка от фирмы 1С документы не переносит. Также исправлены ошибки типовой обработки. При выходе новых релизов обновление высылается бесплатно в течение года. Разработка будет полезна фирмам-франчайзи, которые периодически выполняют такой перенос данных для заказчиков. Вы можете один раз приобрести обработку переноса, и потом бесплатно получать обновления при выходе новых релизов конфигураций 1С.

29700 руб.

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

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

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

17.07.2019    14155    ids79    27       

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

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

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

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

09.07.2019    11337    YPermitin    12       

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

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

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

09.07.2019    9370    ids79    0       

Новый раздел на Инфостарте - Electronic Software Distribution Промо

Инфостарт напоминает: на нашем сайте можно купить не только ПО, связанное с 1С. В нашем арсенале – ESD-лицензии на ПО от ведущих вендоров: Microsoft, Kaspersky, ESET, Dr.Web, Аскон и другие.

  • Низкие цены, без скрытых платежей и наценок
  • Оперативная отгрузка
  • Возможность оплаты с личного счета (кешбек, обмен стартмани на рубли и т.п.)
  • Покупки идут в накопления для получения скидочных карт лояльности Silver (5%) и Gold (10%)

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

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

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

04.07.2019    10126    SeiOkami    49       

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

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

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

02.07.2019    16044    ids79    8       

Перенос данных КА 1.1 => ERP 2 (ЕРП) (обработка переноса документов, остатков и справочной информации из "1С:Комплексная автоматизация, ред. 1.1" в "1С:ERP Управление предприятием, ред 2"). Обновлен до КА 1.1.115.х и ERP 2.4.10.х Промо

Обработка позволяет переносить из КА 1.1 в ERP 2 документы за выбранный период и остатки. Типовая обработка от фирмы 1С документы не переносит. Также исправлены ошибки типовой обработки. При выходе новых релизов обновление высылается бесплатно в течение года. Разработка будет полезна фирмам-франчайзи, которые периодически выполняют такой перенос данных для заказчиков. Вы можете один раз приобрести обработку переноса, и потом бесплатно получать обновления в случае выхода новых релизов конфигураций 1С.

29700 руб.

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

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

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

25.06.2019    24495    ids79    17       

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

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

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

11.06.2019    13894    dmurk    134       

Онлайн-курс "Технология выполнения проектов ERP-класса – процессный подход". Третий поток. Курс проходит с 21 января по 18 марта 2020 года. Промо

Курс разработан Внедренческим центром «Раздолье». Курс предназначен для подготовки аналитиков, архитекторов и руководителей проектов автоматизации процессов управления с использованием комплексных ИТ-систем (1С:ERP, 1С:УХ, 1С:КА, 1С:УТ). В основе курса лежит методика применения процессного подхода.

9000 рублей

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

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

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

16.05.2019    21994    YPermitin    27       

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

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

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

11.05.2019    13852    Eret1k    23       

1C:Предприятие для программистов: Запросы и отчеты. Второй поток. Онлайн-интенсив с 17 марта по 16 апреля 2020 г. Промо

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

6500 рублей

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

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

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

25.04.2019    7966    m-rv    2       

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

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

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

16.04.2019    10516    m-rv    16       

Очный семинар по регулярному менеджменту Александра Фридмана "Вы или Хаос", 12 декабря 2019 г. , Санкт-Петербург Промо

Семинар по регулярному менеджменту от Александра Фридмана для собственников, первых лиц и топов. Технология управленческого планирования, комплексного управления временем и другими ресурсами, выполнением поручений, делами, информацией, контактами (встречи-звонки-почта).

от 11000 до 29000 рублей

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

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

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

07.04.2019    19212    ellavs    125       

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

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

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

28.03.2019    15726    ellavs    83