КД 2.1 перенос документа, внутри которого регистр накопления
КД 2.1, перенос между одинаковыми конфигурациями УТ 11.
Нужно перенести документ КорректировкаРегистров, внутри которого регистр накопления (свой регистр, не типовой).
Ниже ПВД (перед обработкой, общий алгоритм)
Не выгружаются данные из исходной базы.
Нужно перенести документ КорректировкаРегистров, внутри которого регистр накопления (свой регистр, не типовой).
Ниже ПВД (перед обработкой, общий алгоритм)
ИсхДанные = Новый Структура("Дата, Комментарий, ТаблицаРегистров");
ИсхДанные.Дата = ТекущаяДата();
ИсхДанные.Комментарий = "кд (загрузка)";
ИсхДанные.ТаблицаРегистров = Запросы.РегНакопленияПродажи1С77.Выполнить().Выгрузить();
ИсхДанные.ТаблицаРегистров = Новый ТаблицаЗначений();
ИсхДанные.ТаблицаРегистров.Колонки.Добавить("Имя");
СтрокаРегНакопления = ИсхДанные.ТаблицаРегистров.Добавить();
СтрокаРегНакопления.Имя = "ПродажиИз1С77";
ВыгрузитьПоПравилу(,,ИсхДанные,,"КорректировкаРегистровПродажи1С77");
ПоказатьНе выгружаются данные из исходной базы.
По теме из базы знаний
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(4)
Поправил так.
Ошибка получения значения свойства подчиненного объекта (по имени свойства приемника)
ПКО = КорректировкаРегистровПродажи1С77 (Документ: Корректировка регистров)
ПКС = 6 (--> Имя)
Объект = (Не определено)
СвойствоПриемника = Имя (Строка)
ОписаниеОшибки = Поле объекта не обнаружено (Имя)
ПозицияМодуля = Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(9455)
КодСообщения = 17
Поправил так.
ИсхДанные = Новый Структура("Дата, Комментарий, ТаблицаРегистров");
ИсхДанные.Дата = ТекущаяДата();
ИсхДанные.Комментарий = "кд (загрузка)";
ИсхДанные.ТаблицаРегистров = Новый ТаблицаЗначений();
ИсхДанные.ТаблицаРегистров.Колонки.Добавить("Имя");
СтрокаРегНакопления = ИсхДанные.ТаблицаРегистров.Добавить();
СтрокаРегНакопления.Имя = "ПродажиИз1С77";
ИсхДанные.ТаблицаРегистров = Запросы.РегНакопленияПродажи1С77.Выполнить().Выгрузить();
ВыгрузитьПоПравилу(,,ИсхДанные,,"КорректировкаРегистровПродажи1С77");
ПоказатьОшибка получения значения свойства подчиненного объекта (по имени свойства приемника)
ПКО = КорректировкаРегистровПродажи1С77 (Документ: Корректировка регистров)
ПКС = 6 (--> Имя)
Объект = (Не определено)
СвойствоПриемника = Имя (Строка)
ОписаниеОшибки = Поле объекта не обнаружено (Имя)
ПозицияМодуля = Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(9455)
КодСообщения = 17
(2)
Наверно, да.
В алгоритмах в запросах, там простой запрос ниже
Наверно, да.
В алгоритмах в запросах, там простой запрос ниже
ВЫБРАТЬ
Период КАК Период,
Активность КАК Активность,
Клиент КАК Клиент,
Контрагент КАК Контрагент,
Организация КАК Организация,
Номенклатура1С8 КАК Номенклатура1С8,
ЦФО КАК ЦФО,
Менеджер КАК Менеджер,
Проект КАК Проект,
Сделка КАК Сделка,
Номенклатура КАК Номенклатура,
СуммаПродажи КАК СуммаПродажи
ИЗ
РегистрНакопления.ПродажиИз1С77 КАК ПродажиИз1С77
Показать
(3)
А где вид движения?
Период КАК Период,
Активность КАК Активность,
Клиент КАК Клиент,
Контрагент КАК Контрагент,
Организация КАК Организация,
Номенклатура1С8 КАК Номенклатура1С8,
ЦФО КАК ЦФО,
Менеджер КАК Менеджер,
Проект КАК Проект,
Сделка КАК Сделка,
Номенклатура КАК Номенклатура,
СуммаПродажи КАК СуммаПродажи
Активность КАК Активность,
Клиент КАК Клиент,
Контрагент КАК Контрагент,
Организация КАК Организация,
Номенклатура1С8 КАК Номенклатура1С8,
ЦФО КАК ЦФО,
Менеджер КАК Менеджер,
Проект КАК Проект,
Сделка КАК Сделка,
Номенклатура КАК Номенклатура,
СуммаПродажи КАК СуммаПродажи
А где вид движения?
11.
пользователь
16.08.19 14:34
Простите, но какой-то фарш. В документе нет никаких регистров и ненужно выгружать в табличную часть документа, содержимое регистра. Регистр выгружается отдельно и связывается с документом по полю "Регистратор". В табличную часть документа "Корректировка регистра" пишется только имя регистра, в котором(ых) редактировались движения. Следовательно должно быть одно из:
1. ПВД "РегНакопленияПродажи1С77", для него должно быть ПКО "РегНакопленияПродажи1С77", в котором указано свойство "Регистратор" с ПКО "КорректировкаРегистров" и документ будет выгружаться по ссылке.
2. ПВД "КорректировкаРегистров" в обработчике После выгрузке написать запрос по регистру и передать в функцию ВыгрузитьПоПравилу(,,РезультатЗапроса,,"КорректировкаРегистровПродажи1С77"); которая выгрузит движения по документу.
В документе к табличной части в обработчик создавайте ОбъектКоллекции типа ТаблицаЗначений, добавляйте строку и в "Имя" пишите имя регистра.
1. ПВД "РегНакопленияПродажи1С77", для него должно быть ПКО "РегНакопленияПродажи1С77", в котором указано свойство "Регистратор" с ПКО "КорректировкаРегистров" и документ будет выгружаться по ссылке.
2. ПВД "КорректировкаРегистров" в обработчике После выгрузке написать запрос по регистру и передать в функцию ВыгрузитьПоПравилу(,,РезультатЗапроса,,"КорректировкаРегистровПродажи1С77"); которая выгрузит движения по документу.
В документе к табличной части в обработчик создавайте ОбъектКоллекции типа ТаблицаЗначений, добавляйте строку и в "Имя" пишите имя регистра.
(11)
Пробую по второму варианту
Ошибка получения свойства объекта из входящих данных
ПКО = ПродажиИз1С77 (Регистр накопления: Продажи из 1С 7.7)
ПКС = 1 (--> Клиент)
Объект = (Не определено)
СвойствоПриемника = Клиент (СправочникСсылка.Партнеры)
ОписаниеОшибки = Поле объекта не обнаружено (Клиент)
ПозицияМодуля = Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(9455)
КодСообщения = 68
В запросе, поле Клиент есть.
Пробую по второму варианту
Ошибка получения свойства объекта из входящих данных
ПКО = ПродажиИз1С77 (Регистр накопления: Продажи из 1С 7.7)
ПКС = 1 (--> Клиент)
Объект = (Не определено)
СвойствоПриемника = Клиент (СправочникСсылка.Партнеры)
ОписаниеОшибки = Поле объекта не обнаружено (Клиент)
ПозицияМодуля = Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(9455)
КодСообщения = 68
В запросе, поле Клиент есть.
Прикрепленные файлы:
(15)
Я в ВыгрузкуПоПравилу передаю Табицу значений (из запроса), а нужно кажется Структуру.
Поэтому он не видит поле Клиент т.к. оно первое в списке, вот и пишет с ним ошибку.
Как мне структуру сделать из Таблицы значений?
У меня документ на каждый день с регистром накопления внутри.
Нужно, чтобы это так же перелетело в базу Приемник.
Я в ВыгрузкуПоПравилу передаю Табицу значений (из запроса), а нужно кажется Структуру.
Поэтому он не видит поле Клиент т.к. оно первое в списке, вот и пишет с ним ошибку.
Как мне структуру сделать из Таблицы значений?
У меня документ на каждый день с регистром накопления внутри.
Нужно, чтобы это так же перелетело в базу Приемник.
(16)если нужна структура вместо ТЗ то это вот так
Функция ПреобразоватьТаблицуВМассив(ТаблицаЗначений) Экспорт
Перем РезультатМассив;
Перем СтруктураСтрока;
// Сформируем массив структур
РезультатМассив = Новый Массив;
Для Каждого Строка Из ТаблицаЗначений Цикл
// Сформируем структуру-строку
СтруктураСтрока = Новый Структура;
Для Каждого Колонка Из ТаблицаЗначений.Колонки Цикл
СтруктураСтрока.Вставить(Колонка.Имя, Строка[Колонка.Имя]);
КонецЦикла;
РезультатМассив.Добавить(СтруктураСтрока);
КонецЦикла;
Возврат РезультатМассив;
КонецФункции
Показать
Ds
(15)
Если есть возможность выложите скриншоты,
как перенести документ КорректировкаРеализация с переносом двух типовых регистров накопления (УТ 11.4).
Документы переносятся, а регистр накопления - нет.
Попытался выгрузить только регистр накопления без кода (ПВД+ ПКО). Не выгружается.
(15)
Если есть возможность выложите скриншоты,
как перенести документ КорректировкаРеализация с переносом двух типовых регистров накопления (УТ 11.4).
Документы переносятся, а регистр накопления - нет.
Попытался выгрузить только регистр накопления без кода (ПВД+ ПКО). Не выгружается.
А зачем через конвертацию? Если перенос между одинаковыми конфигурациями УТ 11, то хорошо взять Выгрузка Загрузка данных XML с галочкой "выгружать движения вместе с документом". Правила не нужны. Единственный нюанс - эта обработка всегда элементы ищет по ссылке и есть возможность задвоения. Но если эти базы сделаны копированием второй из первой то все пройдет гладко.
Тут регистр бухгалтерии, но суть та же.
1 выгружаешь образ обработкой MD83Exp.epf с галочками "выгружать регистры накопления"
2. в конвертации настраиваешь соответствие регистров
3. настраиваешь соответствие измерений и ресурсов регистра
4. Чтобы выгружались записи только определенного регистратора (в данном случае док корректировка) я писал перед выгрузкой регистра что то типа
5. Перед выгрузкой реквизита регистратор определить правило выгрузки самого документа (он ведь тоже должен выгрузиться). можно явно указать, а можно кодом прописать типа:
6.готово
1 выгружаешь образ обработкой MD83Exp.epf с галочками "выгружать регистры накопления"
2. в конвертации настраиваешь соответствие регистров
3. настраиваешь соответствие измерений и ресурсов регистра
4. Чтобы выгружались записи только определенного регистратора (в данном случае док корректировка) я писал перед выгрузкой регистра что то типа
Если не ТипЗнч(источник.Регистратор)=Тип("ДокументСсылка.КорректировкаРегистров") ТОгда
Отказ=Истина;
КонецЕсли;
5. Перед выгрузкой реквизита регистратор определить правило выгрузки самого документа (он ведь тоже должен выгрузиться). можно явно указать, а можно кодом прописать типа:
Если ТипЗнч(источник.Регистратор)=Тип("ДокументСсылка.ПоступлениеТоваровУслуг") тогда
Если Источник.Регистратор.ВидОперации = Перечисления.ВидыОперацийПоступлениеТоваровУслуг.ОсновныеСредства тогда
ИмяПКО="ПриобретениеУслугПрочихАктивов_ОС";
иначе
ИмяПКО="ПриобретениеТоваровУслуг";
Конецесли;
Конецесли;
6.готово
Прикрепленные файлы:
(22)Так тут практически так и прописано, только выгружается набор регистра накопления с фильтром по документам "корректировка регистров" и по периоду.
это проще, чем при выгрузке документа формировать запрос для набора записей и передавать его во входящие данные другому ПКО или формировать ТЗ, преобразовывать ее в XML строку, передавать параметром и при загрузке разбирать ее обратно.
это проще, чем при выгрузке документа формировать запрос для набора записей и передавать его во входящие данные другому ПКО или формировать ТЗ, преобразовывать ее в XML строку, передавать параметром и при загрузке разбирать ее обратно.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот