Лайфхак работы с СКД. Собираем отчет.

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

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

скд набор данных компановка

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

Введение

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

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

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

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

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

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

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

Итак, начнем:

 

Подготовка

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

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

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

Здесь у нас основные реквизиты - Подразделение, Дата начала, Дата окончания. Так же есть "Результат" - с типом "Табличный документ".

Рис.1.Основная форма отчета.

 

Реквизиты и компоновка объекта "отчет" будут такими:

Рис.2. Настройка формы отчета. Определение реквизитов. Компоновка на форме.

 

На что обратим внимание в свойствах формы:

Рис.3. Результат отчета, данные расшифровки и настройки.

 

Пожалуй, это основные моменты самого объекта "отчет". Теперь, переходим к программной части отчета.

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

 

В общем виде содержимое данной процедуры (ее можно скопировать) должно выглядеть вот так:

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
	
	СтандартнаяОбработка 	   = Ложь;
	ОсновнаяТаблицаЗапроса     = ПолучимТаблицуДанных();

	СхемаКомпоновкиДанных 	   = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
	Настройки 		   = КомпоновщикНастроек.ПолучитьНастройки(); 

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

 

Обратим внимание, на передачу ВнешнегоНабораДанных в ПроцессорКомпоновкиДанных. Мы передаем таблицу "ОсновнаяТаблицаЗапроса", данные которой получены функцией ПолучимТаблицуДанных().

 

Опишем в модуле отчета основную функцию  ПолучимТаблицуДанных(), которая определит в дальнейшем нашу таблицу внешнего источника, выглядит она вот так:

&НаСервере
Функция ПолучимТаблицуДанных()
	
	ТаблицаРезультат = Новый ТаблицаЗначений;
	
	ТаблицаРезультат.Колонки.Добавить("Дата");
	ТаблицаРезультат.Колонки.Добавить("Номер");
	ТаблицаРезультат.Колонки.Добавить("Реализация");
	ТаблицаРезультат.Колонки.Добавить("Организация");
	ТаблицаРезультат.Колонки.Добавить("Подразделение");
	ТаблицаРезультат.Колонки.Добавить("Контрагент");

	ТаблицаРезультат.Колонки.Добавить("Номенклатура");
	ТаблицаРезультат.Колонки.Добавить("ЕдиницаИзмерения");
	ТаблицаРезультат.Колонки.Добавить("Количество");
	ТаблицаРезультат.Колонки.Добавить("Сумма");
	ТаблицаРезультат.Колонки.Добавить("СтавкаНДС");

	ТаблицаРезультат.Колонки.Добавить("СуммаБезНДС"); 
	ТаблицаРезультат.Колонки.Добавить("СебестоимостьБезНДС");
	ТаблицаРезультат.Колонки.Добавить("ТипНоменклатуры");
	ТаблицаРезультат.Колонки.Добавить("Цена");
	ТаблицаРезультат.Колонки.Добавить("ГруппаНоменклатуры");
	
	ТаблицаРезультат.Колонки.Добавить("РаспределенияЗатрат");
	ТаблицаРезультат.Колонки.Добавить("Процент");
	ТаблицаРезультат.Колонки.Добавить("Склад");
	
	ТаблицаРезультат.Колонки.Добавить("НадбавкаПоГруппе");
	ТаблицаРезультат.Колонки.Добавить("СебестоимостьСНадбавкой");
	ТаблицаРезультат.Колонки.Добавить("ВаловаяПрибыль");
	ТаблицаРезультат.Колонки.Добавить("Премия");

// ==== далее наполним эту таблицу данными из запроса(ов) ====
// ==== Пишем запрос, который соберет (по "документам") все необходимые "реализации", "номенклатуры" и прочих реквизитов

	ПоискДанных = Новый Запрос("ВЫБРАТЬ
	                           |	РасходнаяНакладная.Ссылка КАК Реализация,
	                           |	РасходнаяНакладная.Дата КАК Дата,
	                           |	РасходнаяНакладная.Организация КАК Организация,
	                           |	РасходнаяНакладная.Подразделение КАК Подразделение,
	                           |	РасходнаяНакладная.Контрагент КАК Контрагент,
	                           |	РасходнаяНакладнаяЗапасы.Номенклатура КАК Номенклатура,
	                           |	РасходнаяНакладнаяЗапасы.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
	                           |	РасходнаяНакладнаяЗапасы.Количество КАК Количество,
	                           |	РасходнаяНакладнаяЗапасы.Сумма КАК Сумма,
	                           |	РасходнаяНакладнаяЗапасы.СтавкаНДС КАК СтавкаНДС,
	                           |	0 КАК СуммаБезНДС,
	                           |	0 КАК СебестоимостьБезНДС,
	                           |	РасходнаяНакладнаяЗапасы.Номенклатура.ТипНоменклатуры КАК ТипНоменклатуры,
	                           |	РасходнаяНакладнаяЗапасы.Цена КАК Цена,
	                           |	РасходнаяНакладная.Номер КАК Номер,
	                           |	РасходнаяНакладнаяЗапасы.Номенклатура.Родитель КАК ГруппаНоменклатуры,
	                           |	РасходнаяНакладнаяЗапасы.Номенклатура.Родитель.КатегорияНоменклатурыДляРаспределенияЗатрат КАК РаспределенияЗатрат,
	                           |	ВЫБОР
	                           |		КОГДА РасходнаяНакладнаяЗапасы.Номенклатура.Родитель.КатегорияНоменклатурыДляРаспределенияЗатрат = ЗНАЧЕНИЕ(Справочник.КатегорииНоменклатурыДляРаспределенияЗатрат.ПустаяСсылка)
	                           |			ТОГДА 0
	                           |		ИНАЧЕ РасходнаяНакладнаяЗапасы.Номенклатура.Родитель.КатегорияНоменклатурыДляРаспределенияЗатрат.Процент
	                           |	КОНЕЦ КАК Процент,
	                           |	РасходнаяНакладная.СтруктурнаяЕдиница КАК Склад
	                           |ИЗ
	                           |	Документ.РасходнаяНакладная КАК РасходнаяНакладная
	                           |		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РасходнаяНакладная.Запасы КАК РасходнаяНакладнаяЗапасы
	                           |		ПО РасходнаяНакладная.Ссылка = РасходнаяНакладнаяЗапасы.Ссылка
	                           |ГДЕ
	                           |	РасходнаяНакладная.Дата МЕЖДУ &Дата1 И &Дата2
	                           |	И РасходнаяНакладная.Проведен = ИСТИНА
	                           |	И РасходнаяНакладная.Подразделение = &Подразделение
	                           |	И РасходнаяНакладнаяЗапасы.Номенклатура.ТипНоменклатуры = &ТипНоменклатуры
	                           |	И НЕ РасходнаяНакладная.Комментарий ПОДОБНО &Комментарий
	                           |
	                           |УПОРЯДОЧИТЬ ПО
	                           |	Контрагент,
	                           |	Дата");



// ==== Определение процентов и категорий распределения затрат

        ОпределениеПроцентовИКатегорий();

// ==== Расчет ресурсов "Надбавки по группе", "Себестоимости...", "Валовой прибыли", "Премии"


        //ОпределениеНадбавокИВаловойПрибыли1(); // метод 1

        //ОпределениеНадбавокИВаловойПрибыли2(); // метод 2

        ОпределениеНадбавокИВаловойПрибыли3(); // метод 3


// ==== Таблица "собрана", возвращаем результат:

        Возврат ТаблицаРезультат;

КонецФункции

 

Первоначальная "идея" создания этой функции - собрать данные (любым правильным или неправильным способом) в описанную выше ТаблицаРезультат.

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

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

 

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

 

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

 

Реализация в СКД

Теперь, "нащелкаем" компоновку СКД.

Создаем новый "НаборДанных1" и в имени объекта указываем "ДанныеОтчета" (см.рис.4). Затем, определяем все необходимые поля из таблицы "ДанныеОтчета". Прописываем типы, форматы, доступные значения и параметры редактирования.

Рис.4. Выбор объекта для набора данных. Определение полей отчета.

 

Затем, идем в закладку "Ресурсы", где определяем "числовые значения" отчета. Так же, "накликаем мышкой" (рис.1).

Рис.5. Ресурсы отчета.

 

Переходим на закладку "Настройки" и проводим уже окончательную настройку отчета - то, как он будет скомпонован (см. Рис 6). В "Выбранные поля" перемещаем реквизиты и ресурсы отчета. Сам отчет компонуем по реквизитам.

Рис.6. Итоговая компоновка отчета.

 

Так же в "других настройках" можно выбрать цветовое оформление отчета.

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

Рис.7. Готовый отчет СКД, созданный на основе собранного набора данных.

 

Заключение

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

 

Начнем с плюсов:

1.Небольшое время "сборки" отчета средней сложности.

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

3.Простая "расширяемость" отчета (легко добавить новые колонки).

4.Легко поменять алгоритмы расчета колонок (см выше).

 

Минусы, пожалуй, такие:

1.Невозможно расшифровать как собирается "число" в данном отчете. Никак.

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

 

Я описал лишь "базовый" подход к работе с наборами данных в системе компоновки данных.

Отмечу, что я не ставил задачу расписывать как работать с закладками "связи наборов данных", "вычисляемые поля" и т.д. Это, кончено, все возможно. Если захотите, самостоятельно вы сможете, например, соединить результаты запроса и таблицу набора данных - это тоже будет работать. Все очень удобно и главное - понятно.

Думаю, что если вы работаете с вменяемым объемом информации, на проверенных алгоритмах расчета получаемых данных, то данный способ вам пригодиться.

Всем спасибо, что дочитали данную статью до конца, надеюсь, что она оказалась вам полезна. Всем привет!

Все операции я делал на платформе 8.3.13.1865 и УНФ 1.6.

 

Предыдущие материалы

Так же, прошу посмотреть мои предыдущие статьи:

Работа с механизмом отладки 1С. Базовые настройки

1С + IIS + SSL: Перевод опубликованной базы на защищенное соединение https с сертификатом от Let's encrypt

Дополнительные расходы на основе перемещения запасов в УНФ (пошаговая разработка расширения конфигурации)

Методика независимой системы "Подписки на события"

Подсистема "Подписки на события" (продолжение)

59

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

Комментарии
Избранное Подписка Сортировка: Древо
1. VmvLer 25.10.19 11:57 Сейчас в теме
Пишу мнение на ходу, т.е. читаю абзац и тут же мнение

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

2. Подготовка: Никакая это не подготовка, а набор хаотичных действий. Мысли вашего изложения не текут как
ручеек в горы в долину, а прыгают аки горные бараны завидев снежного барса.
Функция ПолучимТаблицуДанных() - что это за треш и угар, зачем учить плохому?
3. Реализация в СКД: Очевидные скрины конструктора СКД. Спасибо, что очень мало текста, ведь было бы больно читать о том, что итак очевидно.
4. Заключение: Просто субъективные выводы ...ни о чем.

Такие дела. Взялись писать лайфак, то хотя бы почитайте что это такое и как их пишут.
artms; aexeel; EasyWay; depi; jaroslav.h; mmch; Spacer; deaddy64; Pawlick; BurlakovIvan; DmitrySinichnikov; dhurricane; KotBegemot77; XSlava; +14 2 Ответить
5. wowik 615 25.10.19 13:30 Сейчас в теме
(1) не вижу чтобы вы написали на инфостарте хотя бы одну статью, интересно было бы посмотреть. Автору статьи +1.
Terve!R; chembulatov76; aximo; +3 3 Ответить
6. VmvLer 25.10.19 14:02 Сейчас в теме
(5) у меня тут другое амплуа.
2. Yashazz 2887 25.10.19 12:44 Сейчас в теме
Жесть. Я это ещё 12 лет назад делал, см. мои, хотя и обруганные многими, "полезняшки" https://infostart.ru/public/1133780/
Spacer; Поручик; DmitrySinichnikov; +3 Ответить
3. acanta 74 25.10.19 13:09 Сейчас в теме
Очень полезная информация. Спасибо большое.
chembulatov76; wowik; aximo; +3 4 Ответить
4. user1166203 25.10.19 13:11 Сейчас в теме
Прям почувствовал боль SQL сервера от этого отчета...
aexeel; ice-net; Pawlick; BurlakovIvan; DmitrySinichnikov; XSlava; sagatel; +7 1 Ответить
7. zqzq 17 25.10.19 15:08 Сейчас в теме
Так и не понял, зачем ЭТО, когда можно в 10 раз быстрее схему СКД с запросом накидать и форму по умолчанию. В качестве быстрой сборки отчета точно не подойдёт, только для специфичных условий, например в отчет передать результат другого отчета СКД.
Если выкинуть всю лирику, вывод: внешние наборы данных иногда полезны, но чаще вредны.
artms; herfis; Spacer; Pawlick; Sergik_D; sashocq; u2b; yukoz; DmitrySinichnikov; Bassgood; serega9507585993; XSlava; achernobrovin; +13 Ответить
8. BackinSoda 25.10.19 15:54 Сейчас в теме
Лайфхак, собственно, в использовании внешнего набора данных ?
Плюсы спорные, то же время и написание запроса, что тут, что в скд самом. А вот невозможность расшифровки печалит.
Pawlick; DmitrySinichnikov; Bassgood; +3 Ответить
9. marat3581525 12 25.10.19 15:58 Сейчас в теме
Автор молодец, хорошая статья. Не понимаю почему так коллеги по ремеслу набросились, автор старался.

Очень действенный метод для тех, кто только недавно работает с СКД. Иногда бывает сложно написать запрос, в котором будут нужные нам данные. Проще самому создать таблицу и подать ее на вход в СКД и там уже экспериментировать с внешним видом.
chembulatov76; ids79; wowik; aximo; +4 5 Ответить
10. Bassgood 956 25.10.19 16:45 Сейчас в теме
(9) Только называть "лайфхаком" работу с внешними наборами данных СКД, о которых и так уже имеется масса информации, как то не айс, это просто очередное описание использования возможностей СКД.
IgorS; ids79; DmitrySinichnikov; +3 Ответить
11. DmitrySinichnikov 179 25.10.19 21:55 Сейчас в теме
"Создаем свою форму" - зачем?!??!
XSlava; sashocq; +2 Ответить
12. Synoecium 658 25.10.19 23:16 Сейчас в теме
это скорее не лайфхак, а троллейбус из буханки :))
При этом метод действительно полезен, но автор не раскрыл на примере наглядные плюсы внешних наборов данных(типа обход ограничений скд), не раскрыл тему расшифровки при таком способе и т.д. Поэтому статья вызывает противоречивые чувства, больше недоумение
13. SeiOkami 1217 27.10.19 17:35 Сейчас в теме
Всё хорошо. Но в чём состоит "лайфхак" ?
14. Mellow 14 28.10.19 01:40 Сейчас в теме
Не вижу смисла в данной статье, в даном примере делается простой запрос на скд зачем городить огород. Если хочеш помочь людям то лучше б назвал лайфхак свой работа с внешними наборами данних в скд
15. DedMoroz1983 28.10.19 07:56 Сейчас в теме
Думал вах, оказалось ох.
16. sokir 28.10.19 10:37 Сейчас в теме
Открыл Америку!
Мы 10 лет программили незная про внешние источники.
17. ice-net 18 28.10.19 11:48 Сейчас в теме
Существенный минус это скорость работы. Пользовательские отборы обрабатываются уже после получения всех данных. Бывают случаи, когда в запросе все получить невозможно, или непрактично, тогда Да, но стоит подумать как передавать пользовательские отборы в запрос получения данных для отчета, а то на больших базах будет долго формироваться, когда причин этому нет
Bassgood; +1 Ответить
18. timeforlive 11 29.10.19 05:04 Сейчас в теме
Лайфхак заявлен на быстроту создания отчета, но мне что-то подсказывает, что быстрее будет сделать внешний отчет.
19. Praetori2017 31.10.19 10:31 Сейчас в теме
Зашел по ссылке из письма рассылки инфостарта. Зашел из-за этого "быстро оформить отчет." Думал тут вообще про макеты.
20. ah7777777 422 31.10.19 14:42 Сейчас в теме
Нормальная статья. Я сам иногда пользуюсь таким методом когда собираю данные из несобираемого. например из базы 1с и DBF файлов. В СКД легко оформить читаемый отчет это его большой плюс и возможность и экспериментировать выходными формами как самому, так и отдать более-менее продвинутому клиенту.
molly17; aximo; +2 Ответить
21. darkdan77 181 04.11.19 08:48 Сейчас в теме
Ребята, давай жить дружно. Статья не тянет на лайфхак? Может и не тянет. Хотя, я думаю, многим будет полезно узнать о наборе данных "Объект" и, самое главное, ПРОИЗВОЛЬНЫМ заполнением полей набора данных Объект, где данные могут быть не только из базы 1с, а также из других источников (например файлов или других баз, в общем, куда запросом не залезешь). Вообще то, тема очень интересная. Предлагаю дополнить эту статью своими соображениями (статьями). Это будет продуктивнее, чем ругать автора.
И еще, если статья кому-то полезна, то она имеет право на жизнь.
22. herfis 284 04.11.19 15:21 Сейчас в теме
В копилку продвинутых приемов ректального программирования.
Ну или называть и подавать статью следовало несколько по-другому.
Оставьте свое сообщение

См. также

Альтернативный способ задания расшифровки СКД-отчета 9

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

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

11.11.2019    750    Serge R    4       

Подсистема "Подписки на события" (продолжение) 3

Конфигурация Программист Конфигурация (md, cf) v8 1cv8.cf Абонемент ($m) Адаптация типовых решений

Представляю Вам практическая реализация методики подсистемы "Подписок на событие"

10 стартмани

21.10.2019    1124    1    aximo    0       

Методика независимой системы "Подписки на события" 53

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

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

17.10.2019    3824    aximo    29       

Дополнительные расходы на основе перемещения запасов в УНФ (пошаговая разработка расширения конфигурации) 5

Статья Программист Бухгалтер Пользователь Расширение (cfe) v8 УНФ Россия УУ Абонемент ($m) Обработка документов Учет ТМЦ Расширения

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

1 стартмани

17.10.2019    1401    aximo    3       

Работа с механизмом отладки 1С. Базовые настройки 14

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

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

12.10.2019    3096    aximo    2       

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

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

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

10.10.2019    3618    YPermitin    7       

Полезняшки по СКД и построителям. Просто код 45

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

Полезные процедуры и функции для работы с построителями и СКД. Просто исходник.

10.10.2019    4035    Yashazz    45       

Две схемы СКД в одном отчете с пользовательскими параметрами 17

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

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

10.10.2019    2351    evgeni-red    6       

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

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

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

08.10.2019    5171    ids79    23       

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

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

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

25.09.2019    5800    YPermitin    24       

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

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

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

18.09.2019    8128    YPermitin    31       

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

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

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

05.09.2019    13020    ids79    44       

1С + IIS + SSL: Перевод опубликованной базы на защищенное соединение https с сертификатом от Let's encrypt 85

Статья Системный администратор Программист Архив с данными v8 1С:CRM Windows Абонемент ($m) Администрирование данных 1С

Всем Доброго времени! Предлагаю Вам небольшую базовую инструкцию, где я опишу, как быстро перевести опубликованную в веб базу 1С на защищенное https соединение, используя стандартный IIS сервер и бесплатный сертификат SSL от Let's encrypt.

1 стартмани

10.08.2019    5621    3    aximo    32       

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

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

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

08.08.2019    14097    ids79    30       

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

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

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

26.07.2019    12684    ids79    6       

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

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

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

17.07.2019    11189    ids79    27       

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

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

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

09.07.2019    7795    ids79    0       

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

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

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

04.07.2019    7890    SeiOkami    49       

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

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

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

02.07.2019    12625    ids79    8       

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

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

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

25.06.2019    20995    ids79    17       

Не провоцируйте СКД, или пример "как не надо" 52

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

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

10.06.2019    7865    SeiOkami    91       

Еще один способ нестандартной расшифровки отчета. Без использования обработчиков формы. Для ленивых 92

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

Лень+ СКД. Еще один нестандартный способ расшифровки отчета. Без использования обработчиков формы. Только макет компоновки и модуль отчета. Весь исходный текст в статье.

16.05.2019    5990    tusv    55       

Расшифровка отчета на СКД с детализацией по выбранному полю на основе БСП 92

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

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

14.05.2019    8395    Viktor_Ermakov    6       

Разворачивание таблицы свойств и значений по колонкам через СКД 18

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

СКД! Юниоры 1С начинают паниковать, когда слышат эту аббревиатуру. Хороший пример, упрощающий жизнь начинающему разработчику, представлен ниже.

12.05.2019    4000    Eret1k    0       

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

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

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

25.04.2019    6035    m-rv    2       

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

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

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

16.04.2019    8659    m-rv    16       

"Склеивание" отчетов на СКД 23

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

Методика программного объединения данных нескольких отчетов в итоговый сводный. По ссылке опубликован пример на реальных данных и код отчета: https://infostart.ru/public/1017891/

10.03.2019    4922    bivmail    2       

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

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

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

07.03.2019    26114    ids79    33       

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

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

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

17.02.2019    4574    srub    10       

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

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

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

15.02.2019    19080    ids79    34       

Вывод результата компоновки в таблицу и дерево значений 29

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

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

14.02.2019    4451    kasper076    5       

Ещё раз о суммировании группировок в СКД 60

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

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

11.02.2019    7248    Dioneo    17       

Еще раз о расшифровке для СКД 23

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

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

27.12.2018    5361    scientes    2       

Заголовок с параметром в отчете СКД 30

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

Статья, как сделать заголовок с параметром в отчете СКД.

19.12.2018    5895    user913680    16       

"Доходы и расходы" для Бухгалтерии 3.0 по подразделениям (в СКД) 8

Отчеты и формы Бухгалтер Внешний отчет (ert,erf) v8::БУ v8::СКД БП3.0 Россия БУ Учет доходов и расходов Абонемент ($m) Бухгалтерские

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

2 стартмани

28.11.2018    3980    10    aximo    10       

Установка собственных значений полей при программном выводе отчета СКД по имени поля (по принципу "как в макете") 16

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

При программном выводе отчета на СКД возникает задача заполнить поля своими значениями. Но при поэлементном выводе отчета параметры "обезличены" как П1, П2, П3, ... Как узнать в какое "П" содержит нужное поле и куда устанавливать значение? Статья поможет программистам начинающим освоение СКД и перешедшим на СКД с "макета" ответить на эти вопросы на примере готового решения.

23.11.2018    5402    lmnlmn    0       

Дополнительные реквизиты в типовом отчете и их отсутствие 18

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

Пара Лайфхаков, случайно найденных, когда было лень запускать конфигуратор. Отбор при отсутствии дополнительного реквизита.

18.11.2018    5310    dyuha    0       

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

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

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

13.11.2018    22150    Unk92    19       

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

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

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

10.11.2018    22253    ids79    40       

Перевод конфигурации на 8.3.13 17

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

Опыт решения проблем. 1. Проблема с СКД преобразованием запроса при отключении режима совместимости:

06.11.2018    5908    serferian    26       

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

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

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

15.10.2018    21516    tormozit    100       

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

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

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

03.09.2018    32656    SergeyN    26