Как перенести движения документа 1с
Сегодня мы разберем, как буквально за 10-15 минут настроить и сделать простой перенос справочников и начальных остатков.
А это – массовая и регулярная задача, которая практически неизбежна для большинства запускаемых новых конфигураций.
Поэтому позовите коллег, им это будет тоже очень полезно.
Особенно, если они уже видели КД 3 и успели испугаться :)
Да, когда ее видишь в первый раз – там вообще ни фига не понятно.
Но на самом деле – все ОЧЕНЬ просто. Настолько просто, что вам потом даже скучно будет :)
Что конкретно в сегодняшних видео
Это 4 видео по обмену данными через универсальный формат обмена EnterpriseData.
Кроме того, мы покажем пример доработки типовых правил обмена в 1С:Конвертации данных 3.0
Общая длительность – 34 минуты. Содержание:
- Настройка обмена на примере 1С:Бухгалтерии 8 и 1C:ERP
- Как сделать загрузку типовых правил и универсального формата обмена в Конвертации Данных 3.0
- Перенос структуры метаданных в КД 3.0
- Как выполнить первый обмен данными
- Доработка правил конвертации
- Как загрузить новые правила без изменения конфигурации (без снятия с поддержки)
Обратите внимание, что при решении этой задачи меняются правила загрузки только в конфигурации-приемнике. А конфигурация-источник работает по типовым правилам.
Если бы подобная задача решалась в Конвертации данных 2.0, то изменения пришлось бы вносить в правилах и источника, и приемника.
Если Вы используете более старшую версию БСП,0 сделайте «поправку» на изменившийся интерфейс и расширенную функциональность. Для этого самостоятельно повторите пример из видео.
Видео 1:
Загрузка правил обмена между типовыми конфигурациями в Конвертацию данных 3.0
В этом уроке выполним подготовительные действия при внесении изменений в правила обмена между типовыми конфигурациями:
- Загрузка в КД структуры формата обмена (XDTO-пакет)
- Загрузка структуры метаданных
- Создание конвертации
- Выгрузка файлов правил из типовой конфигурации
- Выгрузка модуля менеджера обмена
- Загрузка правил в Конвертацию данных
Видео 2:
Доработка правил обмена в КД 3.0
В этом уроке мы покажем, как дозаполнить реквизиты объектов при загрузке данных.
Будет решена задача – при загрузке объектов из конфигурации-источника устанавливать комментарий “Загружено из БП 3.0”.
Для решения задачи потребуется внести изменения в правилах конвертации объектов, в событии “Перед записью полученных данных”.
Разработанные правила будут сохранены в виде внешней обработки для дальнейшего использования.
Видео 3:
Настройка универсального обмена между типовыми конфигурациями
В этом уроке мы покажем, как настраивать новый обмен между типовыми.
Настройки будут сделаны в конфигурации-источнике и затем загружены в конфигурацию-приемник.
Также в этом видео мы покажем, как без изменения конфигурации подгрузить новые правила обмена.
Видео 4:
Перенос начальных остатков с помощью правил обмена
В уроке покажем типовой функционал переноса начальных остатков.
Но при загрузке будут использоваться измененные правила конвертации.
Таким образом, можно просто донастраивать типовые правила и продолжать использовать штатные механизмы обмена.
При решении задачи не было написано ни одной строчки кода ни в конфигурации-источнике, ни в конфигурации-приемнике. Никто из 1С-ников тоже не пострадал :)
Приятного просмотра!
Не пропустите специальные условия на курс “Конвертация Данных 3.0 и технология обмена через универсальный формат (2016)”
Если Вы посмотрели видео – оцените сами, сколько часов/дней ушло бы на настройку и отладку аналогичных обменов через txt / dbf.
Да, обмены через txt / dbf / ole и т.д. имеют право на существование. В каких-то специальных случаях, типа стыковки с веб-сервером или переноса из готового формата внешнего приложения.
Однако для стандартных обменов – стандартные методы и быстрее, и сильно проще.
А если кто-то изобретает велосипед, когда есть готовое универсальное решение – это как написать себе на лбу “инструментом не владею, изучать не хочу, буду строить костыли за ваши деньги” .
Мы хотим показать, что Конвертация Данных 3.0 – это не сложно.
Непривычно – да. Не все сразу понятно – да. Есть очень неоднозначные моменты – да.
Но с помощью готовых инструкций и видео ее можно освоить буквально за 1-2 недели.
Комментарии / обсуждение (64):
Из-за ошибки при переносе данных из 1С-ЕРП в бух. 3.0 долго не не переносились данные, файл переноса очень большой, занимает много времени. Можно – ли выполнить перенос по частям (к примеру – по-документно)?
Добрый день, Иван!
В типовых обменах обычно есть отборы по организациям и т.п. – если они не приносят существенной пользы самый рациональный вариант – загружать этот большой файл. Типовые обмены конечно можно переделать и отладить что-бы не возникало при обмене ошибок, но это займёт почти наверняка значительно больше времени, чем дождаться окончания загрузки.
Возник вопрос по документообороту 2.1. Существует ли типовой функционал по переносу данных НСИ между базами 2.1? или сейчас это недоступно и можно использовать только конвертацию?
Добрый день Кристиан! Типового функционала для переноса/синхронизации только НСИ в документообороте 2.1 нет. Если требуется разово сделать копию ИБ с точно такими-же НСИ – видимо проще всего сделать копию и вычистить ее от ненужного. Если требуется делать перенос изменений в НСИ – видимо использование КД2 или КД3 (используйте то чем лучше владеете или то чем есть желание научиться владеть) лучший вариант.
Открываем конфигурацию Конвертация 2.0, туда загружаем базу.
Главное, что при получении описания метаданных конфигурации поставить флаг - выгружать движения по регистрам.
Далее создаем все правила автоматически, т.к. это предлагает сделать Конвертация 2.0
Также автоматом создаем все правила выгрузки данных.
Вроде все сделано правильно и движения должны переноситься, но увы этого недостаточно.
Начинаем разбираться в коде и в видим, что после загрузке документы с движениями, но в момент записи документа все движения затираются.
Необходимо "после загрузке в глобальном контексте" добавить немного кода (подсказал duhh):
Всё, статья получилась маленькая, но, надеюсь, полезная))
Специальные предложения
Спасибо за полезную статью. Дополню что при переносе регистров сведений будет выбрасываться исключение, потому что у записи регистра нет метода Метаданные().
Поэтому лучше первые две строчки обработчика заменить на вот такие:
Для того чтобы меньше копипастить (не добавлять в каждый обработчик документа), код нужно добавить в "глобальный" обработчик с проверкой на метаданные Документ. (ПРИМЕР МетаданныеОбъекта = Объект.Метаданные(); Если Метаданные.Документы.Содержит(МетаданныеОбъекта)
)
А отказ от типовой обработки не нужен разве? При выполнении обработчика взводится ведь ОбъектМодифицирован и НужноЗаписатьОбъект, после чего идет Записать(Проведение).
т.к. иначе упадет.
В обработке из конфы стоит явно ОтменитьПроведениеОбъектаВИБ с постановкой в очередь отложенного проведения.
В любом случае, это же впустую второй раз запишется.
Ну да, можно вообще не записывать документ принудительно.
1 в вашем коде запись идет без режима ОбменДанными.Загрузка, если он нужен, то надо его прописать
2 дальше обработка обмена сама записывает документ, но т.к. РежимЗаписи при генерации правил не устанавливается, то идет просто запись, уже в режиме загрузки (я думал, что там режим проведения и не сработает)
3 от лишней записи объекта лучше избавиться, установив после принудительной записи
Если в целевой конфигурации в модуле НабораЗаписей производится анализ записей а нужно перенести проводки "как есть".
Предложенный здесь вариант у меня не сработал, помог следующий код, который я помести в ПКО документа событие "После загрузки":
Спасибо за полезную статью. Дополню что при переносе регистров сведений будет выбрасываться исключение, потому что у записи регистра нет метода Метаданные().
Поэтому лучше первые две строчки обработчика заменить на вот такие:
Спасибо за статью!
Делаю свертку базы с нетиповой конфигой переносом в пустую. Столкнулся именно с этой проблемой: отсутствие движений в приемнике.
К сожалению, в моей синхронизации связки ЗУП 3.1 - ЗУП 3.1, указанный код в ПослеЗагрузкиОбъекта не помог, НО получилось решить следующим способом:
1. Минимальная доработка в модуле объекта обработки КонвертацияОбъектовИнформационныхБаз в процедуре ПрочитатьОбъект
"Начинаем разбираться в коде и в видим, что после загрузке документы с движениями, но в момент записи документа все движения затираются." - уточните, по какой причине затирается ? Если в свойствах синхрованы регистры документов - они загружаюся в КД 2.1.8.2
Просмотры 12734
Загрузки 0
Рейтинг 31
Создание 02.09.19 13:10
Обновление 02.09.19 13:10
№ Публикации 1116480
Тип файла Нет файла
Операционная система Не имеет значения
Вид учета Не имеет значения
Доступ к файлу Бесплатно (free)
Код открыт Да
См. также
Обмен данными. Консистентность vs Многопоточность Промо
Рассмотрим теоретические основы обмена данными. Какие бывают обмены, какие гарантии при этом даются, зачем идти на компромиссы и что при этом может пойти не так. Есть ли идеальная схема?
03.09.2019 16305 m-rv 2
Переход с УПП на ERP с сохранением документов. Фантастика или реальность?
В последнее время задача перехода с УПП становится все более актуальной. Причина – ожидаемое снятие УПП с поддержки и более продвинутые возможности последних версий конфигураций 1С. О том, какие методики переноса данных из УПП в ERP можно применить, и как в автоматическом режиме убедиться, что все перенеслось корректно, на конференции Infostart Event 2021 Moscow Premiere рассказал Сергей Сорокин.
28.04.2022 698 primat 0
Выполнение синхронизации (обмен) по событию 1С (двусторонний обмен)
Выполнить синхронизацию(обмен) с другой базой 1С по событию в 1С (проведение документа). Запустить синхронизацию из другой базы 1С.
16.11.2021 2093 Swamt 0
Что делать, когда обмены между разными базами данных портят вам жизнь…
10.09.2021 2052 director04 9
Выгрузка документа по условию Промо
Что делать, если документы нужно выгружать не все подряд, а по какому-то фильтру: статусу, дате, набору условий. А что если он соответствовал этим условиям, а потом перестал? А если потом опять начал? Такие ситуации заставили попотеть не одного программиста.
25.04.2019 18348 m-rv 4
Описание формата 1С JDTO (JSON data transfer object)
Формат 1С JDTO может быть полезен для интеграции информационных баз 1С между собой, а также 1С с внешними системами. Публикация имеет своей целью помочь в освоении этого формата для обмена данными.
16.07.2021 7940 zhichkin 32
Распределенные алгоритмы РИБ 1С
Небольшое исследование на тему применимости классических распределённых алгоритмов репликации и синхронизации данных между узлами обмена РИБ 1С.
02.07.2021 1529 zhichkin 1
Особенности online-обмена между старыми и новыми типовыми
Столкнулся с неприятной особенностью потери части данных при обмене УСО (УПП) - ДО.
01.06.2021 3608 echo77 9
Повышаем эффективность разработки правил обмена Промо
Как повысить скорость и качество разработки правил обмена? Как вести групповую разработку правил обмена? Как облегчить сопровождение правил обмена после передачи в эксплуатацию? Об этом и многом другом вы можете узнать из этой статьи.
25.06.2018 30845 olegtymko 48
Добавление нового документа в формат обмена EnterpriseData (получение)
Данная статья - логическое продолжение (ссылка на первую часть ниже) доработки обмена, но уже на стороне базы приемника.
27.04.2021 1658 con-men 2
Добавление нового документа в формат обмена EnterpriseData (отправка)
Для меня встала задача добавить новый документ, созданный в расширении, в формат обмена EnterpriseData, между БП - УНФ. Изначальный поиск решения не дал результата. Методом проб и ошибок у меня сформировалось свое решение, которым спешу поделиться, чтобы систематизировать информацию в текст и услышать плюсы, минусы подхода. Все доработки осуществляются в расширении, в котором и был создан новый документ.
21.04.2021 3365 con-men 7
Правила обмена больше не нужны
Есть несколько общепринятых подходов к написанию обмена между 1С-системами, каждый из которых упирается в длительное изучение технологии, мучительную отладку правил конвертации и написание большого количества сервисного кода, в котором потом тяжело разобраться. О принципах работы универсального фреймворка liteExchange, который реализует быстрые обмены между 1С и внешними системами, и берет на себя всю техническую обвязку по стандартному преобразованию данных, на INFOSTART MEETUP Saint Petersburg.Online рассказал Николай Крылов.
17.03.2021 14911 Nikola23 40
Универсальный обмен между идентичными конфигурациями через REST интерфейс OData. Часть І: Справочники Промо
Сейчас все чаще интеграции различных конфигураций проектируются через HTTP-сервисы - они и работают быстрее, и "войти" в режим отладки гораздо проще, тем самым обойдя "черный ящик" универсального обмена через xml, например. Более года назад я начал работать в компании, в которой разработчики работали с конфигурациями 1С в режиме совместимости еще 8.2.16 (менять режим совместимости в типичных базах мы не хотели) - а как Вы наверное знаете, если интересовались HTTP-сервисами в 1С, их использование в режиме совместимости 8.3.4 и ниже недопустимо - и здесь я уже не надеялся на разработку и использование HTTP-сервисов. Но позже меня заинтересовал такой "сервис" как REST интерфейс OData, так как его можно использовать не меняя режим совместимости конфигурации - именно он и стал для меня идеальным вариантом решения "нетривиальных" задач.
Возникла следующая ситуация: в параллельной базе экспериментировали с расчетами, получили нужный результат и надо стало чтобы и в рабочей получилось то же самое. Сэмулировать такую же ситуацию в рабочей уже не получалось, поэтому решили переносить движения документа из одной базы в другую.
Внимание: переносятся движения у одного и того же документа, гуид в базах должен быть одинаковый
Поиск всех реквизитов осуществляется по гуиду, соответственно данные должны соответствовать.
Перед переносом очищаются движения документа по переносимым регистрам
Перенос всех движений документа
Перенос движений только конкретных регистров
Перенос движений частями (для большого количества движений, ибо вылетает с ошибкой "недостаточно памяти")
Специальные предложения
(1) всё, подправил
Когда выкладывал отмечал что для восьмерки, похоже скинулось когда бегал по закладкам. Сорри
(4) Во-первых, обмен данных идет напрямую, минуя файл;
во-вторых, типовая выгрузка не будет работать с большими объемами даных (пробовал), для чего было написан перенос частями (см. описание)
(5) Во первых через файл на болших объемах быстрее, во вторых КД2 немного получше будет.
А если серьёзно, не подскажите, чем Ваша разработка лучше/проще/быстрее КД2?
Автору МЕГАРЕСПЕКТ! Обработка спасла много жизней! Пришлосе переносить движения документа "Расчет себестоимости" за стародавний месяц, после нечаянного перепроведения документа!
Обработка изначально написана для 8.1 и для 8.2 работать небудет. Для работы обработки с платформой 8.2 нужно заменить имя ком сервера. Желательно указать это в публикации.
за обработку спасибо, протестировал и плюс поставил. Пришлось несколько месяцев переносить при помощи неё. Всё отлично получилось.
Переношу движения по документу "Расчет себестоимости".. переносится давольно долго.
в связи с чем, такое вот пожелание: Добавьте пожалуйста градусник где бы показывался процент обработанных данных.
Оказалась очень полезной когда грохнули закрытие месяца в закрытом периоде. Кол-во восстанавливаемых проводок приближалось к нескольким сотням. Помогла архивная база и эта обработка. Спасибо автору!
Выражаю признательность за отлично сделанную работу. Спасибо!
Среда запуска:
Предприятие: 8.3.8.2167
Конфигурация
1С УПП 1.3.101.2
Обработка очень полезная и должна быть у каждого, на всякий случай. Неизвестно, когда может возникнуть подобная необходимость.
(16) Запускается в приемнике, настраивается подключение к источнику - файловая или SQL.
Проверял на УПП (1.3.167.2) SQL - прекрасно работает.
Автору спасибо.
Просмотры 23640
Загрузки 777
Рейтинг 38
Создание 11.01.10 08:50
Обновление 11.01.10 00:00
№ Публикации 63799
Конфигурация Конфигурации 1cv8
Операционная система Не имеет значения
Вид учета Не имеет значения
Доступ к файлу Абонемент ($m)
Код открыт Не указано
См. также
Загрузка данных из файла выгрузки в формате XML, выгруженного по правилам обмена. С возможностью выбора документов Промо
Обработка для загрузки из файла выгрузки с возможностью выбора документов для загрузки.
2 стартмани
24.05.2021 2901 19 unknown181538 4
Загрузка выписок из АЦК в формате XLT файлов для БГУ 2.0
Обработка позволяет загружать из выписки лицевого счета в формате XLT (АЦК) в 1С: Бухгалтерию государственного учреждения 2.0 документы Кассовое поступление/выбытие.
1 стартмани
11.02.2022 2934 8 kirill1c 0
Перепроведение документов с контролем проводок
Немного переделанная стандартная обработка «Проведение документов», контролирует проводки документов и если они изменились — сообщает об этом.
1 стартмани
05.06.2021 5611 8 AnryMc 0
Связанные документы или Структура подчиненности (КА 2.4, ERP 2, УТ 11)
В форму структуры подчиненности документов добавлены кнопки проведения, отмены проведения и пометки на удаление. Также красным подсвечены поступления денег и синим списания.
1 стартмани
13.07.2020 15218 21 silver_jr 1
Выгрузка зарплаты из ЗУП 3 в БП 3 по принципу обмена ЗУП 2.5 в БП 3 Промо
Выгрузка отражения зарплаты из ЗУП 3 в Бухгалтерию 3 без настройки типового обмена! т.е. по принципу, как было в ЗУП 2.5.
10 стартмани
13.05.2020 5724 53 boobzx 26
"Учет штрафов ГИБДД" с возможной загрузкой из открытых источников в интернет Расширение конфигурации 1С: Предприятие 8.3
Расширение конфигурации Бухгалтерия предприятия, редакция 3.0 (при минимальных изменениях любой типовой конфигурации), позволяющее вести историю данных по штрафам ГИБДД для справочника транспортных средств компании. Бонусом поставляется внешняя обработка, способная загружать эти данные из открытых источников в интернет.
4 стартмани
30.12.2019 24170 33 capitan 26
Односторонний файловый обмен с сайтом по ftp (1C 2 Web)
Подходит под любую конфигурацию на управляемом интерфейсе на базе БСП 2.4.4 и выше. Позволяет гибко настроить выгрузку, практически любых, данных по расписанию на сервер ftp вашего ресурса. Ведение лога процесса выгрузки также предусмотрено.
3 стартмани
09.12.2019 15653 20 LamerSoft 0
Пакетное пробитие чеков на Онлайн-кассе при оплатах от физических лиц на расчетный счет
Автоматизация процесса пробития чеков онлайн при поступлениях на расчетный счет от физических лиц. Помогает сократить трудозатраты таким организациям, как МФЦ, Управляющие компании и т.д. Подходит для 1С:Бухгалтерия 3.0 любой версии (базовая, ПРОФ, КОРП). Не изменяет конфигурацию. Конфигурация остается на поддержке (типовая).
2 стартмани
24.09.2019 26948 15 r.resh39 7
Загрузка данных из Excel (из табличного документа) в часто используемые объекты: в справочники, документы, их табличные части, в планы видов расчетов, регистры расчета, регистры сведений Промо
Это перепиленная вдоль и поперек версия всем известной обработки "Загрузка из табличного документа" с диска ИТС. Добавлена возможность грузить в документы, виды расчетов, регистры расчета.
9 стартмани
25.06.2014 14017 30 Дмитрий74Чел 6
Списание (корректировка) задолженности контрагентов УНФ 1.6
Обнуление задолженности контрагентов в конфигурации "Управление небольшой (нашей) фирмой" версии 1.6 с помощью документа "Корректировка регистров".
1 стартмани
24.07.2019 36670 23 DMon 1
Обработка берет информацию из истории изменения документов. Удобна для администраторов, когда документы с измененной суммой по какой-то причине не регистрируются в плане обменов. Можно регистрировать не все документы, а только те, которые были изменены.
1 стартмани
20.04.2019 30299 9 ryan 0
Редактор объектов информационной базы 8.3
Универсальная внешняя обработка для редактирования реквизитов и табличных частей объектов информационной базы, редактирование движений документов. Доступ ко всем реквизитам объектов, есть возможность выгрузки и загрузки данных (объекты и движения документов) через XML. Платформа 8.3, управляемые формы. Версия 1.1.0.59 от 02.12.2021
2 стартмани
23.01.2019 47566 552 ROL32 56
Перенумерация документов для Бухгалтерии предприятия 3.0 Промо
Автоматическая перенумерация документов.
1 стартмани
11.11.2013 40460 1186 Poyarkov696 50
Валовая прибыль для УПП 1.3, КА 1.1 в режиме РАУЗ (работа типового отчета без доработок конфигурации)
Простое и мгновенное решение для использования типового отчета "Валовая прибыль" в конфигурациях "Управление производственным предприятием 1.3", "Комплексная автоматизация 1.1" (а также отраслевых решений на их базе) при включенном режиме РАУЗ (расширенная аналитика учета затрат). Не требует настройки или изменения конфигурации, либо может быть, для дополнительного удобства, интегрировано в нее с минимальными доработками.
2 стартмани
21.01.2019 31975 40 stvorl 12
Помощник перехода с КА 1.1 на ЗУП 3.1
Обработка предназначена для переноса данных из КА 1.1 в ЗУП 3.1.
3 стартмани
25.12.2018 40365 139 gudogu 40
Правила обмена данными из Бухгалтерии предприятия ред. 3.0 в Управление производственным предприятием ред. 1.3 для выгрузки платежных документов и связанных объектов
Правила предназначены для регулярного обмена, выгрузки из БП 3.0 в УПП 1.3.
3 стартмани
06.11.2018 25279 6 improg 0
Перенос объектов 1С Промо
Простой и наглядный перенос объектов между любыми базами 1С 8 с предварительным анализом на возможные различия в данных (через файл, через интернет, через буфер обмена, через Com). Интерактивная настройка правил обмена на стороне источника и получателя. В обработке есть удобный обзор по подсистемам, поиск и обработка данных по заданному фильтру. Сравнение объектов, поиск ссылок, регистрация в плане обмена. Конструктор кода по созданию объектов, написание скриптов и отладка мини-функций в УФ. Отключение/включение регламентных заданий. Отчеты по наполнению базы и разные проверки. Всевозможные инструменты администратора или программиста в одной обработке.
При переносе данных между базами часто возникает ситуация, когда движения документов переносить не требуется, а перенесенные документы следует проводить в базе-приёмнике. Например, в базе-источнике ведется управленческий учет, а в базе-приемнике регламентированный. Если при переносе не учитывать свойство «Проведен» документа, то можно получить в приемнике проведенные документы, у которых данные в движениях и в объекте не соответствуют друг другу.
В правилах конвертации объектов (ПКО) в обработчике «Перед загрузкой» существуют параметры «РежимЗаписи» и «РежимПроведения», указание которых обеспечивает необходимый режим записи объекта, но в этом случае, запись происходит во время загрузки данных и если, по каким-то причинам, документ не запишется, загрузка данных будет прервана. Правильней записывать новые документы в конце загрузки, когда все перенесенные объекты уже будут в базе — приемнике.
Несколько основных моментов:
Для решения стоящей задачи наиболее удобно использовать обработчики событий конвертации в целом. Но нам необходимо определить – объект — это документ, и если документ – то проводится ли он. Для идентификации документа используем параметр обработчика ИмяТипаОбъекта.
I. Первый, более простой, случай: требуется оставлять в базе-приемнике документы непроведенными.
Подразумевается, что пользователи в базе-приемнике проверят документы и потом их проведут. Если не переносить движения и просто указать в свойстве «Проведен» — «Значение = Ложь», то можем получить при повторном переносе документы внешне не проведенные, но с движениями. К этому получим справедливое возмущение пользователей, которые не смогут понять результатов отчетов.
Свойство «Проведен» необходимо исключить из переноса в каждом документе. Нам необходимо при выгрузке данных запоминать необходимые для отмены проведения документы и после загрузки данных записать их с режимом отмены проведения. Помимо ссылки на документ необходимо сохранять и информацию об его пометке удаления. Для получения информации о пометке удаления данное свойство каждого проводимого документа необходимо передавать в параметр, который назовем также, как и имя свойства — ПометкаУдаления. (Рис.1)
1. В обработчике « Перед загрузкой данных » конвертации создаем параметр с типом значений «Таблица значений». В колонку «Действие» строкой будем записывать – что делать с документом: просто отменять проведение или еще проставлять пометку на удаление.
ТаблицаДокументов = Новый ТаблицаЗначений ;
ТаблицаДокументов . Колонки . Добавить ( «Ссылка» );
ТаблицаДокументов . Колонки . Добавить ( «Действие» );
Параметры . Вставить ( «ТаблицаДокументов» , ТаблицаДокументов );
2. В обработчике «После загрузки объекта» конвертации, определяем найден ли объект, является ли объект документом, проводится ли он, и если в приемнике он проведен, то только тогда помещаем ссылку на него в наш параметр ТаблицаДокументов.
Если ОбъектНайден
И ИмяТипаОбъекта = «Документ»
И Объект . Метаданные (). Проведение = Метаданные . СвойстваОбъектов . Проведение . Разрешить
И Объект . Ссылка . Проведен Тогда
НоваяСтрока = Параметры . ТаблицаДокументов . Добавить ();
НоваяСтрока . Ссылка = Объект . Ссылка ;
Если ПараметрыОбъекта . Получить ( «ПометкаУдаления» ) Тогда
НоваяСтрока . Действие = «Удаление» ;
Иначе
НоваяСтрока . Действие = «Отмена» ;
КонецЕсли;
ИначеЕсли ПараметрыОбъекта <> Неопределено И Лев ( Строка ( ТипЗнч ( Объект )), 8 ) = «Документ» Тогда
Объект . ПометкаУдаления = ПараметрыОбъекта . Получить ( «ПометкаУдаления» ); //Пометка удаления у новых объектов и непроведенных старых
КонецЕсли;
3. В обработчике «После загрузки данных» конвертации отменяем проведение у записанных документов, проставляем при необходимости пометку на удаление и удаляем наш параметр. При желании отследить процесс удаления код обработчика может выглядеть так:
II. Требуется обеспечить проведение документов в базе-приемнике при переносе.
В этом случае необходимо помимо пометки удаления передавать значение свойства «Проведен» в параметр «Проведен» и данный параметр анализировать в обработчике «После загрузки объекта» (Рис.2).
1. « Перед загрузкой данных » Повторяем создание параметра конвертации, как в первом примере
ТаблицаДокументов = Новый ТаблицаЗначений ;
ТаблицаДокументов . Колонки . Добавить ( «Ссылка» );
ТаблицаДокументов . Колонки . Добавить ( «Действие» );
Параметры . Вставить ( «ТаблицаДокументов» , ТаблицаДокументов );
2. «После загрузки объекта » После загрузки мы должны уже работать с объектами, которые еще не записаны в базе. Документы можно выделить по типу значения, а новый объект, перед внесением в таблицу параметра, необходимо предварительно записать. Не забываем установить параметр «ОбъектМодифицирован» в «Ложь».
Если ИмяТипаОбъекта = «Документ»
И Объект . Метаданные (). Проведение = Метаданные . СвойстваОбъектов . Проведение . Разрешить Тогда
Если Не ОбъектНайден Тогда
Объект . Записать ();
ОбъектМодифицирован = Ложь;
КонецЕсли;
НоваяСтрока = Параметры . ТаблицаДокументов . Добавить ();
НоваяСтрока . Ссылка = Объект . Ссылка ;
Если ПараметрыОбъекта . Получить ( «Проведен» ) Тогда
НоваяСтрока . Действие = «Проведение» ;
ИначеЕсли ПараметрыОбъекта . Получить ( «ПометкаУдаления» ) Тогда
НоваяСтрока . Действие = «Удаление» ;
Иначе
НоваяСтрока . Действие = «Отмена» ;
КонецЕсли;
КонецЕсли;
3. «После загрузки данных » После загрузки мы должны пропустить запись документа, если он не проведен в базе-источнике и в базе приемника. Также необходимо проследить за пометкой удаления.
Для каждого СтрокаТч Из Параметры . ТаблицаДокументов Цикл
Если СтрокаТч . Действие = «Отмена» И Не СтрокаТч . Ссылка . Проведен Тогда
Если СтрокаТч . Ссылка . ПометкаУдаления Тогда //Для снятия пометки удаления
Попытка
ДокОбъект = СтрокаТч . Ссылка . ПолучитьОбъект ();
ДокОбъект . ПометкаУдаления = Ложь;
ДокОбъект . Записать ();
Исключение
КонецПопытки;
КонецЕсли;
Если СтрокаТч . Действие = «Проведение» Тогда
РежимЗаписи = РежимЗаписиДокумента . Проведение ;
Иначе
РежимЗаписи = РежимЗаписиДокумента . ОтменаПроведения ;
КонецЕсли;
Если СтрокаТч . Действие = «Удаление» Тогда
ДокОбъект . ПометкаУдаления = Истина;
ДокОбъект . Записать ();
ИначеЕсли СтрокаТч . Ссылка . ПометкаУдаления Тогда
ДокОбъект . ПометкаУдаления = Ложь;
ДокОбъект . Записать ();
КонецЕсли;
Исключение
Добрый день. Есть правила обмена, по которым документ вместе со своими движениями должен из одной базы БП перенестись в другую базу БП. При использовании Универсального обмена XML все нормально проходит - проведенные документы создаются с признаком проведен и движения сохраняются. Создал план обмена. Изменения регистрируются по документам. Галка "выполнять отложенные движения" снята. Документы загружаются непроведенные и соответственно без движений. При установленной галке - проводятся, но нужно перенести исходные движения по документу из базы источника. Куда копать? Заранее спасибо. Смотрел , ответа не нашел.
Ну наверно надо переносить записи регистров. Идею снеговига не понял чтоли: движениня отдельно, документы отдельно.
В правилах обмена прописано выгружать движения документа как наборы записей. И они выгружаются. Но не загружаются почему-то при использовании плана обмена. Т.е. в ПКО по документу есть группа ПКС для каждого рестра который этот документ двигает. Соответственно при выгрузке, соответствующие движения выгружаются. И при использовании тех же правил в универсальном обмене - все работает.
а наборы записей они должны быть выгружены из документа, через движения, аналогично другим свойстам объекта, табличным частям например, как мне думается. может и не прав
Не прав оказался. Движения не выгружаются. Т.е. в формируемом файле в узле документа есть: А движений нет. На самом деле изменения по регистрам тоже регистрируются, но в правилах выгрузки указаны только документы. Да, значатся.
Сделал. Изменения зарегистрировались. Не получается сделать вправило выгрузки, потому что отсутствует ПКО для регистра бухгалтерии, поскольку описание конфигураций когда загружал - загружал с движениями документов и отдельных правил для регистров накопления и бухгалтерии не создалось. Чего делать перегружать описание конфигураций и заново создавать правила?
Если бы допустим правила у меня были с отдельными ПКО для наборов записей РН и РБ, и я добавил бы правило выгрузки, у меня движения должны были бы встать. А фильтрацию выгружаемых данных в таком случае нужно делать не на уровне правил выгрузки а на уровне регистрации изменений, верно? Т.е. для набора записи РБ.Хозрасчетный нужно будет прописывать регистрировать изменения или нет в зависимости от типа регистратора?
Читайте также: