Немного про СКД. Характеристики и проверка пустого отчета

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

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

Пример использования характеристик в СКД и программная работа с ними. А также описание проверки результата отчета на заполненность.

Совместим несовместимое

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

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

Все не просто, а очень просто! Поехали!

Отчет пустой?

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

Результат проверки отчета на заполненнось

Отчет формирует все возможные комбинации 6 цифр, диапазон, который указывается в шапке. При оказании диапазона от 1 до 3 отчет показывает сформированные комбинации, если же указать диапазон от 1 до 0, то отчет будет пустым, т.к. такой диапазон ошибочный.

 
 Что там за запрос в отчете

При этом в шапке отчета изменяется значение поля "Отчет пустой".

Реализация проверки

Как уже говорилось выше, отчет построен на базе СКД. В модуле объекта отчета используется событие "ПриКомпоновкеРезультата", в котором программно формируется результат отчета. Листинг события приведен ниже:

 
 Алгоритм проверки

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

Добавлять в отчет реквизит "ОтчетПустой" не обязательно. Здесь это сделано лишь для примера. Использовать этот подход можно практически для любого отчета на СКД.

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

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

Процедура РассылкаОтчета()
	
	ТабДок = Новый ТабличныйДокумент;
	ОтчетДляРассылки = Отчеты.ПроверкаОтчетаНаЗаполненность.Создать();
	ОтчетДляРассылки.СкомпоноватьРезультат(ТабДок);
	
	ОтчетПустой = Истина;
	Если ОтчетДляРассылки.КомпоновщикНастроек.Настройки.ДополнительныеСвойства.Свойство("ОтчетПустой", ОтчетПустой)
		И ОтчетПустой = Ложь Тогда
		ОтвправитьТабличныйДокументПоПочте(ТабДок);	
	КонецЕсли;	
	
КонецПроцедуры

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

Листинг процедуры отправки на электронную почту выкладывать не вижу смысла. Проблем с отправкой быть не должно, ведь все уже есть в БСП (или на крайний случай в синтаксис-помощнике).

Все очень просто

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

// Проверьте, есть ли такая функция в Вашей конфигурации.
Пустой = ОтчетыСервер.ОтчетПустой(ОтчетОбъект);

Используйте БСП, живите правильно! :)

Особенность использования механизма характеристик

Механизм характеристик СКД был отлично описан Дмитрием Ивановым в статье "СКД - использование расширений языка запросов, секция ХАРАКТЕРИСТИКИ", поэтому для полноты информации рекомендую сходить по этой ссылке. Сегодня же мы рассмотрим простейший пример работы с ними, а также некоторые особенности программной работы.

Что у нас есть?

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

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

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

Создаем отчет и настраиваем характеристики

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

ТекстЗапроса = 
"ВЫБРАТЬ
|	Организации.Ссылка КАК Организация,
|	Организации.ИНН,
|	Организации.КПП
|ИЗ	Справочник.Организации КАК Организации";

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

На скриншоте ниже представлен вывод отчета с текущими настройками.

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

  1. План видов характеристик "СвойстваОбъектов".
  2. Регистр сведений "ЗначенияСвойствОбъектов".

Графически связь между объектом информационной базы и его характеристиками можно изобразить по такой схеме:

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

Теперь перейдем к настройке характеристик в схеме компоновки данных. Для этого запустим конструктор запроса и перейдем на вкладку "Характеристики". Здесь нужно добавить поле связи объекта информационной базы с таблицами свойств и значений свойств. Ранее мы рассматривали схему связи между объектами конфигурации для хранения доп. свойств/характеристик. В соответствии с этой информацией настройка будет следующей:

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

"ВЫБРАТЬ
|	Организации.Ссылка КАК Организация,
|	Организации.ИНН,
|	Организации.КПП
|ИЗ
|	Справочник.Организации КАК Организации
| // Доп. инструкции для получения характеристик
|{ХАРАКТЕРИСТИКИ
|	ТИП(Справочник.Организации)
|	ВИДЫХАРАКТЕРИСТИК ПланВидовХарактеристик.СвойстваОбъектов
|	ПОЛЕКЛЮЧА Ссылка
|	ПОЛЕИМЕНИ Наименование
|	ПОЛЕТИПАЗНАЧЕНИЯ ТипЗначения
|	ЗНАЧЕНИЯХАРАКТЕРИСТИК РегистрСведений.ЗначенияСвойствОбъектов
|	ПОЛЕОБЪЕКТА Объект
|	ПОЛЕВИДА Свойство
|	ПОЛЕЗНАЧЕНИЯ Значение }"

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

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

Программная работа с характеристиками

При открытии формы отчета выполним следующим программный код:

	ТекущиеНастройки = КомпоновщикНастроек.Настройки;
	КоллекцияОтборов = ТекущиеНастройки.Отбор.Элементы;

	// Добавляем отбор по доп. реквизиту номенклатуры "Основной склад" 
	НовЭл = КоллекцияОтборов.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	НовЭл.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
	НовЭл.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Организация.[Основной склад]");
	НовЭл.Использование = Ложь;
	
	// Добавляем отбор по доп. реквизиту номенклатуры "Страна размещения"
	НовЭл = КоллекцияОтборов.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	НовЭл.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
	НовЭл.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Организация.[Страна размещения]");
	НовЭл.Использование = Ложь;
	
	// Добавляем отбор по доп. реквизиту номенклатуры "Связанный контрагент"
	НовЭл = КоллекцияОтборов.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	НовЭл.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
	НовЭл.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Организация.[Связанный контрагент]");
	НовЭл.Использование = Ложь;

Тогда если мы посмотрим в отбор отчета в режиме 1С:Предприятие, то увидим следующую картину:

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

Новый ПолеКомпоновкиДанных("Организация.[Связанный контрагент]"),

а именно на текст "[Связанный контрагент]". Если мы напишем вот так:

Новый ПолеКомпоновкиДанных("Организация.СвязанныйКонтрагент"),

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

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

Новый ПолеКомпоновкиДанных(".[]")

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

А Вы используете характеристики?

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

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

Продолжим позже

На этом все, спасибо что дочитали до конца! СКД наше все!

Другие ссылки

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. acanta 10.10.19 23:13 Сейчас в теме
Спасибо.
Имхо, 1с могли бы придумать более интересное применение для комбинаторики.
Например, размеры одежды-обуви по брендам.
Генерируем числа от 34 до 45 с интервалом в 0.5 и извлекаем из базы данных ОФД подстроки...
YPermitin; +1 Ответить
2. the1 868 11.10.19 06:28 Сейчас в теме
Тема конструктора характеристик совершенно не раскрыта, а ведь там всё очень не просто
YPermitin; +1 Ответить
3. YPermitin 10524 11.10.19 06:59 Сейчас в теме
(2) задачи такой не стояло. Пожтому я добавил ссылку на соседнюю статью про характеристики, там подробнее.
4. zqzq 21 11.10.19 08:38 Сейчас в теме
Программная работа с характеристиками: обычно в предприятии в конструкторе СКД (ИР) нужные характеристики "вытягиваю" (в отборы и т. д.), а потом через экспорт схемы в файл выгружаю в конфигуратор.
upd: заметил, что автор как раз об этом писал в середине статьи, ОК.
YPermitin; +1 Ответить
5. YPermitin 10524 11.10.19 08:39 Сейчас в теме
6. bulpi 184 11.10.19 14:15 Сейчас в теме
Не проще ли для оценки , пустой отчет или нет, выгружать результат компоновщиком в таблицу значений, и потом проверить Количество()>0
7. YPermitin 10524 11.10.19 14:27 Сейчас в теме
(6) если нужно отчет в табличный документ сформировать, то сначала придется в таблицу значений выгружать, а потом в таб. док. Ну то есть два раза отчет формировать.

Ну и выгружать в ТЖ тоже не хорошо. Если отчет 100 тыс. записей содержит, то память на сервере ради этого тратить не очень хорошо.
Оставьте свое сообщение

См. также

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

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

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

27.01.2016    79363    Serginio    113    

Формирование отчета СКД с расшифровкой из обработки

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

Формирование отчета СКД из обработки немного отличается от формирования из отчета.

27.04.2021    1979    John_d    14    

Нестандартное использование СКД

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

Программист 1С в компании «БКС-технологии» Алексей Шиянов в ходе Infostart Meetup Novosibirsk продемонстрировал необычный способ использования СКД и сравнил результаты заполнения движений документа через СКД с классическим подходом к заполнению движений через запросы и циклы.

14.04.2021    1750    user1127305    7    

Полезные примеры СКД, ч.2

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

Еще несколько примеров решения задач в СКД.

06.04.2021    3935    Neti    7    

Звуковое управление в 1С 8.3 Промо

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

В данной статье описано создание библиотеки для звукового управления (выполнение команд голосом) для платформы 1С 8.3. Задача была поставлена так, чтобы модуль функционировал непосредственно на клиенте 1С, осуществляя управление формами, и взаимодействовал с интерфейсом.

16.03.2021    3050    velemir    31    

Пример платежного календаря. СКД. Работает на любой платформе, без привязки к данным. Подробное описание действий

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

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

02.04.2021    714    parshachello    2    

Полезные примеры СКД, ч.1

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

Подборка видео по решению различных задач в отчетах на СКД.

30.03.2021    5859    Neti    18    

Обзор полезных методов БСП 3.1.4

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

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

25.03.2021    15524    rayastar    47    

Serverless (Faas) в 1С. Создание и вызов Yandex Cloud Functions Промо

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

"Я не могу просто взять и скопировать код с гитхаба", "у нас 1С микросервисами окружена", "возможностей мало" - частые фразы 1С разработчиков. которым не хватает возможностей платформы в современном мире. Faas, конечно, история не новая, но нас сдерживало 152ФЗ и задержки по пингам. Для того, чтобы действительно использовать в 1С код, к примеру, на Python, надо было приложить усилия. Теперь всё намного проще - берём и используем.

28.12.2020    5344    comol    31    

Сравнение данных с февралем високосного года (проблема 29 февраля)

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

Думаю, в практике многим приходится неоднократно сталкиваться с необходимостью разработки отчёта типа LFL (like for like), сравнивающего аналогичные периоды разных лет, например, текущего выбранного периода с аналогичным периодом прошлого года. В новых конфигурациях такой отчёт есть в составе конфигурации (см. "Сравнение продаж аналогичных периодов"), а в старых обычно приходится добавлять. Если не учесть нюанс сравнения с февралём високосного года, данные в отчёте за прошлый период могут быть некорректными.

02.03.2021    312    lolipoka    4    

Отбор на форму (документа, справочника, обработки) с помощью СКД

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

Добавляем удобный отбор на форму документа с помощью СКД

09.02.2021    4263    John_d    15    

Установка нескольких фильтров/отбора СКД в табличной форме, хранение в табличной части для отправки push/email уведомлений (ОтборКомпоновкиДанных, КомпоновщикНастроек, ДинамическийСписок)

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

Рассмотрим, как организовать установку фильтров/отбора СКД (динамического списка) на push/email уведомления в подсистеме EDIbot (WebApp) для 1С в табличной части "События уведомлений".

02.11.2020    1125    SizovE    0    

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

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

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

10.12.2016    39026    unichkin    74    

Вычислить РАЗНОСТЬДАТ в рабочих днях

Практика программирования БСП (Библиотека стандартных подсистем) v8::Запросы v8::СКД ERP2 БП3.0 УТ11 ЗУП3.x Бесплатно (free)

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

20.10.2020    3217    antonivan    17    

Базовые вещи БСП, которые облегчат жизнь программисту 1С

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

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

30.08.2020    13141    quazare    34    

Вывод дерева в табличный документ СКД

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

Вывод содержимого элемента формы "ДанныеФормыДерево" в табличный документ средствами СКД.

09.07.2020    3487    Yashazz    7    

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

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

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

15.10.2018    32852    tormozit    105    

Роль "Остатки" поля набора данных СКД в отчете и в расшифровке

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

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

24.05.2020    4697    kasper076    17    

Макет оформления в отчете с несколькими СКД

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

Как заставить работать макет оформления в отчёте с несколькими СКД.

14.05.2020    3534    vendim    1    

Форма выбора (подбор) в управляемых формах

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

Разбор небольших примеров того, как правильно открывать форму выбора (подбора) в управляемых формах, не прибегая к модальным окнам.

08.05.2020    44557    user5300    17    

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

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

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

20.09.2012    79892    tormozit    131    

СКД. Использование Менеджера временных таблиц в системе компоновки

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

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

29.04.2020    8698    the1    38    

Ограничения полей, или как обмануть СКД?

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

Каждое из ограничений полей можно обойти. Рассмотрим варианты обхода и способы обезопасить свой отчет.

15.04.2020    11866    SeiOkami    39    

Работа с запросами в 1С СКД. Отладка СКД

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

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

15.04.2020    4102    ProfessionStore    3    

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

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

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

11.07.2007    50874    tormozit    49    

Работа с запросами в 1С СКД. Особенности работы запросов в СКД. Часть 3

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

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

13.04.2020    7189    ProfessionStore    4    

СКД: Прозрачная обработка результата

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

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

13.04.2020    4777    starik-2005    16    

Работа с запросами в 1С СКД. Особенности работы запросов в СКД. Часть 2

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

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

12.04.2020    5744    ProfessionStore    11    

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

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

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

10.09.2017    47802    tormozit    74    

Работа с запросами в 1С СКД. Особенности работы запросов в СКД. Часть 1

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

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

11.04.2020    8536    ProfessionStore    9    

Работа с запросами в 1С СКД. Язык выражений СКД и подмена запросов

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

Хотя эта статья называется «Работа с запросами в 1С СКД», нельзя не упомянуть про язык выражений СКД. Да – у системы компоновки данных есть свой язык! Это не язык платформы 1С, это не язык запросов. Это еще один язык, который используется 1С в СКД для обработки полученного набора (ов) данных.

11.04.2020    7731    ProfessionStore    25    

Работа с запросами в 1С СКД. Примеры использования расширения языка запросов СКД

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

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

10.04.2020    7857    ProfessionStore    4    

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

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

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

25.04.2019    16690    m-rv    3    

Запросы 1С СКД. Возможности и ограничения

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

В этом цикле статей мы рассмотрим особенности работы системы компоновки данных с запросами в 1С.

10.04.2020    9716    ProfessionStore    14    

Вложенные СКД

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

Возможности, нюансы, заметки.

26.03.2020    7700    Yashazz    19    

СКД - одна из проблем связи Наборов данных

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

Официальная информация: 1. В схеме компоновки данных нет указания типа связи. Все связи считаются ЛЕВЫМИ внешними соединениями. 2. Если для вложенного набора данных указано условие фильтра, тогда связь вложенного набора данных с родительским набором данных считается ВНУТРЕННЕЙ. Или как получить все результаты основного набора при отборе в зависимом.

03.03.2020    6241    BelikovSA    10    

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

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

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

16.04.2019    21316    m-rv    17    

Получение значений всех полей в иерархии структуры отчета

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

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

28.02.2020    2364    real_MaxA    1    

Для чего нужен флаг "Автозаполнение" в СКД и каких проблем без него можно избежать

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

Речь пойдет о флаге «Автозаполнение» в наборе данных Запрос Системы компоновки данных (СКД). Сразу хочу отметить, что флаг «Автозаполнение» доступен только в наборе данных - Запрос.

26.02.2020    8234    Neti    41    

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

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

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

27.01.2020    45090    ids79    26    

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

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

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

01.06.2018    33260    m-rv    22    

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

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

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

15.01.2020    33371    John_d    22    

Последовательности событий при проведении документа 1С. Шпаргалка + про формы + про расширения

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

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

30.12.2019    25858    kuzyara    38    

Активный 2019 год на Инфостарт

О сообществе О жизни Бесплатно (free)

О прошедшем 2019 годе в 100 и 500 словах.

26.12.2019    6440    YPermitin    25    

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

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

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

05.12.2017    29100    itriot11    34    

30 задач. Странных и не очень

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

30 задач на знание языка программирования 1С и некоторого поведения платформы. Маленьких. Странных и не очень.

02.12.2019    19982    YPermitin    61    

Как передать IP адрес, который вызвал HTTP запрос в 1C (для веб-сервера Apache)

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

Столкнулся с задачей получения IP адреса, который вызывает http сервис 1С. Итак, решение:

22.11.2019    10435    Sibars    19    

СКД. Лайфхак №2. Собираем отчет еще удобнее

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

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

20.11.2019    10907    aximo    18    

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

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

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

10.11.2018    39060    ids79    40    

Простейший пример создания бизнес-процессов

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

Простой пример создания бизнес-процессов в несколько шагов. Может пригодиться при первом знакомстве с ними или для решении задач экзамена 1С:Специалист по платформе.

20.11.2019    24544    YPermitin    19    

Некоторые редко используемые возможности СКД

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

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

11.11.2019    12762    kser87    40