![]() |
![]() |
![]() |
|
Как сливать документы при конвертации | ☑ | ||
---|---|---|---|---|
0
petname
12.07.12
✎
08:08
|
есть несколько расходников в ЗУПе при переносе необходимо их слить в один и ведомости из таб части забить в таб чать загружаемого. кто нибудь делал подобное?
|
|||
1
Мимохожий Однако
12.07.12
✎
08:10
|
наверняка
|
|||
2
andrewks
12.07.12
✎
08:21
|
да
|
|||
3
petname
12.07.12
✎
08:28
|
хелп объясните как
|
|||
4
andrewks
12.07.12
✎
08:28
|
ПВД с произв.алгоритмом
|
|||
5
petname
12.07.12
✎
08:43
|
это я понял счас пытаюсь свой алгоритм придумать просто пример посмотреть хотелось бы чтоб время меньше тратить а то з..цу подпалят
|
|||
6
andrewks
12.07.12
✎
08:45
|
ничё, опыт - он так и появляется. а то так и будешь всю жизнь ключи подавать.
используй запрос |
|||
7
petname
12.07.12
✎
08:49
|
да пишу я его просто обработку запроса не знаю как делать
|
|||
8
andrewks
12.07.12
✎
08:56
|
в идеале тебе уже в запросе нужно сгруппировать строки ТЧ в соответствии с требуемым разбиением, чтобы в группировке у тебя уже был конечный состав строк ТЧ.
используй консоль запросов для отладки. потом втыкаешь запрос в ПВД ПередОбработкой, формируешь ВыборкаДанных, в ПередВыгрузкой извлекаешь ВходяшиеДанные и делаешь ВыгрузитьПоПравилу(,, ВходящиеДанные,, "ИмяТвоегоПКО"); |
|||
9
Smallrat
12.07.12
✎
08:58
|
я б сделал так:
В правилах выгрузки данных для расходника, перед обработкой: Определил расходник, который будет выгружаться и в который всё сольётся - параметр "ВыборкаДанных" Там же , но перед выгрузкой: запрос по табчастям сливаемых документов, запихиваем в параметр "ИсходящиеДанные" - примерно так: ИсходящиеДанные = Новый Структура("ОбъединеннаяТаблица", ОбъединеннаяТаблица); В ПКО Ведомости для ПКС Табчасти в обработчике "ПередОбработкой" пишем примерно так:
|
|||
10
petname
12.07.12
✎
09:10
|
А вот так не сработает ???
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | РасходныйКассовыйОрдерВыплатаДепонентов.ФизЛицо, | РасходныйКассовыйОрдерВыплатаДепонентов.Ведомость, | РасходныйКассовыйОрдерВыплатаДепонентов.СуммаКВыплате, | РасходныйКассовыйОрдерВыплатаДепонентов.Ссылка.Нов_Касса КАК Нов_Касса, | РасходныйКассовыйОрдерВыплатаДепонентов.Ссылка.Организация, | РасходныйКассовыйОрдерВыплатаДепонентов.Ссылка.Контрагент, | РасходныйКассовыйОрдерВыплатаДепонентов.Ссылка.ВидОперации КАК ВидОперации, | РасходныйКассовыйОрдерВыплатаДепонентов.Ссылка.ПлатежнаяВедомость |ИЗ | Документ.РасходныйКассовыйОрдер.ВыплатаДепонентов КАК РасходныйКассовыйОрдерВыплатаДепонентов |ГДЕ | РасходныйКассовыйОрдерВыплатаДепонентов.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания |ИТОГИ ПО | ВидОперации, | Нов_Касса"; Запрос.УстановитьПараметр("ДатаНачала", ДатаНачала); Запрос.УстановитьПараметр("ДатаОкончания", ДатаОкончания); Результат = Запрос.Выполнить(); ВыборкаВидОперации = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаВидОперации.Следующий() Цикл Если ВыборкаВидОперации.ВидОперации=Перечисления.ВидыОперацийРКО.ВыплатаЗаработнойПлатыРаботнику Тогда объект=Документы.РасходныйКассовыйОрдер.СоздатьДокумент(); объект.ВидОперации=Перечисления.ВидыОперацийРКО.ВыплатаЗаработнойПлатыРаботнику; объект.ПлатежнаяВедомость=ВыборкаВидОперации.ПлатежнаяВедомость; объект.Контрагент=ВыборкаВидОперации.Контрагент; объект.Нов_Касса=ВыборкаВидОперации.Нов_Касса; объект.Организация=ВыборкаВидОперации.Организация; объект.Записать(); Иначе ВыборкаНов_Касса = ВыборкаВидОперации.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаНов_Касса.Следующий() Цикл ВыборкаДетальныеЗаписи = ВыборкаНов_Касса.Выбрать(); объект=Документы.РасходныйКассовыйОрдер.СоздатьДокумент(); объект.ВидОперации=ВыборкаНов_Касса.ВидОперации; объект.Нов_Касса=ВыборкаНов_Касса.Нов_Касса; объект.Организация=ВыборкаНов_Касса.Организация; НС=0; Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Если ВыборкаДетальныеЗаписи.ВидОперации=Перечисления.ВидыОперацийРКО.ВыплатаДепонентов Тогда НС=НС+1; стр=объект.ВыплатаДепонентов.Добавить(); стр.Ведомость=ВыборкаДетальныеЗаписи.Ведомость; стр.СуммаКВыплате=ВыборкаДетальныеЗаписи.СуммаКВыплате; стр.ФизЛицо=ВыборкаДетальныеЗаписи.ФизЛицо; стр.НомерСтроки=НС; ИначеЕсли ВыборкаДетальныеЗаписи.ВидОперации=Перечисления.ВидыОперацийРКО.ВыплатаЗаработнойПлатыПоВедомостям Тогда НС=НС+1; стр=объект.ВыплатаЗаработнойПлаты.Добавить(); стр.Ведомость=ВыборкаДетальныеЗаписи.Ведомость; стр.СуммаКВыплате=ВыборкаДетальныеЗаписи.СуммаКВыплате; стр.НомерСтроки=НС; КонецЕсли; КонецЦикла; объект.Записать(); КонецЦикла; КонецЕсли; КонецЦикла; |
|||
11
Smallrat
12.07.12
✎
09:31
|
Наверное сработает. Осталось только определить где оно должно сработать и что получится на выходе.
|
|||
12
andrewks
12.07.12
✎
09:34
|
(10) это чё за жесть? зачем курочить базу? или у тебя всё надо сделать в рамках одной базы?
|
|||
13
petname
12.07.12
✎
09:36
|
(12) при переносе из ЗУП в УПП
|
|||
14
petname
12.07.12
✎
09:37
|
(11) при выгрузке данных пробую
|
|||
15
Smallrat
12.07.12
✎
09:42
|
(14) Начнем сначала: "Как сливать документы при конвертации" - под конвертацией понимается использование конфигурации "Конвертация данных" ?
|
|||
16
petname
12.07.12
✎
10:18
|
(15) да в ней в ПКО в выгрузке РасходноКассовогоОрдера есть необходимость сгруппировать документы
|
|||
17
acsent
12.07.12
✎
10:21
|
создаешь структуру с полями и тч и ВыгрузитьПоПравилу
|
|||
18
petname
12.07.12
✎
10:30
|
простите за назойливость но можно пример кода я уже просто не воспринимаю ни х..ра
|
|||
19
Йохохо
12.07.12
✎
11:42
|
у тебя одиночные переносятся один в один, а групповые сливаются, так?
плюс по дате сливаются, что, думаю, не верно |
|||
20
Йохохо
12.07.12
✎
11:52
|
как идея
1. формируешь уникальный признак твоей группировки. например Дата+Касса+ВидОперации 2. пихаешь его в ненужный реквизит, в комментарий 3. в ПКГС ТЧ при выгрузке пишешь НеОчищать = Истина; // ТЧ будет дополняться, а не перезаписываться 4. Ставишь поиск по уникальному признаку группировки 5. изи профит, больше ничего не надо менять только надо продумать заполнение остальных реквизитов документа |
|||
21
Йохохо
12.07.12
✎
11:55
|
фигню написал
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |