Общий журнал документов на базе системы компоновки данных 1С

Аватар пользователя Admin

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

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

1.Описание задачи. Создание внешнего отчета и СКД 

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

TEXT.RU - 100.00%

2-4. Событие "ПриКомпоновкеРезультата" 

2.Формируем наборы данных в цикле по документам конфигурации

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

3.Формируем поля наборов и тексты запросов 

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

TEXT.RU - 100.00%

4.Формируем СКД

В данном уроке мы очистим «ДокументРезультат» и создадим необходимые объекты для формирования СКД: «КомпоновщикНастроекКомпоновкиДанных», «КомпоновщикМакетаКомпоновкиДанных»,  «ПроцессорКомпоновкиДанных» и «ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент». Для установки значения параметра компоновки данных используем объекты: «ИсточникДоступныхНастроекКомпоновкиДанных» и «ПараметрКомпоновкиДанных».

5. Настройка параметров СКД 

Создадим форму отчета.  Передадим в программно созданную схему компоновки данных настройки параметров из реквизита форы отчета «КомпоновщикаНастроек». Определим программно параметры свойства параметра «СтандартныйПериод». 

6. Расшифровки в макете группировки СКД 

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

7-10.Отладка в Конструкторе СКД

7.  Организация работы с объектом   КонструкторСхемыКомпоновкиДанных 

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

8. Сохранение измененной СКД в формате XML

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

9. Чтение СКД из файла XML 

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

10.Отлаживаем СКД в конструкторе 

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

11-12. Расшифровка поля табличного документа

11. Событие "ОбработкаРасшифровки"  Объект "ОбработкаРасшифровкиКомпоновкиДанных" 

Теперь разберемся с меню расшифровки полей табличного документа. Для этого в обработчике события "ОбработкаРасшифровки" изменим состав доступных действий расшифровки. Обработаем действие расшифровки «ОткрытьЗначение» 

12. Метод "ПрименитьНастройки" объекта «ОбработкаРасшифровкиКомпоновкиДанных»

В этом уроке мы настроим работу с действием расшифровки «Упорядочить» с помощью метода «ПрименитьНастройки» объекта «ОбработкаРасшифровкиКомпоновкиДанных». При этом учтем, что у нас могут быть настройки двух типов: «НастройкиКомпоновкиДанных» и «ПользовательскиеНастройкиКомпоновкиДанны» - обработать нужно оба варианта. 

Комментарии

СПАСИБО!

Огромное спасибо, очень познавательно и подробно.
:-)

Помогло в изучении СКД. Не могли бы вы прокомментировать: будут ли еще выпуски? Много идей витало (может быть и витает) по тому, чтобы сделать человеческий курс по СКД, именно по программной работе с СКД. Интересует детальное описание объектной модели, планируете ли вы нечто подобное?

Классно объясняется. Мне так понравилось...
Но попробовал, как будет работать в БП 3.0 - не получилось. Сначала БП ругалась на док ВводОстатков, исправил на ВводНачальныхОстатков - заработала, а потом уперлась в пачку документов по РСВ и фффсё...
Может, разрулите эту ситуацию?
Кстати, из-за "ВводаОстатков" отчет перестает быть пригодным для всех конфигураций...

как скачать отчет?