|
Конвертация данных 2.1. СубконтоДТ. Заменить субконто при выгрузке | ☑ | ||
---|---|---|---|---|
0
voronin_anton
12.05.15
✎
14:25
|
Добрый день.
Выгружаю КорретировкуЗаписейРегистров. В случае если значение субконто документ прошлого года, хочу его меня на документ "ДокументРасчетовСКонтрагентом". Пишу вот такую штуку в ПКС ПередВыгрузкой: СтруктураСубконтоДт = Новый Соответствие; Для Каждого Субконто из ОбъектКоллекции.СубконтоДт Цикл Если ТипЗнч(Субконто.Значение) = Тип("ДокументСсылка.РеализацияТоваровУслуг") Тогда Если Субконто.Значение.Дата <= Параметры.ДатаПереносаОстатков Тогда ДокументПриемник = Неопределено; ДокументИсточник = Субконто.Значение; Выполнить(Алгоритмы.СформироватьДокументРасчетовСКонтрагентом); СтруктураСубконтоДт.Вставить(Субконто.Ключ,ДокументПриемник); Иначе СтруктураСубконтоДт.Вставить(Субконто.Ключ,Субконто.Значение); КонецЕсли; Иначе СтруктураСубконтоДт.Вставить(Субконто.Ключ,Субконто.Значение); КонецЕсли; КонецЦикла; Значение = СтруктураСубконтоДт; В Алгоритмы.СформироватьДокументРасчетовСКонтрагентом просто создается соответствие. Как сообщить обмену, что значение конкретного субконто надо конвертировать по определенному правилу ? |
|||
1
Azverin
12.05.15
✎
14:43
|
Если правильно понял тебя, то код замены и выбор правила нужно писать в ПВД_КоррестировкаЗаписейРегистра_ПослеВыгрузкиОбъекта:
Если Субконто.Значение.Дата <= Параметры.ДатаПереносаОстатков Тогда ВыгрузитьПоПравилу(Субконто, , , , "ДокументРасчетовСКонтрагентом"); КонецЕсли; |
|||
2
Azverin
12.05.15
✎
14:46
|
(1) не, ПослеВыгрузкиОбъекта здесь не подойдёт(
|
|||
3
voronin_anton
12.05.15
✎
14:48
|
(2) ага, не подойдет. Мне надо чтобы он вместо конвертации документа по правилу "РеализацияТоваровУслуг", конвертировал соответствие по правилу "ДокументРасчетовСКонтрагентом"
|
|||
4
Azverin
12.05.15
✎
15:01
|
(3) посмотри типовые или поищи в инете КД+Субконто+ВыгрузитьПоПравилу
|
|||
5
voronin_anton
12.05.15
✎
15:56
|
(4) я уже обыскался, третье сутки ищу
|
|||
6
Гёдза
12.05.15
✎
16:07
|
там же
ИмяПКО = ""; |
|||
7
PCcomCat
12.05.15
✎
16:36
|
Может я делаю через "не как у людей", но всё же:
1. Создаю ПКо, где Источник не указан, приемник - ДокументРасчетовСКонтрагентами. 2. У этого ПКО создаю ПКС Комментарий, Дата, Номер, ПометкаУдаления без источника, а при выгрузке ПКС прописываю, например, для Номер: Значение = ВходящиеДанные.Номер; 3. У Правила конвертации в "Перед конвертацией объекта" пишу: Отказ = истина; СтруктураОбъекта.Вставить("Дата",Источник.Дата); СтруктураОбъекта.Вставить("Номер",НомерДок); // тут мой собранный номер СтруктураОбъекта.Вставить("ДатаВходящегоДокумента",Источник.Дата); СтруктураОбъекта.Вставить("НомерВходящегоДокумента",Источник.Номер); СтруктураОбъекта.Вставить("Комментарий",СокрЛП(Источник.Комментарий) + " // " + СокрЛП(Источник.Ссылка)); ВходящиеДанные = СтруктураОбъекта; ИмяПКО = "ДокументРасчетовСКонтрагентом_ЛюбойДокумент"; ПКО = НайтиПравило(Источник, "ДокументРасчетовСКонтрагентом_ЛюбойДокумент"); В общем, как-то так. |
|||
8
voronin_anton
12.05.15
✎
16:53
|
(7) Ты проблему не понял.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |