КД 2.1 перенос документа, внутри которого регистр накопления

1. user-z99999 71 16.08.19 12:52 Сейчас в теме
КД 2.1, перенос между одинаковыми конфигурациями УТ 11.
Нужно перенести документ КорректировкаРегистров, внутри которого регистр накопления (свой регистр, не типовой).

Ниже ПВД (перед обработкой, общий алгоритм)

ИсхДанные = Новый Структура("Дата, Комментарий, ТаблицаРегистров");

ИсхДанные.Дата = ТекущаяДата(); 
ИсхДанные.Комментарий = "кд (загрузка)";
ИсхДанные.ТаблицаРегистров = Запросы.РегНакопленияПродажи1С77.Выполнить().Выгрузить(); 

ИсхДанные.ТаблицаРегистров = Новый ТаблицаЗначений(); 
ИсхДанные.ТаблицаРегистров.Колонки.Добавить("Имя");

СтрокаРегНакопления = ИсхДанные.ТаблицаРегистров.Добавить();
СтрокаРегНакопления.Имя = "ПродажиИз1С77";


ВыгрузитьПоПравилу(,,ИсхДанные,,"КорректировкаРегистровПродажи1С77");
Показать


Не выгружаются данные из исходной базы.
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
24. user-z99999 71 27.08.19 15:07 Сейчас в теме +1.3 $m
Когда выгружаем схему при помощи MD83Exp, нужно поставить галочку Выгружать движения.
Тогда в ПКО можно указать регистр накопления.

Всем спасибо за участие в решении вопроса.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. spacecraft 16.08.19 13:50 Сейчас в теме +0.2 $m
(1)
ИсхДанные.ТаблицаРегистров = Запросы.РегНакопленияПродажи1С77.Выполнить().Выгрузить();

ИсхДанные.ТаблицаРегистров = Новый ТаблицаЗначений();

И что хотите?
nomad_irk; +1 Ответить
6. user-z99999 71 16.08.19 13:57 Сейчас в теме
(4)
Поправил так.

ИсхДанные = Новый Структура("Дата, Комментарий, ТаблицаРегистров");

ИсхДанные.Дата = ТекущаяДата(); 
ИсхДанные.Комментарий = "кд (загрузка)";
 

ИсхДанные.ТаблицаРегистров = Новый ТаблицаЗначений(); 
ИсхДанные.ТаблицаРегистров.Колонки.Добавить("Имя");

СтрокаРегНакопления = ИсхДанные.ТаблицаРегистров.Добавить();
СтрокаРегНакопления.Имя = "ПродажиИз1С77"; 

ИсхДанные.ТаблицаРегистров = Запросы.РегНакопленияПродажи1С77.Выполнить().Выгрузить();

ВыгрузитьПоПравилу(,,ИсхДанные,,"КорректировкаРегистровПродажи1С77");

Показать


Ошибка получения значения свойства подчиненного объекта (по имени свойства приемника)
ПКО = КорректировкаРегистровПродажи1С77 (Документ: Корректировка регистров)
ПКС = 6 (--> Имя)
Объект = (Не определено)
СвойствоПриемника = Имя (Строка)
ОписаниеОшибки = Поле объекта не обнаружено (Имя)
ПозицияМодуля = Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(9455)
КодСообщения = 17
2. D_e_X_T_e_R 575 16.08.19 12:57 Сейчас в теме
ИсхДанные.ТаблицаРегистров = Запросы.РегНакопленияПродажи1С77.Выполнить().Выгрузить(); 

Вот тут данные в ТЗ выгружает?
3. user-z99999 71 16.08.19 13:47 Сейчас в теме
(2)
Наверно, да.
В алгоритмах в запросах, там простой запрос ниже

ВЫБРАТЬ
	Период КАК Период,
	Активность КАК Активность,
	Клиент КАК Клиент,
	Контрагент КАК Контрагент,
	Организация КАК Организация,
	Номенклатура1С8 КАК Номенклатура1С8,
	ЦФО КАК ЦФО,
	Менеджер КАК Менеджер,
	Проект КАК Проект,
	Сделка КАК Сделка,
	Номенклатура КАК Номенклатура,	
	СуммаПродажи КАК СуммаПродажи
ИЗ
	РегистрНакопления.ПродажиИз1С77 КАК ПродажиИз1С77
Показать
9. D_e_X_T_e_R 575 16.08.19 14:19 Сейчас в теме +0.2 $m
(3)
Период КАК Период,
Активность КАК Активность,
Клиент КАК Клиент,
Контрагент КАК Контрагент,
Организация КАК Организация,
Номенклатура1С8 КАК Номенклатура1С8,
ЦФО КАК ЦФО,
Менеджер КАК Менеджер,
Проект КАК Проект,
Сделка КАК Сделка,
Номенклатура КАК Номенклатура,
СуммаПродажи КАК СуммаПродажи


А где вид движения?
12. user-z99999 71 16.08.19 14:44 Сейчас в теме
(9)
Вид регистра: Обороты.
5. user-z99999 71 16.08.19 13:51 Сейчас в теме
ПКО так настроено.
Прикрепленные файлы:
7. user-z99999 71 16.08.19 14:02 Сейчас в теме
ПКС такое.
Прикрепленные файлы:
8. user-z99999 71 16.08.19 14:15 Сейчас в теме
Кажется в ПКС у документа нужно как-то добавить
ТаблицаРегистровНакопления (табличная часть)
и
ПродажиИз1С77 (набор движений регистра накопления)

Но там нет возможности выбрать, скриншот выше.
10. D_e_X_T_e_R 575 16.08.19 14:20 Сейчас в теме
Реквизиты в табличной части полностью соответствуют тем, что в запросе?
Загружается просто в ТЧ документа в приемник из РН в источнике?
13. user-z99999 71 16.08.19 14:45 Сейчас в теме
(10)
Нет. В табличной части можно указать только Имя. см.выше скриншот.
11. пользователь 16.08.19 14:34
Простите, но какой-то фарш. В документе нет никаких регистров и ненужно выгружать в табличную часть документа, содержимое регистра. Регистр выгружается отдельно и связывается с документом по полю "Регистратор". В табличную часть документа "Корректировка регистра" пишется только имя регистра, в котором(ых) редактировались движения. Следовательно должно быть одно из:
1. ПВД "РегНакопленияПродажи1С77", для него должно быть ПКО "РегНакопленияПродажи1С77", в котором указано свойство "Регистратор" с ПКО "КорректировкаРегистров" и документ будет выгружаться по ссылке.
2. ПВД "КорректировкаРегистров" в обработчике После выгрузке написать запрос по регистру и передать в функцию ВыгрузитьПоПравилу(,,РезультатЗапроса,,"КорректировкаРегистровПродажи1С77"); которая выгрузит движения по документу.

В документе к табличной части в обработчик создавайте ОбъектКоллекции типа ТаблицаЗначений, добавляйте строку и в "Имя" пишите имя регистра.
juliia1992; +1 Ответить
14. user-z99999 71 16.08.19 16:47 Сейчас в теме
(11)
Пробую по второму варианту

Ошибка получения свойства объекта из входящих данных
ПКО = ПродажиИз1С77 (Регистр накопления: Продажи из 1С 7.7)
ПКС = 1 (--> Клиент)
Объект = (Не определено)
СвойствоПриемника = Клиент (СправочникСсылка.Партнеры)
ОписаниеОшибки = Поле объекта не обнаружено (Клиент)
ПозицияМодуля = Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(9455)
КодСообщения = 68

В запросе, поле Клиент есть.
Прикрепленные файлы:
15. пользователь 16.08.19 21:10
(14) В правилах все верно. Возможно запрос не возвращает колонку Клиент.
16. user-z99999 71 16.08.19 21:32 Сейчас в теме
(15)
Я в ВыгрузкуПоПравилу передаю Табицу значений (из запроса), а нужно кажется Структуру.
Поэтому он не видит поле Клиент т.к. оно первое в списке, вот и пишет с ним ошибку.

Как мне структуру сделать из Таблицы значений?
У меня документ на каждый день с регистром накопления внутри.
Нужно, чтобы это так же перелетело в базу Приемник.
18. KVIKS 427 19.08.19 14:33 Сейчас в теме
(16)если нужна структура вместо ТЗ то это вот так
Функция ПреобразоватьТаблицуВМассив(ТаблицаЗначений) Экспорт

    Перем РезультатМассив;
    Перем СтруктураСтрока;

    // Сформируем массив структур
 	РезультатМассив = Новый Массив;
	
    Для Каждого Строка Из ТаблицаЗначений Цикл
        // Сформируем структуру-строку
 
        СтруктураСтрока = Новый Структура;
        Для Каждого Колонка Из ТаблицаЗначений.Колонки Цикл
            СтруктураСтрока.Вставить(Колонка.Имя, Строка[Колонка.Имя]);
        КонецЦикла;
        РезультатМассив.Добавить(СтруктураСтрока);
    КонецЦикла;

    Возврат РезультатМассив;

КонецФункции
Показать
19. user-z99999 71 19.08.19 17:24 Сейчас в теме
Ds
(15)
Если есть возможность выложите скриншоты,
как перенести документ КорректировкаРеализация с переносом двух типовых регистров накопления (УТ 11.4).

Документы переносятся, а регистр накопления - нет.
Попытался выгрузить только регистр накопления без кода (ПВД+ ПКО). Не выгружается.
17. KVIKS 427 19.08.19 14:29 Сейчас в теме
А зачем через конвертацию? Если перенос между одинаковыми конфигурациями УТ 11, то хорошо взять Выгрузка Загрузка данных XML с галочкой "выгружать движения вместе с документом". Правила не нужны. Единственный нюанс - эта обработка всегда элементы ищет по ссылке и есть возможность задвоения. Но если эти базы сделаны копированием второй из первой то все пройдет гладко.
20. user-z99999 71 19.08.19 17:26 Сейчас в теме
(17)
Часть объектов выгружаем КД 2.1, а часть Выгрузка Загрузка данных XML ?
Можно ведь всё через КД 2.1 сделать.
21. KVIKS 427 19.08.19 18:39 Сейчас в теме +0.3 $m
Тут регистр бухгалтерии, но суть та же.
1 выгружаешь образ обработкой MD83Exp.epf с галочками "выгружать регистры накопления"
2. в конвертации настраиваешь соответствие регистров
3. настраиваешь соответствие измерений и ресурсов регистра
4. Чтобы выгружались записи только определенного регистратора (в данном случае док корректировка) я писал перед выгрузкой регистра что то типа
Если не ТипЗнч(источник.Регистратор)=Тип("ДокументСсылка.КорректировкаРегистров") ТОгда 
			Отказ=Истина;
	КонецЕсли;

5. Перед выгрузкой реквизита регистратор определить правило выгрузки самого документа (он ведь тоже должен выгрузиться). можно явно указать, а можно кодом прописать типа:
Если ТипЗнч(источник.Регистратор)=Тип("ДокументСсылка.ПоступлениеТоваровУслуг") тогда 
	Если Источник.Регистратор.ВидОперации = Перечисления.ВидыОперацийПоступлениеТоваровУслуг.ОсновныеСредства тогда 
		ИмяПКО="ПриобретениеУслугПрочихАктивов_ОС";
	иначе
		ИмяПКО="ПриобретениеТоваровУслуг";
	Конецесли;	
Конецесли;

6.готово
Прикрепленные файлы:
22. пользователь 21.08.19 22:32
(21) Автор хочет из документа выгружать движения. Я пока на проекте, нет времени расписать так подробно)
23. KVIKS 427 23.08.19 17:17 Сейчас в теме
(22)Так тут практически так и прописано, только выгружается набор регистра накопления с фильтром по документам "корректировка регистров" и по периоду.
это проще, чем при выгрузке документа формировать запрос для набора записей и передавать его во входящие данные другому ПКО или формировать ТЗ, преобразовывать ее в XML строку, передавать параметром и при загрузке разбирать ее обратно.
24. user-z99999 71 27.08.19 15:07 Сейчас в теме +1.3 $m
Когда выгружаем схему при помощи MD83Exp, нужно поставить галочку Выгружать движения.
Тогда в ПКО можно указать регистр накопления.

Всем спасибо за участие в решении вопроса.
25. пользователь 28.08.19 22:27
(24) О боги! Ты же в (14) показал, что у тебя есть ПКО "ПродажиИз1С77" с типом: "Регистр накопления: Продажи из 1С 7.7. Ты его видимо вручную создавал, но как у тебя подтянулся тип если ты не выгружал описания регистров???
26. user-z99999 71 29.08.19 09:59 Сейчас в теме
(25)
в 5 пункте показано, как было настроено.
Там не хватает в ПКС Регистра накопления ПродажиИз1С77.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот