Обработка заполнения табличной части документа для корректировки записей регистров.
Иногда требуется схлопнуть движения по регистрам накопления остатков. Для удобства создана небольшая обработка, автоматически заполняющая данные в документе Корректировки записей. Выбор конкретного регистра осуществляется вводом его имени (как в конфигураторе) в поле «Комментарий» документа.
очень полезная обработка, спасибо автору
Стерла документы по переносу данных в «Зарплату бюджетного учреждения» так как из-за них шли ошибки в расчете среднего заработка — база задваивалась и затраиивалась. Как позже оказалось что шло какое-то «грязное» заполнение других регистров — надо было поставить флажок на их выбор — записать документ, потом отменить флажок и снова записать документ — тогда лишние движения исчезают. Теперь выясняется что стерла я все зря. Нужно как-то все восстанавливать. Перенос через XML-выгрузку-загрузку переносит только код и наименование документа. Табличную часть не переносит. Пытаюсь заполнить документ «Корректировка регистров накопления» через заполнение из выгруженной таблицы. Пока никак. Может ли ваша обработка помочь?
(2) ia57, боюсь, что нет. Моя обработка берет данные из какого-то регистра и заполняет документ Корректировки ими, только с другим знаком в сумме. А вам нужна обработка по переносу данных, как я понял. Только не совсем ясно, перенос из какой конфигурации в какую идет?
Перевод бюджетников из ЗиК 7.7 в ЗБУ 8.2
Перенос сделан. Люди работают уже полгода. Все начисляется. Пока были в 2011 году база по среднему рассчитывалась правильно. Сейчас 2012 год. В базу пошел другой год — 2011, который я потерла. Но есть архив с нестертыми документами. Но перебивать все вручную — тяжко.
(5) ia57, при выгрузке из БД источника универсальной обработкой «Выгрузка/загрузка данных XML» (как я понял вы используете ее) необходимо установить галочку (см.рис).
(6) Misanets, если этой обработкой, то почему «переносит только код и наименование документа»?
Немного изменил обработку — ресурсы для запроса остатков берутся из метаданных регистра.
(7) сам по себе документ «Корректировка записей регистров» не содержит никаких табличных частей, а Код и Номер это реквизиты документа которые у него есть и как раз и переносятся. Документ создает движения по регистрам и сам является для них регистратором. По этому сам документ для нас в принципе не интересен, нас интересуют его движения. Вот по этому необходимо вместе с ним перенести его движения. Надеюсь понятно.
(9) Misanets, я не понял, что задача переносить именно «Корректировку». В любом случае, эта обработка не помощник для данной задачи.
Да эта публикация не для случая с пользователем ia57
(6)Эту галочку ставлю. Конфигурации одинаковые. Архивную конфигурацию (из которой надо перенести документ) обновила на текущую. При загрузке выдается сообщение о невозможности чтения XML (как раз тормозит на регистре который надо загрузить), смотрела через отладчик. Спасибо всем за сочувствие.
(12) ia57, Вероятнее всего, что уже существует запись в регистре по таким ключевым полям. Посмотрите записи по регистру за этот период, проанализируйте не будут ли они дублироваться.
Обработка не «схлопывает», а задваивает регистр.
Вотhttp://infostart.ru/public/18828/ нормальная обработка.
И регистры по-человечески выбираются. И схлопнуть можно сразу несколько регистров.
(14) ЛохНесс, просьба описать, в каком случае задваивает.
(12)Еще раз спасибо за участие. У меня все получилось. Правда пришлось сделать «плохое» действие — я реквизит, который не считывался с XML вообще удалила в XML-файле выгрузки (регистр у меня был -«расчеты по страховым взносам», пытался загрузиться реквизит «налоговый период в ПФР», хотя в данных регистра нигде такого названия нет, да и значений данных в этом реквизите не было). Еще я сделала одинаковыми элементы обмениваемых справочников, участвующих в документе. После этого все замечательно загрузилось. Теперь в базе все хорошо.
(16)
Допустим в регистре имеется остаток, например, 5. Чтобы там было 0 (ноль) нужно сделать движение -5.
Обсуждаемая обработка, наоборот, заполняет документ, так, что выполняется движение +5. В результате получается 10. Вот это и есть задваивание.
(18) ЛохНесс, да, спасибо. после изменения обработки допустил ошибку.
В цикле следует добавить минус перед именем ресурса: