Универсальная обработка для групповой корректировки регистров без перепроведения документов




Обработка позволяет корректировать записи регистров без перепроведения документов. При этом возможно как непосредственно редактировать записи так и выполнять групповую обработку: заменять или подставлять значения в определенных полях. Также имеется возможность заменять значения в самих регистраторах

Эта обработка писалась изначально для себя, поэтому функционал может показаться несколько избыточным. В основном обработка тестировалась на базе БГУ (бухгалтерия гос. учреждения), но должна работать со всеми конфигурациями

Как ей пользоваться

1. Отбор данных

Для того чтобы отобрать записи регистров открываем вкладку «Отбор», выбираем тип регистра, например «Регистры накопления» и имя регистра, например «Взаиморасчеты». В таблице ниже можно установить отбор по полям записей. Также есть фильтр записей по типу регистратора (Отбор по типу регистратора). В качестве дополнительного фильтра используется так называемая обработка-условие.  Если мы ставим галочку «Использовать обработку-условие», то при переборе записей всякий раз будет исполняться код, написанный в поле обработки (под галочкой). Если в результате его исполнения переменная Отказ примет значение Истина (по умолчанию Ложь) то запись не будет выбрана. Получить доступ к текущей записи можно через переменную ТекСтрока.

После того как все фильтры выбраны нажимаем кнопку «Заполнить»

2. Ручная корректировка записей

Переходим на вкладку «отобранные данные» и ставим галочки у тех записей которые необходимо будет отредактировать (поле «Пометка»). Затем вручную корректируем записи, как бы мы хотели их видеть в регистре и нажимаем кнопку «записать»

3. Подстановка значений

В отобранных записях можно сделать групповую подстановку. Для этого помечаем записи, которые необходимо обработать, переходим на вкладку Обработка/Подстановка, указываем в какое поле будет установлено какое значение и нажимаем «Заменить значения»

4. Замена значений

Замена значений работает подобно всем известной обработки «ПоискИЗаменаЗначений». Переходим на вкладку Обработка/Замена и проставляем соответствия что на что будем заменять. Также внизу в левой таблице отмечаем в каких полях будет эта замена проведена. 

Можно также установить галочку «Заменять в регистраторе», тогда автозамена произойдет не только в записях регистров, но и в их регистраторах. При этом нужно отметить галочками в документах какого типа и в каких реквизитах будет производиться замена

16 Comments

  1. rumik007

    а что интересно будет если доки перепроведут???

    Reply
  2. Raminus

    Не трудно догадаться, придется опять корректировать:)

    Reply
  3. kapustinag

    (1) (2) Raminus, Ну ясное дело, именно это и будет. Но это не является недостатком данной обработки. Если решили, что самый правильный (легкий, единственно возможный — нужное подчеркнуть) выход — это корректировка записей регистров, то эта обработка поможет, облегчит ручной труд.

    Если пользоваться с умом, то период закроют, и проведение документа после корректировки записей регистров никто сделать не сможет. Никто не делает корректировки записей регистров в момент, когда корректируемый документ еще может перепроводиться обычными пользователями.

    Reply
  4. kapustinag

    Конечно, существует документ «Корректировка записей регистров», и лучше бы корректировки делать с его помощью — тогда хоть след останется. Но…жизнь подкидывает разные задачки. Может быть, как раз и нельзя оставлять следов? -:)

    Reply
  5. PowerBoy

    Ошибку дает

    {Форма.Форма.Форма(165)}: Ошибка при получении значения атрибута контекста (Результат)

    ДанныеЗапроса = Построитель.Результат.Выгрузить();

    по причине:

    по причине:

    {(36, 40)}: Неверные параметры в операции сравнения. Нельзя сравнивать поля

    неограниченной длины и поля несовместимых типов.

    ТИПЗНАЧЕНИЯ(ТабРегистр.Регистратор) <<?>>В (&ТипыРегистраторов)

    Reply
  6. Raminus

    (3) kapustinag, ни в коем случае не имел ввиду что это недостаток, иногда другого пути просто нет как править регистр напрямую… хотя это конечно не есть хорошо, а что делать.

    Reply
  7. xico

    (5) PowerBoy, а что за конфигурация и регистр? и в какой момент ошибка возникает? Хочется разобраться в чем дело, но ошибку не удается воспроизвести

    Reply
  8. xico

    Основная изначальная цель обработки — групповая замена в документах «Корректировка регистра» ну и мелкие правки в закрытых периодах. Если указывать «Заменять в регистраторе», то можно добиться ситуации, чтобы при перепроведении данные движения не менялись. Но это скорее уже частный случай

    Reply
  9. PowerBoy

    (7) Бух 2.0.34 — Платмоформа 8.2.13

    Возникает всегда, после выбора имени регистратора. Отбор недоступен.

    Reply
  10. alvina84

    обработка не работоспособна!

    Сделала групповую замену и вуаля ничего не произошло.

    Совет: обходите циклы..в моей базе она работала минут 20 только заполняла сами документы. В коде глянула а там сплошнйо перебор…это как в анекдоте про программиста в театре который методом перебора дошел до своего места.

    Код переписала обработка стала жить

    Reply
  11. oleg_k_

    Спасибо, полезная обработка.

    Использовал на ЗиКБУ, там штатный документ «Корректировка записей регистров накопления» обрабатывает не все существующие регистры.

    Reply
  12. Кадош

    Документ «Корректировка записей регистров» будет обрабатывать?

    Reply
  13. Nailya12345

    Спасибо за обработку! Все нравится. ) Кроме одного… Пытаюсь откорректировать временно регистр накопления «НДС Налоговые Обязательства», на закладке «Подстановка» нет возможности указать «Период». ) А в целом спасибо! +1 автору.

    Reply
  14. dj_serega

    Тут пишут что ошибки выдает. хм… не было. Видимо не сравнивал поля с длиной «0».

    Reply
  15. zyama

    Еще бы эту обработку на управляемые формы…

    Reply
  16. milana5

    Обработка не рабочая — нет возможности для изменения значения задать реквизиту значение типа «Дата».

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *