|
Свернуть табличную часть в конвертации данных | ☑ | ||
---|---|---|---|---|
0
rt2000
21.09.15
✎
10:17
|
Продолжаю самостоятельное изучение конвертации данных. Поставил себе задачу и немного в тупике.
В базе источника, в документе "поступления", в табличной части "товары" надо переносить не весь товар, а в зависимости от ставки НДС. Например есть товар Молоко -18%; Творог -18%; Йогурт -10% Молоко и творог, должны стать одним товаров в базе приемника, "Товар18", а йогурт должен стать товаром "товар10" В ПКО Документа "поступления", создал ПГКС. Источник пустой, приемник ТЧ "товары". и добавил 4 поля: "Номенклатура", "Количество", "Ставка НДС", "Цена" В обработчике перед обработкой, написал код: КоллекцияОбъектов = Источник.Товары.Выгрузить(); КоллекцияОбъектов.Свернуть("СтавкаНДС", "Сумма, Количество, Цена"); Переносится "Сумма", "Цена", "СтавкаНДС" Не могу понять, как нужно искать номенклатуру? Реквизит "количество" не переносится, потому что надо заполнять в базе приемника сразу два реквизита "количество" и "КоличествоУпаковок" |
|||
1
Andrey2C
21.09.15
✎
10:33
|
КоллекцияОбъектов.Свернуть("СтавкаНДС,Номенклатура", "Сумма, Количество, Цена"); Так не пойдет?
|
|||
2
Альбатрос
21.09.15
✎
10:35
|
(0) Можешь в ПослеЗагрузки номенклатуру заполнять, отталкиваясь от ставки НДС
|
|||
3
Andrey2C
21.09.15
✎
10:36
|
А тебе надо чтобы один был. Недочитал:)
|
|||
4
rt2000
21.09.15
✎
10:37
|
(1) Номенклатуру передавать не надо.
В данном примере из 3-х строк, должно стать две строки (2) События "ПослеЗагрузки" в ПКГС нет |
|||
5
Альбатрос
21.09.15
✎
10:37
|
(4) ессесно нет, зато оно есть у объекта
|
|||
6
Andrey2C
21.09.15
✎
10:39
|
Бежишь циклом и методом НайтиСтроки ищешь по СтавкеНДС
|
|||
7
Andrey2C
21.09.15
✎
10:41
|
А что в итоге у тебя будет Молоко + Творог = ?
|
|||
8
rt2000
21.09.15
✎
10:59
|
Разобрался, кот этот код вставил в события "После загрузки"
Для каждого стр из Объект.Товары цикл стр.КоличествоУпаковок = стр.Количество; если стр.СтавкаНДС = Перечисления.СтавкиНДС.НДС10 тогда стр.Номенклатура = Справочники.Номенклатура.НайтиПоКоду("!10"); ИначеЕсли стр.СтавкаНДС = Перечисления.СтавкиНДС.НДС18 тогда стр.Номенклатура = Справочники.Номенклатура.НайтиПоКоду("!18"); КонецЕсли КонецЦикла; |
|||
9
Альбатрос
21.09.15
✎
11:00
|
(8) Классный код товара ))))))
|
|||
10
MaxS
21.09.15
✎
11:02
|
(8) В цикле искать по коду одно и тоже тысячи раз? Да, уж. ;)
|
|||
11
GreatOne
21.09.15
✎
11:07
|
Я всегда запросом делаю передвыгрузкой() и помещаю во входящие данные. ПКГС беру из входящих данных.
|
|||
12
GreatOne
21.09.15
✎
11:07
|
Кстати, ТС, для изучения КД лучше возьми что-нибудь не мифическое. Сделай перенос документов демо баз КА в БП 3.0 к примеру.
|
|||
13
rt2000
21.09.15
✎
11:22
|
(12) что за база такая КА?
Я делаю перенос из БП 3.0 в УТ 11.0 (11) Не будет для тебя затруднением показать образец? |
|||
14
rt2000
21.09.15
✎
11:25
|
Еще можете ответить на один вопрос. Перенес табличную часть, реквизиты стоят нормально. Провожу документ, смотрю движения по регистрам и вижу, что цифры не проставились. Если вручную перевыбрать реквизит, то в движения по регистрам цифры попадут
|
|||
15
GreatOne
21.09.15
✎
11:36
|
(14) Отладчик в руки. НЕ все видать реквизиты стоят.
http://screenpresso.com/=3xJY http://screenpresso.com/=dI6od (13) Комплексная авт. Раз все равно перенос делаешь, то замечательно. |
|||
16
GreatOne
21.09.15
✎
11:38
|
(14) настройка списка табличной части кстати, смотри все реквизиты.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |