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

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

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

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

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

Введение

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

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

На своем жизненном пути я сталкивался с "программистами 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

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

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

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

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

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

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

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

Такие дела. Взялись писать лайфак, то хотя бы почитайте что это такое и как их пишут.
chilyagin; ice-net; cefew; Yashazz; Lyns_owner; HAMMER_59; AlexandrSmith; rar_xxx; mironoff87; lunjio; rpgshnik; PLAstic; artms; aexeel; EasyWay; depi; jaroslav.h; mmch; Spacer; deaddy64; Pawlick; BurlakovIvan; DmitrySinichnikov; dhurricane; KotBegemot77; XSlava; +26 4 Ответить
5. wowik 827 25.10.19 13:30 Сейчас в теме
(1) не вижу чтобы вы написали на инфостарте хотя бы одну статью, интересно было бы посмотреть. Автору статьи +1.
botokash; Terve!R; chembulatov76; aximo; +4 6 Ответить
6. VmvLer 25.10.19 14:02 Сейчас в теме
(5) у меня тут другое амплуа.
dr.zl0; AlexandrSmith; Pawlick; +3 Ответить
39. AnryMc 778 05.11.20 09:49 Сейчас в теме
(6)
у меня тут другое амплуа.


04.06.20 18:07
так что ваш список аргументов по типизизации как раз под стать ботам.

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


04.06.20 17:33
Я чуял, что в этой теме надо постить рецеп каре ягненка.


04.06.20 17:28
вообщем бида бидулька


04.06.20 17:22
если ваши текущие поделки рискуют оказаться на помойке, то это просто естественный ход событий, а не повод для насаждения догм.
смиритесь и работайте с прицелом на новую реальность.


04.06.20 16:52
04.06.20 16:44

04.06.20
поздравляю - не нойте.


P.S. Типа: «Оди́н день ...» VmvLer'а
P.P.S. Дальше не смотрел т.к. АМПЛУА не понравилось...
tuprikov; uncle_Vasya; +2 Ответить
2. Yashazz 3617 25.10.19 12:44 Сейчас в теме
Жесть. Я это ещё 12 лет назад делал, см. мои, хотя и обруганные многими, "полезняшки" https://infostart.ru/public/1133780/
vadver; AlexandrSmith; Andreeei; RibD; Spacer; Поручик; DmitrySinichnikov; +7 Ответить
3. acanta 25.10.19 13:09 Сейчас в теме
Очень полезная информация. Спасибо большое.
chembulatov76; wowik; aximo; +3 7 Ответить
4. user1166203 25.10.19 13:11 Сейчас в теме
Прям почувствовал боль SQL сервера от этого отчета...
Andreeei; lunjio; Дейл; qwinter; aexeel; ice-net; Pawlick; BurlakovIvan; DmitrySinichnikov; XSlava; sagatel; +11 1 Ответить
7. zqzq 21 25.10.19 15:08 Сейчас в теме
Так и не понял, зачем ЭТО, когда можно в 10 раз быстрее схему СКД с запросом накидать и форму по умолчанию. В качестве быстрой сборки отчета точно не подойдёт, только для специфичных условий, например в отчет передать результат другого отчета СКД.
Если выкинуть всю лирику, вывод: внешние наборы данных иногда полезны, но чаще вредны.
vadver; ice-net; rar_xxx; Andreeei; igormiro; artms; herfis; Spacer; Pawlick; Sergik_D; sashocq; u2b; yukoz; DmitrySinichnikov; Bassgood; serega9507585993; XSlava; achernobrovin; +18 1 Ответить
8. BackinSoda 25.10.19 15:54 Сейчас в теме
Лайфхак, собственно, в использовании внешнего набора данных ?
Плюсы спорные, то же время и написание запроса, что тут, что в скд самом. А вот невозможность расшифровки печалит.
Andreeei; Pawlick; DmitrySinichnikov; Bassgood; +4 Ответить
9. marat3581525 25.10.19 15:58 Сейчас в теме
Автор молодец, хорошая статья. Не понимаю почему так коллеги по ремеслу набросились, автор старался.

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


Автор. Ты вводишь в заблуждение.

Прописываешь в форме отчета процедуру расшифровки, которая из данных расшифровки определяет, какую ячейку жмакнул пользователь и стоишь еще один отчет, если стандартное "расшифровать..." не подходит (в таблицу данных можно сложить еще немного данных, которые сгруппируются при выводе).
25. user1194102 28.02.20 20:54 Сейчас в теме
(23) А пример где? Вот в чем разница, одни могут не только написать , но и пример дать. А другие могут только говорить, сразу видно теоретик писал комментарий.
28. philya 83 29.02.20 16:59 Сейчас в теме
(25) Пример? На обработку расшифровки табличного поля вешается обработчик типа такого.

Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
	Перем ВыполненноеДействие;
	
	Если Не (ДанныеРасшифровки.Элементы[Расшифровка].ПолучитьПоля()[0].Поле = "РасходОтгрузкаКоличествоОстаток"
		Или ДанныеРасшифровки.Элементы[Расшифровка].ПолучитьПоля()[0].Поле = "РасходОтгрузкаКоличествоМетрыКвадратные"
		Или ДанныеРасшифровки.Элементы[Расшифровка].ПолучитьПоля()[0].Поле = "РасходПеремещениеСОХКоличествоОстаток"
		Или ДанныеРасшифровки.Элементы[Расшифровка].ПолучитьПоля()[0].Поле = "РасходПеремещениеСОХКоличествоМетрыКвадратные") Тогда
		
		Возврат;
	КонецЕсли;
			
	СтандартнаяОбработка=Ложь;
    ОбработкаРасшифровки=Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки,Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
	
	
    ДополнительныеДействия=Новый СписокЗначений;
    ДополнительныеДействия.Добавить("РасшифроватьОтгрузку", "Отгрузка по покупателям"); 
    Настройки=ОбработкаРасшифровки.Выполнить(Расшифровка,ВыполненноеДействие,,ДополнительныеДействия);
    Если Настройки<>Неопределено Тогда
        КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);
        ЭлементыФормы.Результат.Очистить();
        СкомпоноватьРезультат(ЭлементыФормы.Результат,ДанныеРасшифровки);
    Иначе
		Если ВыполненноеДействие="РасшифроватьОтгрузку" Тогда
			СтруктураОтбора = Новый Структура("Номенклатура, НомерСуперИнтервала, НижняяГраницаИнтервала", Неопределено, Неопределено, Неопределено);
			
			Родители = ДанныеРасшифровки.Элементы[Расшифровка].ПолучитьРодителей();
			
			Для сч = 0 По Родители.ВГраница() Цикл
				Для каждого ПолеРасшифровки Из Родители[сч].ПолучитьПоля() Цикл
					ЗначениеПоля = Неопределено;
					Если СтруктураОтбора.Свойство(СтрЗаменить(ПолеРасшифровки.Поле, ".", ""), ЗначениеПоля) Тогда
						Если ЗначениеПоля = Неопределено Тогда
							СтруктураОтбора.Вставить(СтрЗаменить(ПолеРасшифровки.Поле, ".", ""), ПолеРасшифровки.Значение);
						КонецЕсли;
					КонецЕсли;
				КонецЦикла;
			КонецЦикла;
			
			СформироватьРасшифровкуОтгрузки(СтруктураОтбора);
			
        КонецЕсли;
    КонецЕсли;
КонецПроцедуры
Показать
user1194102; +1 Ответить
29. user1194102 29.02.20 17:29 Сейчас в теме
24. user1194102 28.02.20 20:52 Сейчас в теме
Отличная статья, спасибо огромное автору Дмитрий Никс, да статей таких много, но все либо отрывочно передергивают курсы, либо мысли не могут связать. Да и по курсам вроде у разработчиков, все описано как работает, а начнешь делать везде частный случай, а для практики материала недостаточно. А тут и объяснение подробное и примеры есть конкретные. И любой самописный отчет можно быстро пристроить в СКД. 5+ за материал!
26. user1194102 28.02.20 21:26 Сейчас в теме
А вот и доказательство, произвольный запрос и отчет готов. Давно искал такое решение.
Функция ПолучимТаблицуДанных()
	
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	ПРЕДСТАВЛЕНИЕ(ЗаказНаПроизводство.Ссылка) КАК Документ,
		|	ПРЕДСТАВЛЕНИЕ(ЗаказНаПроизводствоПродукция.Номенклатура) КАК Номенклатура,
		|	ЗаказНаПроизводствоПродукция.Количество
		|ИЗ
		|	Документ.ЗаказНаПроизводство.Продукция КАК ЗаказНаПроизводствоПродукция
		|		ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказНаПроизводство КАК ЗаказНаПроизводство
		|		ПО ЗаказНаПроизводствоПродукция.Ссылка = ЗаказНаПроизводство.Ссылка
		|ГДЕ
		|	ЗаказНаПроизводство.Дата МЕЖДУ &ДатаНачала И &ДатаКонца";
	
	Запрос.УстановитьПараметр("ДатаКонца", ДатаКонца);
	Запрос.УстановитьПараметр("ДатаНачала", ДатаНачала);
	
	РезультатЗапроса = Запрос.Выполнить();
	
	ТаблицаРезультат = РезультатЗапроса.Выгрузить();
	
	
	Возврат ТаблицаРезультат;

КонецФункции
Показать
Прикрепленные файлы:
27. user1194102 28.02.20 22:08 Сейчас в теме
Даже расшифровка работает для документов
Молодец автор, фантастика, любой сложности отчет можно поместить в таблицу и вывести в нормальный отчет с расшифровками и группировками
Прикрепленные файлы:
30. Lyns_owner 347 19.05.20 16:18 Сейчас в теме
Что-то я не понял, в чем лайфхак? Что можно делать очевидные вещи, но в 5 раз дольше и неудобнее?
Статья из цикла статей "Как открыть папку, а потом ее закрыть" с 20-ю скриншотами.
webester; Yashazz; +2 Ответить
31. Yashazz 3617 19.05.20 18:16 Сейчас в теме
(30) а скоро любые очевидные азы будут подавать как "лайфхаки", и пипл радостно будет хавать, особенно пионэры, каковым лень книжки читать и курсы смотреть. А тут раз-два, круто, и плевать, что это банальный и чреватый многими побочками способ. Гляньте, сколько за такую хрень автору плюсов-то накидали)
webester; +1 Ответить
32. webester 34 20.05.20 03:40 Сейчас в теме
(30)(31)Вы как будто первый день на инфостарте. Тут и статья была с "лайфхаком" по винрару, которая рассказывала в нескольких абзацах про одну галочку. И серия статей про "хитрый ход" для передачи файла с клиента на сервер через хранилище. И обработки которые дублируют функционал типовых конфигураций для которых они написаны. И статьи которые рассказывают, про то, что уже как триста лет лежит на итс. И что-то еще, не помню уже. Ничего не меняется с годами. Не стало не лучше, не хуже. Человек знакомится с программированием и пишет полезные с его точки зрения статьи. Все через это проходят. Я аж бложек пилил для этих целей. Вот к примеру целую статью написал про параметры в СКД. Самому теперь смешно.
34. webester 34 20.05.20 14:20 Сейчас в теме
(33)Написал развернутый ответ, что все таки надо быть снисходительнее. Потом посмотрел публикации автор не новичок совсем.... тогда все думаю справедливо
35. unichkin 1332 20.05.20 19:24 Сейчас в теме
Структуру таблицы для отчета лучше получать так:
	Схема = ЭтотОбъект.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
	
	ТаблицаНабора = Новый ТаблицаЗначений;
	Для каждого ПолеНабора Из Схема.НаборыДанных[0].Поля Цикл
		Если ТипЗнч(ПолеНабора) = Тип("ПолеНабораДанныхСхемыКомпоновкиДанных") Тогда
			ТаблицаНабора.Колонки.Добавить(ПолеНабора.Поле, ПолеНабора.ТипЗначения);			
		КонецЕсли; 	
	КонецЦикла; 
Показать
vadver; BackinSoda; +2 Ответить
36. Yashazz 3617 21.05.20 15:52 Сейчас в теме
(35) Верно. Вот вам очевидно, мне очевидно, а некоторым нет... Некоторые, вдобавок, ещё и тип набора не проверят, ещё и прохлопают, что он в схеме может быть не один... Некоторые даже не знают, что есть вложенные наборы... Зато, пнимаиш, лайфхак)))
37. Yashazz 3617 22.05.20 15:11 Сейчас в теме
Подумал ещё и понял, что, в общем, такие косорукие пионэры - это хорошо. Чем больше они накосячат, тем больше нам потом работы. Вот только престиж профессии жалко...

Ну, хотя, если руководство ИС считает, что подобные ламерские позорные заходы в "Выборе редакции" не роняют престиж ресурса, то - флаг в руки)
38. 7OH 32 26.05.20 21:06 Сейчас в теме
"считают, язык запросов 1с и СКД - это одно и тоже..."
Серьёзно ?
У СКД есть свой язык запросов ?
Похоже на мнение о том, что HTML - это язык программирования.
СКД всего лишь меняет запрос, но вполне прогнозируемо (при наличии опыта).
А вот та пост обработка построения табличного документа, в которую доступа нет - это и языком назвать сложно.
Оставьте свое сообщение

См. также

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

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

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

28.12.2020    3724    comol    21    

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

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

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

02.11.2020    892    SizovE    0    

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

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

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

20.10.2020    2743    antonivan    17    

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

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

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

09.07.2020    2957    Yashazz    7    

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

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

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

10.12.2016    38232    unichkin    74    

Формирование файла выгрузки номенклатуры в смарт-терминал АТОЛ Sigma из УТ 11.4

ККМ v8 v8::ОУ УТ11 Розничная и сетевая торговля (FMCG) Россия УУ Абонемент ($m)

Данная обработка позволяет автоматически формировать файл выгрузки в смарт-терминал АТОЛ Sigma из УТ 11.4.

2 стартмани

03.07.2020    3512    3    aximo    1    

Конвертация данных 2.1. Методика переноса остатков

Перенос данных из 1C8 в 1C8 v8 1cv8.cf УУ Бесплатно (free)

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

12.06.2020    8063    aximo    17    

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

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

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

24.05.2020    3808    kasper076    16    

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

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

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

15.10.2018    31700    tormozit    104    

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

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

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

14.05.2020    2983    vendim    1    

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

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

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

29.04.2020    7339    the1    32    

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

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

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

15.04.2020    9331    SeiOkami    38    

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

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

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

20.09.2012    79007    tormozit    131    

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

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

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

15.04.2020    3760    ProfessionStore    3    

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

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

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

13.04.2020    6498    ProfessionStore    4    

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

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

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

13.04.2020    4308    starik-2005    16    

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

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

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

11.07.2007    49700    tormozit    48    

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

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

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

12.04.2020    5164    ProfessionStore    11    

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

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

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

11.04.2020    7065    ProfessionStore    8    

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

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

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

11.04.2020    6805    ProfessionStore    25    

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

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

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

10.09.2017    46321    tormozit    74    

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

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

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

10.04.2020    6960    ProfessionStore    4    

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

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

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

10.04.2020    8624    ProfessionStore    14    

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

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

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

26.03.2020    6784    Yashazz    19    

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

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

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

25.04.2019    16347    m-rv    2    

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

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

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

03.03.2020    5555    BelikovSA    9    

Боремся с запросами в циклах. Мой опыт рефакторинга запросов

Рефакторинг и качество кода v8::Запросы 1cv8.cf Бесплатно (free)

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

02.03.2020    7279    aximo    55    

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

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

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

28.02.2020    2272    real_MaxA    1    

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

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

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

16.04.2019    20855    m-rv    17    

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

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

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

26.02.2020    7318    Neti    41    

Создание ПКО на основе отчетов о розничных продажах

Обработка документов Кассовые операции Розничная торговля v8 Розница Розничная и сетевая торговля (FMCG) Россия УУ Абонемент ($m)

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

1 стартмани

06.02.2020    3576    4    aximo    3    

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

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

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

27.01.2020    35427    ids79    26    

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

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

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

01.06.2018    31900    m-rv    21    

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

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

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

15.01.2020    29077    John_d    22    

СКД. Шаг 3. Используем макеты для оформления отчета

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

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

13.01.2020    19204    aximo    14    

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

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

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

20.11.2019    10465    aximo    17    

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

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

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

05.12.2017    28755    itriot11    34    

Обсудим планы обмена. Способы регистрации объектов к обмену

Обмен данными 1С v8 1cv8.cf Бесплатно (free)

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

16.11.2019    26870    aximo    37    

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

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

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

11.11.2019    12061    kser87    40    

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

Адаптация типовых решений v8 1cv8.cf Абонемент ($m)

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

10 стартмани

21.10.2019    8092    1    aximo    0    

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

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

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

27.01.2016    77998    Serginio    110    

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

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

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

17.10.2019    12399    aximo    35    

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

Обработка документов Учет ТМЦ Расширения v8 УНФ Россия УУ Абонемент ($m)

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

1 стартмани

17.10.2019    6487    aximo    4    

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

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

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

12.10.2019    15171    aximo    5    

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

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

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

10.11.2018    36831    ids79    40    

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

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

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

10.10.2019    12863    YPermitin    7    

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

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

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

10.10.2019    10510    Yashazz    45    

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

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

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

10.10.2019    10645    evgeni-red    9    

Тестер: частые вопросы Промо

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

Ошибкам бой - тесты норма жизни!

25.07.2018    29948    grumagargler    28    

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

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

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

08.10.2019    14908    ids79    26    

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

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

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

25.09.2019    24089    YPermitin    40    

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

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

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

18.09.2019    20122    YPermitin    36