|
КД: несколько документов из одного набора записей регистра сведений | ☑ | ||
---|---|---|---|---|
0
trancer
27.06.13
✎
19:38
|
Всем привет.
Есть две разные конфы. Из одной нужно перегонять регистр сведений в табличную часть дока в другой конфе. Это понятно как сделать. Задача усложняется тем, что из набора записей должно получаться несколько документов в зависимости от того, что в этом наборе есть. Конкретнее: записи, относящиеся к разным месяцам должны попасть в разные документы. Короче разбивка такая по месяцам. Поделитесь, если у вас такой опыт есть. Спасибо. |
|||
1
trancer
28.06.13
✎
11:11
|
Ап с утра
|
|||
2
Aleksey
28.06.13
✎
11:11
|
А в чем затык?
|
|||
3
Aleksey
28.06.13
✎
11:12
|
в ПВД формируешь виртуальный документ и выгрузить по правилу
|
|||
4
trancer
28.06.13
✎
11:17
|
(3) Хмхмхм. Идея хорошая. А в ПВД несколько раз в цикле можно будет ВыгрузитьПоПравилу?
|
|||
5
Aleksey
28.06.13
✎
11:22
|
(4) да пофиг
|
|||
6
trancer
29.06.13
✎
23:29
|
В общем так и сделал. В ПВД для набора записей прописал ВыгрузитьПоПравилу для разных записей. Че-то сначала затупил, вечер тогда был)
|
|||
7
Cyberhawk
29.06.13
✎
23:31
|
(6) покажи код из ПВД и скриншот ПКО, пожалуйста (интересно)
|
|||
8
Лефмихалыч
29.06.13
✎
23:35
|
(0) >Задача усложняется тем, что из набора записей должно получаться несколько документов
отличный способ прострелить себе коленку и нажить кучу врагов. Не делай так. Переноси объекты один-в-один, иначе хренову гору глупых проблем огребешь. И это, кстати, справедливо не только для 1С |
|||
9
trancer
02.07.13
✎
10:57
|
(6) весь код обработчика Перед выгрузкой из ПВД выкладывать не буду, он большой и неинтересный. Суть такова, что там все записи разбираются на группы по месяцам. Потом для каждого месяца заполняются ИсходящиеДанные и выгружаются по правилу. Вот так:
КоллекцияОбъектов = Новый ТаблицаЗначений(); КоллекцияОбъектов.Колонки.Добавить("ПервыйВидВремени1", Новый ОписаниеТипов("СправочникСсылка.ВидыДнейВГрафикеСотрудника")); // ... и так далее КоллекцияОбъектов.Колонки.Добавить("ПервыйЧасов1", Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(5, 2, ДопустимыйЗнак.Любой))); // ... так далее КоллекцияОбъектов.Колонки.Добавить("Сотрудник", Новый ОписаниеТипов("СправочникСсылка.Сотрудники")); КоллекцияОбъектов.Колонки.Добавить("ФизЛицо", Новый ОписаниеТипов("СправочникСсылка.ФизическиеЛица")); ИсходящиеДанные = Новый Структура("Сотрудник, ПериодРегистрации, ОтработанноеВремя", СтрокаТЗ1.Сотрудник, СтрокаТЗ.Месяцы1, КоллекцияОбъектов); // тут нужным образом заполняется КоллекцияОбъектов ВыгрузитьПоПравилу(Объект,, ИсходящиеДанные,, "ТабельУчетаРабочегоВремениОрганизации"); В ПКО обработчик Поля поиска вот такой: Запрос = Новый Запрос("ВЫБРАТЬ РАЗРЕШЕННЫЕ | ТабельУчетаРабочегоВремениОрганизацииОтработанноеВремя.Ссылка |ИЗ | Документ.ТабельУчетаРабочегоВремениОрганизации.ОтработанноеВремя КАК ТабельУчетаРабочегоВремениОрганизацииОтработанноеВремя |ГДЕ | ТабельУчетаРабочегоВремениОрганизацииОтработанноеВремя.Сотрудник = &Сотрудник | И НАЧАЛОПЕРИОДА(ТабельУчетаРабочегоВремениОрганизацииОтработанноеВремя.Ссылка.ПериодРегистрации, МЕСЯЦ) = &ПериодРегистрации"); Запрос.УстановитьПараметр("ПериодРегистрации", СвойстваПоиска["ПериодРегистрации"]); Запрос.УстановитьПараметр("Сотрудник", ПараметрыОбъекта["Сотрудник"]); Выборка = Запрос.Выполнить().Выбрать(); Если Выборка.Следующий() Тогда СсылкаНаОбъект = Выборка.Ссылка; Иначе СсылкаНаОбъект = Неопределено; КонецЕсли; ПрекратитьПоиск = Истина; В ПКО весь приемник заполняется из входящих данных. Вот так https://dl.dropboxusercontent.com/u/8057759/screens/2013-07-02%2010_56_23.png Примерно на эту же тему у меня был вопрос тут v8: КД: Добавление табличных частей в документ из других документов (того же типа). Разрешился примерно по этому же способу. |
|||
10
trancer
02.07.13
✎
10:58
|
Едрит-мадрид. Вот скока пишу сюда до сих пор не могу понять этот парсер. Ну как правильно код, то выделять, чтобы красиво было в посте?
|
|||
11
trancer
02.07.13
✎
11:00
|
Нормальная ссылка на скрин http://goo.gl/mBqUT
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |