|
КД Перенос документа Корректировка Записей регистра | ☑ | ||
---|---|---|---|---|
0
uradead
03.02.18
✎
23:53
|
третий день бьюсь не получается перенести документ. конфигурация УПП
Точнее документ переносится а вот записи регистра накопления нет. Режим обмена данными код (пробовал и в ПКО после выгрузки и в ПВД после выгрузки): Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ВзаиморасчетыСКонтрагентами.Период, | ВзаиморасчетыСКонтрагентами.Регистратор, | ВзаиморасчетыСКонтрагентами.ВидДвижения, | ВзаиморасчетыСКонтрагентами.ДоговорКонтрагента, | ВзаиморасчетыСКонтрагентами.Сделка, | ВзаиморасчетыСКонтрагентами.Сделка КАК Заказ, | ВзаиморасчетыСКонтрагентами.Сделка КАК Документ, | ВзаиморасчетыСКонтрагентами.Организация, | ВзаиморасчетыСКонтрагентами.Контрагент, | ВзаиморасчетыСКонтрагентами.СуммаВзаиморасчетов, | ВзаиморасчетыСКонтрагентами.СуммаВзаиморасчетов КАК Сумма, | ВзаиморасчетыСКонтрагентами.СуммаВзаиморасчетов КАК СуммаВал |ИЗ | РегистрНакопления.ВзаиморасчетыСКонтрагентами КАК ВзаиморасчетыСКонтрагентами |ГДЕ | ВзаиморасчетыСКонтрагентами.Активность = Истина И | ВзаиморасчетыСКонтрагентами.Регистратор = &Регистратор "; Запрос.УстановитьПараметр("Регистратор", Объект.Ссылка); Записи = Запрос.Выполнить().Выбрать(); Пока Записи.Следующий() Цикл ИсходящиеДанные = Новый Структура("ВидДвижения, Документ, Заказ, Контрагент, Организация,Период,Регистратор,СодержаниеПроводки,Сумма,СуммаВал"); ИсходящиеДанные.ВидДвижения = Записи.ВидДвижения; ИсходящиеДанные.Документ = Записи.Сделка; ИсходящиеДанные.Заказ = Записи.Сделка; ИсходящиеДанные.Контрагент = Записи.Контрагент; ИсходящиеДанные.Организация = Записи.Организация; ИсходящиеДанные.Период = Записи.Период; ИсходящиеДанные.Регистратор = Записи.Регистратор; ИсходящиеДанные.СодержаниеПроводки = Объект.Номер + " " +ТипЗнч(Объект); ИсходящиеДанные.Сумма = Записи.СуммаВзаиморасчетов; ИсходящиеДанные.СуммаВал = Записи.СуммаВзаиморасчетов; Если Метаданные().Имя = "КонвертацияОбъектовИнформационныхБаз" Тогда СтруктураНабораЗаписей = Новый Структура; Отбор = Новый Массив; ЭлементОтбора = Новый Структура(); ЭлементОтбора.Вставить("Имя", "Документ"); // ЭлементОтбора.Вставить("Использование", Истина); ЭлементОтбора.Вставить("Значение", ИсходящиеДанные[ЭлементОтбора.Имя]);// Отбор.Добавить(ЭлементОтбора); ЭлементОтбора = Новый Структура(); ЭлементОтбора.Вставить("Имя", "Заказ"); ЭлементОтбора.Вставить("Использование", Истина); ЭлементОтбора.Вставить("Значение", ИсходящиеДанные[ЭлементОтбора.Имя]);// Отбор.Добавить(ЭлементОтбора); ЭлементОтбора = Новый Структура(); ЭлементОтбора.Вставить("Имя", "Организация"); ЭлементОтбора.Вставить("Использование", Истина); ЭлементОтбора.Вставить("Значение", ИсходящиеДанные[ЭлементОтбора.Имя]);// Отбор.Добавить(ЭлементОтбора); ЭлементОтбора = Новый Структура(); ЭлементОтбора.Вставить("Имя", "Контрагент"); ЭлементОтбора.Вставить("Использование", Истина); ЭлементОтбора.Вставить("Значение", ИсходящиеДанные[ЭлементОтбора.Имя]);// Отбор.Добавить(ЭлементОтбора); СтруктураНабораЗаписей.Вставить("Отбор", Отбор); СтрокиНабораЗаписей = Новый Массив; СтрокиНабораЗаписей.Добавить(Неопределено); СтруктураНабораЗаписей.Вставить("Строки", СтрокиНабораЗаписей); ВыгрузитьРегистр(СтруктураНабораЗаписей,,ИсходящиеДанные,Ложь,"РасчетыСПокупателями"); Иначе // Видимо, выгрузка обработкой УниверсальныйОбменДаннымиXML ВыгрузитьПоПравилу(Объект,,ИсходящиеДанные,,"РасчетыСПокупателями"); КонецЕсли; КонецЦикла; Пишет ошибку: Ошибка в обработчике события ПослеВыгрузкиОбъекта ПВД = КорректировкаЗаписейРегистров Объект = Корректировка записей регистров УП000000001 от 02.02.2018 16:26:20 (Документ объект: Корректировка записей регистров) Обработчик = ПослеВыгрузкиОбъектаВыборки ОписаниеОшибки = Ошибка получения свойства объекта из входящих данных ПКО = РасчетыСПокупателями (:) ПКС = 3 (--> Документ) Объект = Структура (Структура) СвойствоПриемника = Документ () ОписаниеОшибки = Получение элемента по индексу для значения не определено ПозицияМодуля = Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(10186) КСообщенияОбОшибках = 68 ПозицияМодуля = Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(3646) |
|||
1
uradead
03.02.18
✎
23:54
|
правило обмена для регистра -
всё из входящих данных |
|||
2
Amra
03.02.18
✎
23:57
|
Изврат. Простой перенос движений документа. Безо всякого кода
|
|||
3
uradead
05.02.18
✎
10:04
|
А как движения выгрузить у этого документа? их ведь надо загрузить ещё в другую конфу (crm). В общем решил пойти с другой стороны, от регистра
|
|||
4
uradead
05.02.18
✎
10:34
|
Не тут то было. Выгрузилось всё корректно, но при загрузке
{Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(9111)}: Поле объекта не обнаружено (РегистрНакопленияЗапись.РасчетыСПокупателями) Объект = РегистрыСведений[ИмяРегистра].СоздатьНаборЗаписей(); Какого он хочет писать в регистрСведений? В какую сторону копать? Вообще можно регистры накопления передавать из базы в базу? |
|||
5
Йохохо
05.02.18
✎
10:36
|
(4) это такой специфический документ, вот так он и устроен
|
|||
6
azt-yur
05.02.18
✎
10:41
|
(4) Подчиненные регистры можно переносить только с регистратором.
Настройте структуру ПКО документа с движениями, предварительно структура базы у вас должна быть выгружена с движениями документов. И код действительно писать не надо, все делается одной мышкой. |
|||
7
uradead
05.02.18
✎
10:49
|
"выгружена с движениями документов"
Вот, походу, ключевое слово. Сейчас попробую. Но дальше задача усложняется, мне нужно будет передать документ ВозвратОтПоставщика (в части движения по регистру ВзаиморасчётыСКонтрагентом) в "Корректировку записей регистра". Как в таком случае быть? |
|||
8
azt-yur
05.02.18
✎
11:20
|
(7) Настраиваешь ПКО ВозвратОтПоставщика - КорректировкаЗаписейРегистров с переносом движений по нужному регистру и все
|
|||
9
azt-yur
05.02.18
✎
11:21
|
(8) ну и в корректировке не забываешь заполнить таб.часть ТаблицаРегистровНакопления
|
|||
10
uradead
05.02.18
✎
11:50
|
Да, увидел, что это модно настроить.
Спасибо. Но тут новая напасть. При обновлении типовых правил. Ошибка :( Неправильно указана табличная часть "ВзаиморасчетыСКонтрагентами" объекта "Корректировка записей регистров". Табличная часть не существует. я так понимаю, он говорит что нету такой табличной части у документа |
|||
11
Amra
05.02.18
✎
11:52
|
(10) Когда выгружал структуру конфигурцуии не выгрузил движения документак
|
|||
12
uradead
05.02.18
✎
11:57
|
выгрузил, как же, иначе он бы мне не дал выбрать этот набор движений.
Что делал: Структуру выгрузил, правило написал. Сохранил в файл. Пото в Плане обмена (своём) заменил ПравилаОбмена на получившиеся - сохранил - запустил. В Операции -> Регистры сведений -> "Правила для обмена данными" нажимаю кнопку "обновить все типовые правила" и вот в это момент ошибка в журнал пишется |
|||
13
hhhh
05.02.18
✎
12:07
|
(12) таб.часть ТаблицаРегистровНакопления
|
|||
14
azt-yur
05.02.18
✎
12:11
|
(10) Для постоянного обмена значит не прокатывает. Через обработку вручную должно работать. Можешь попробовать внести доработки в программу чтобы ошибку не выдавал и проверить перенесет ли.
У меня была похожая задача переноса документов в ERP, вот для операций перенести движения так и не удалось, ошибок у меня не выдавало, сам документ переносился, а движения нет. Они тоже как то должны быть зарегистрированы для переноса. До конца разбираться не стал, операций было не так много |
|||
15
uradead
05.02.18
✎
12:16
|
Похоже наступил на все грабли с этим регистром накопления :( (13) С этой табличной частью всё нормально. На неё не ругается
|
|||
16
Йохохо
05.02.18
✎
12:17
|
(15) а другой там нет
|
|||
17
uradead
05.02.18
✎
12:26
|
(16) Понятно что нет, цель - выгрузить регистр накопления
Посоветовали через наборы движений итог ругается на набор движений, что нет такой Табличной части. И я с ним полностью согласен - нет такой табличной части. Но надеялся, что он по типу прошаритЮ что это не настоящая табличная часть |
|||
18
PCcomCat
05.02.18
✎
12:31
|
ВыгрузкаЗагрузкаДанныхXML - без всяких мучений...
|
|||
19
uradead
05.02.18
✎
12:32
|
(18) Мне постоянный обмен нужен. Через ВыгрузкаЗагрузкаДанныхXML подозреваю что всё получится
|
|||
20
uradead
05.02.18
✎
13:18
|
Спасибо други. Всё заработало. Особенное спасибо azt-yur (вот что значит тёзка)
Так как в инете находил только вопросы на эту проблему, напишу для себя и потомков как победить: 1) Выгружаем структуру с движениями документов 2) В КД настраиваем документ и нужный набор движений 3) Загружаем это всё в ПравилаОбмена в Плане обмена (своём) 4) Комментируем проверку при загрузке правил обмена в обработке КонвертацияОбъектовИнформационныхБаз (искал по Неправильно указана табличная часть) 5) и собственно всё, выгружается, а главное загружается всё на ура. |
|||
21
uradead
05.02.18
✎
13:20
|
в обработке КонвертацияОбъектовИнформационныхБаз можно было конечно не комментировать, а добавить проверку на Вид табличной части, может кто допишет...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |