Простые примеры работы с СКД (только программные средства)
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Фрагмент кода:
Процедура ЗаполнитьПараметры(НастрПольз, НастрОтч)
Для Каждого Стр Из НастрПольз Цикл
СтрОтч = НастрОтч.Найти(Стр.Параметр);
Если СтрОтч = Неопределено Тогда
УстановитьНовыйПараметр(НастрОтч, Стр.Параметр, Стр.Значение);
Иначе
ЗаполнитьЗначенияСвойств(СтрОтч, Стр);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Пример:
Процедура ВывестиРезультатВТаблицуЗначений(Результат, ДанныеРасшифровки, ИмяМакета)
СхемаКомпоновкиДанных = ПолучитьСхему(ИмяМакета);
// параметры, заданные для основной схемы, передаем в текущую схему
Параметры = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы;
ПараметрыОтчета = СхемаКомпоновкиДанных.НастройкиПоУмолчанию.ПараметрыДанных.Элементы;
// заполним параметры схемы своими параметрами из настроек пользователя
ЗаполнитьПараметры(Параметры, ПараметрыОтчета);
// установим свой параметр
УстановитьПараметр(ПараметрыОтчета, "КонецПериода", ТекущаяДата());
//****************
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, СхемаКомпоновкиДанных.НастройкиПоУмолчанию,,,Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
ПроцессорВывода.УстановитьОбъект(Результат);
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
КонецПроцедуры
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
СтандартнаяОбработка= Ложь;
ВыводВТабДок = Ложь;
ВыводВТЗ = Ложь;
ДокументРезультат.Очистить();
Если ВыводВТабДок Тогда
// программный запуск отчета. вместо стандартной обработки делаем свою.
// в один табличный документ выводим два разных отчета
СформироватьОтчет(ДокументРезультат, ДанныеРасшифровки, "ОсновнаяСхемаКомпоновкиДанных");
СформироватьОтчет(ДокументРезультат, ДанныеРасшифровки, "Макет");
// убираем автоматическую фиксацию СКД
ДокументРезультат.ФиксацияСверху = 0;
ДокументРезультат.ФиксацияСлева = 0;
ИначеЕсли ВыводВТЗ Тогда
// Рассмотрим вывод результата отчета в таблицу значений
тз = Новый ТаблицаЗначений;
ВывестиРезультатВТаблицуЗначений(тз, ДанныеРасшифровки, "Макет");
Колво = тз.Количество();
КонецЕсли;
КонецПроцедуры
Продолжение темы работы с СКД (практика) и более сложный материал : //infostart.ru/public/293252/
Вступайте в нашу телеграмм-группу Инфостарт