Конвертация: перенести (с заменой) только один реквизит табличной части
Есть документ в источнике и такой же документ в приемнике (по ид).
Нужно перенести его ещё раз с заменой только одного реквизита в строке табличной части.
С реквизитом документа получается так сделать (ставлю поиск по ид, ставлю галку не создавать если не найден) и во всех реквизитах шапки ставлю галку отключить обработку правила, а на нужный реквизит, чтобы заместил реквизит в приемнике снимаю галку, так прокатывает.
С табличной частью не прокатывает, если на всю папку (ПКГС) ставлю галку отключить обработку правила, он тогда не переносит всю папку и ничего не замещает, если я с папки снимаю галку, на ненужные реквизиты в папке ставлю галки отключить обработку правила, а на нужные снимаю (чтобы перелетели в приемник и заместили, которые в приемнике), тогда нужные реквизиты замещаются, а остальные реквизиты табличной части затираются и становятся пустыми.
Все галки в ПКГС попереставлял, но все равно так не работает, как с реквизитами шапки.
Как сделать так, чтобы в приемнике, только поменялся определенный реквизит табличной части, а все остальное осталось нетронутым?
Нужно перенести его ещё раз с заменой только одного реквизита в строке табличной части.
С реквизитом документа получается так сделать (ставлю поиск по ид, ставлю галку не создавать если не найден) и во всех реквизитах шапки ставлю галку отключить обработку правила, а на нужный реквизит, чтобы заместил реквизит в приемнике снимаю галку, так прокатывает.
С табличной частью не прокатывает, если на всю папку (ПКГС) ставлю галку отключить обработку правила, он тогда не переносит всю папку и ничего не замещает, если я с папки снимаю галку, на ненужные реквизиты в папке ставлю галки отключить обработку правила, а на нужные снимаю (чтобы перелетели в приемник и заместили, которые в приемнике), тогда нужные реквизиты замещаются, а остальные реквизиты табличной части затираются и становятся пустыми.
Все галки в ПКГС попереставлял, но все равно так не работает, как с реквизитами шапки.
Как сделать так, чтобы в приемнике, только поменялся определенный реквизит табличной части, а все остальное осталось нетронутым?
По теме из базы знаний
- 1С: Конвертация данных 3. Инструкции и примеры. EnterpriseData (универсальный формат обмена)
- Создание в 1С 7.7 XML в формате EnterpriseData (универсальный формат обмена), версия 1.5. Инструкции и примеры переноса данных из устаревшей конфигурации 1С 7.7 в любую современную 1С 8.3, поддерживающую EnterpriseData, через Конвертацию данных 3
- Автоматическое распознавание сканов документов и не только. История одной жизни...
- Управление состоянием для шаблона MVC и работы с данными объекта
- Как использовать конвертер для переноса данных из 1С:ITIL в 1С:ITILIUM
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) ANDRU48DOP,
COM - и меняйте, что хотите.
КД - она для прямых перегрузок (ИЗ и в КУДА, один тип данных, в идеале - еще и единое название полей источника и приемника), и когда много-много полей.
Нужно перенести его ещё раз с заменой только одного реквизита в строке табличной части.
Вам делать нечего - это через КД?!
COM - и меняйте, что хотите.
КД - она для прямых перегрузок (ИЗ и в КУДА, один тип данных, в идеале - еще и единое название полей источника и приемника), и когда много-много полей.
Да
Почитал конференцию 1с, там пишу, что данный функционал с галочками для пкгс не катит, потому что нет уникального соответствия строк источника, строкам приемника.
Остается вариант после загрузки сравнить объект с объект.ссылка как-то и проставлять реквизит в табличную часть пока такие мысли.
Почитал конференцию 1с, там пишу, что данный функционал с галочками для пкгс не катит, потому что нет уникального соответствия строк источника, строкам приемника.
Остается вариант после загрузки сравнить объект с объект.ссылка как-то и проставлять реквизит в табличную часть пока такие мысли.
Интересный вопрос.
В приемник передаем параметр Замещаемые реквизиты ТЧ. Тип Строка. Идентификаторы колонок через запятую.
В обработчике "При загрузке" Выгружаем ТЧ в Таблицу значений: Тз=Объект.Ссылка.Товары.Выгрузить();
Сравниваем ТЗ с Объект.Товары, Изменям нужное и загружаем в Объект.Товары: Объект.Товары.Загрузить(ТЗ);
В приемник передаем параметр Замещаемые реквизиты ТЧ. Тип Строка. Идентификаторы колонок через запятую.
В обработчике "При загрузке" Выгружаем ТЧ в Таблицу значений: Тз=Объект.Ссылка.Товары.Выгрузить();
Сравниваем ТЗ с Объект.Товары, Изменям нужное и загружаем в Объект.Товары: Объект.Товары.Загрузить(ТЗ);
пишу, значит галочки действуют в случае, если в табличной части есть поле поиска (на пкгс (группу/папку) нужно галку (отключить обработку правила) снять, на нужные реквизиты галку (отключить обработку правила) снять, на ненужные поставить галку (отключить обработку правила), дальше нужно поставить галку (поиск объекта при загрузке по свойству) на реквизит, по которому будет осуществляться поиск строки в табличной части, на это реквизит обязательно должна быть снята галка (отключить обработку правила).
Ещё есть вариант в ПослеВыгрузки сравнивать объект и объект.ссылка (который загружаем и тот, который уже есть в базе), сравниваем там строки (! но опять же по какому-то идентификатору). ИД у строки ТЧ нет, вот в этом вся трудность механизма в конвертации, на конференции есть темы.
Ещё есть вариант в ПослеВыгрузки сравнивать объект и объект.ссылка (который загружаем и тот, который уже есть в базе), сравниваем там строки (! но опять же по какому-то идентификатору). ИД у строки ТЧ нет, вот в этом вся трудность механизма в конвертации, на конференции есть темы.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот