Заметка о процедуре ОбработкаУдаленияПроведения() из модуля документа "ЗаявкаНаОткрытиеСчетов" типового 1С:ЗУП (2.5.80.2)

25.07.14

Задачи пользователя - Корректировка данных

Включил замер производительности при тестировании обмена с банками заявками на открытие лицевых счетов и...

И увидел постоянный вызов ОбработкаУдаленияПроведения модуля документа "ЗаявкаНаОткрытиеСчетов" при попытке перезаписи ранее проведенных документов "ЗаявкаНаОткрытиеСчетов".
С чего это вдруг? Ведь документ как был проведенным, так и остается. В табличке документа программно редактируется реквизит и далее он просто перезаписывается.
Стек вызов быстро дает ответ. Собственно код из модуля документа "ЗаявкаНаОткрытиеСчетов":

Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
 
 Если ОбменДанными.Загрузка Тогда
  Возврат;
 КонецЕсли;
 
 Если Проведен Тогда     
  ОбъектВБазе = Ссылка.ПолучитьОбъект();
  мОрганизация = ОбъектВБазе.Организация;
  мБанк = ОбъектВБазе.Банк;
  ОбработкаУдаленияПроведения(Ложь);
 КонецЕсли;
 
 Если РежимЗаписи = РежимЗаписиДокумента.Проведение Тогда
  Запрос = Новый Запрос;

Становится очевидно, что обработка ОбработкаУдаленияПроведения() вызывается при любых действиях с уже проведенным документом.
В том числе и когда мы хотим просто перезаписать документ программно.
По ряду причин лучше переписать в типовой код так:

 Если НЕ РежимЗаписи = РежимЗаписиДокумента.ЗаписьТогда    

 // 

 ОбработкаУдаленияПроведения(Ложь);
КонецЕсли;

вместо 
  Если Проведен Тогда

//

ОбработкаУдаленияПроведения(Ложь);
КонецЕсли;

 

Дожидаться выпуска обновления, если конфа снята с поддержки не имеет смысла.

Если делаете частую перезапись "ЗаявокНаОткрытиеСчетов", то рекомендую.

ПередЗаписью ОбработкаУдаленияПроведения ЗУП ЗаявкаНаОткрытиеСчетов Заявка на открытие счетов

См. также

Исправление в 1С:ЗУП/ЗКГУ ошибок по НДФЛ и взаиморасчетам с сотрудниками на начало расчетного года.

Корректировка данных Зарплата Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры бюджетного учреждения 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет НДФЛ Платные (руб)

Обработка исправляет технические ошибки по НДФЛ, взаиморасчетам с сотрудниками в 1С:ЗУП (1С:ЗКГУ) на начало года. Фактически все ошибки, которые проявляются в ведомостях на выплату, расчетных листках, при заполнении ведомостей на выплату и отчетах 6-НДФЛ и т.д. нужно начинать исправлять с начала расчетного года. Это позволит быть уверенными, что после завершения расчетов предыдущего года, начали работать с «чистого листа» без ошибочных остатков.

4800 руб.

06.10.2023    2334    28    15    

33

Тестирование и исправление ключей аналитики ERP, УТ11, КА

Корректировка данных Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Незаменимая обработка для сопровождения конфигураций: ERP, УТ, КА. Позволяет вычистить многие ошибки в ключах аналитики, в ключевых справочниках конфигурации.

3600 руб.

10.02.2017    106825    634    173    

676

Ускоренное проведение документов (x4), устранение ошибок 60/62 счетов и зачет авансов (Бухгалтерия 3.0)

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    27397    79    146    

59

Исправление ошибки закрытия месяца "Обнаружены ненулевые остатки по суммам при нулевом остатке по количеству в регистре себестоимости по организации". УТ 11.4,УТ 11.5, КА 2.4,КА 2.5, ERP 2.4, ERP 2.5, КА 2 Казахстан, Управление торговлей 3 для Казахстана

Закрытие периода Корректировка данных Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 11 Управленческий учет Платные (руб)

Закрытие месяца - важный процесс в современных конфигурациях, таких как УТ 11.4, УТ 11.5, КА 2.4, КА 2.5 ERP 2.4,ERP 2.5, КА 2 Казахстан, УТ 3 Казахстан регламентные операции влияют на расчет себестоимости, и ошибки в данном расчете не дают картины деятельности организации.

2400 руб.

27.10.2021    22336    299    35    

71

SALE! 20%

Заполнение документа "Корректировка регистров" произвольными данными

Закрытие периода Корректировка данных Платформа 1С v8.3 Система компоновки данных 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Управленческий учет Платные (руб)

Внешняя обработка, позволяющая произвольным образом заполнять документ "Корректировка регистров" Предназначена для использования в конфигурациях "Управление торговлей 11", "Управление небольшой фирмой", "ERP Управление предприятием", а также в других конфигурациях, в состав которых входит библиотека стандартных подсистем (БСП) версии 2.2+ и указанный выше документ.

2400 1920 руб.

13.07.2015    50169    171    29    

121
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. TMV 14 25.07.14 10:30 Сейчас в теме
(0) Для документов при обмене обычно включают ОбменДанными.Загрузка в Истина, тем более что:
Если ОбменДанными.Загрузка Тогда
  Возврат;
 КонецЕсли;

Только если вам не нунжо, чтобы выполнялся код, следуемый далее.
В общем, заметка ни о чем.
2. RailMen 823 25.07.14 19:39 Сейчас в теме
(1) TMV, речи об обмене данными нет. Речь о перезаписи проведенных документов при обмене с банком, когда типовой документ ЗаявкаНаОткрытиеСчетов неоправдано удаляет записи РС и снова добавляет точно такие же. Речь о нарушенной методологии.
З.Ы. Не советую злоупотреблять конструкцией
Если ОбменДанными.Загрузка Тогда

там, где в этом нет необходимости и смысла.
3. TMV 14 26.07.14 06:58 Сейчас в теме
(2) Какой сакральный смысл неиспользования этого механизма в вашем конкретном случае?

Я вижу противоречие здесь:
речи об обмене данными нет. Речь о перезаписи проведенных документов при обмене с банком
Вы нет?

Я к тому, что используй этот механизм изначально, вы даже и не обнаружили бы перезаписи регистров и пр., а следовательно и заметки бы не было.

З.Ы.
Предлагаю вам пробежаться по всем документам и справочникам типовых конфигураций и по каждому объекту написать такую вот заметку.
4. RailMen 823 28.07.14 01:03 Сейчас в теме
(3) TMV, я просто за методологическую правильность типового кода в типовых конфигурациях. И еще раз: методологическую. Надеюсь вы еще раз сравните 2 варианта кода ) Конструкция : "ОбменДанными.Загрузка=Истина" - должна использоваться только по назначению при реализации обменов данными. Обмен с банками - это конечно же тоже "обмен" данными, только суть то не в этом. Имел ввиду другое: при перезаписи документов "Заявка на открытие счетов" типовая логика удаляет набор записей, а затем снова создает. Что если захотим воспользоваться типовой же групповой обработкой документов? А где гарантия, что в новых релизах не измениться код ОбработкиПроведения и ее повторный запуск даст весьма неожиданный результат? Просто факт остается фактом: нарушена методология.
5. Scop 61 30.07.14 08:44 Сейчас в теме
(4) полностью согласен. Проверил УПП 1.3.55.1 - та же самая ситуация.
6. A_Max 19 08.11.17 15:43 Сейчас в теме
Просто факт остается фактом: нарушена методология.

А по момему вы странного хотите. Где гарантия, что при повторной загрузке содержимое документа будет соответсвовать проводкам? Потому и делается перепроведение, что документ мог измениться.

Если вы уверены, что в вашем конкретном случае ничего не менялось, то тогда логичней использовать ОбменДанными.Загрузка
Оставьте свое сообщение