KoderLine
Обслуживание и внедрение
Наш Facebook Наш Instagram Наш YouTube
+7 (495) 374 55 29
Особенности сохранения движения документов по...

Особенности сохранения движения документов по регистрам в конфигурации ERP

0
483
22.02.2019 Игорь Борисенко

Содержание:

1.       Почему не работает внесение изменений в основные свойства документа?

2.       Решение проблемы – внесение правок в исходный программный код.

                                                                                              

1.    Почему не работает внесение изменений в основные свойства документа?

 

На примере конфигурации ERP (для прочих конфигураций решение будет аналогичным).

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


Постановка задачи:

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


Как решаем задачу:

1.       Необходимо добавить регистр сведений «КлючевыеРеквизитыЗаполненияДокументов»




1.1.    В качестве регистратора указываем один из типовых документов – «ЗаказПоставщику».




2.       В настройках документа:

2.1.    режим удаления движений установлен как «Не удалять автоматически».




2.2.    Свойство «Запись движений при проведении» документа установлено в «Записывать выбранные».




3.       Создаем подписку для события «Обработка проведения» документа.

 




2.    Решение проблемы – внесение правок в исходный программный код.


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




Но при его перепроведении обработчик подписки выдает ПУСТОЙ результат запроса по нашему регистру сведений.




Вопрос: почему так происходит? Ведь в документе для движений указано «Не удалять автоматически» и «Записывать выбранные», а для нашего регистра мы еще не устанавливали признак «Записывать» в подписке.

Ответ нужно искать в типовых процедурах обработки проведения.

В процедуре ОбработкаПроведения() модуля документа «Заказ Поставщику» предыдущие записи нашего регистра сохраняются вплоть до выполнения процедуры «ПроведениеСерверУТ.ЗаписатьНаборыЗаписей(ЭтотОбъект);», внутри которой есть строка «Объект.Движения.Записать();», где они собственно и очищаются.




Т.е. в каком-то месте обработки проведения нашему регистру помимо нашей воли устанавливается признак «Записывать». В отладчике находим это место: «ПроведениеСерверУТ.ПодготовитьНаборыЗаписейКРегистрацииДвижений(ЭтотОбъект);».




Внутри процедуры «ПодготовитьНаборыЗаписейКРегистрацииДвижений(ЭтотОбъект)» находим место, где устанавливается этот признак и видим: для того чтобы наш регистр не помечался к записи, его необходимо поместить в массив «ИсключаемыеРегистры».

 



После добавления нашего регистра в массив, его набор записей не очищается, и его можно использовать в работе. Задача решена.




Итак, если вам не нужно очищать движения документов по регистру при проведении документа, то недостаточно просто для этого документа установить свойство «Удаление движений» = «Не удалять автоматически». Вам также потребуется в исходном программном коде добавить регистр в массив «ИсключаемыеРегистры» типовой процедуры «процедуры «ПодготовитьНаборыЗаписейКРегистрацииДвижений(ЭтотОбъект)».


Напомню, что пример рассматривался для конфигурации ERP. Для других конфигураций аналогичные места для внесения правок в типовые модули можно найти отладчиком.

 

Специалист компании ООО «Кодерлайн» 

Игорь Борисенко.

Задать вопрос автору статьи
Тема вопроса*
Ваше имя*
E-mail или телефон*
Ваш вопрос*
 

Добавить комментарий
Текст сообщения*
Защита от автоматических сообщений
 
Теги
#1С: CRM #1С: ERP #1С: ERP Управление строительной организацией #1С: ERP. Управление буровой компанией #1С: WMS Управление складом #1С: Аренда и управление недвижимостью #1С: БУХ #1С: Договорчики #1С: Документооборот #1С: ЗУП #1С: Интеграция #1С: КА #1С: Колледж #1С: Конвертация данных #1С: Платформа #1С: Розница #1С: Сценарное тестирование #1С: ТОИР #1С: УАТ #1С: УКФ #1С: Университет #1С: УНФ #1С: УПП #1С: Управление строительной организацией #1С: УТ #1С: УХ #ADO #APACHE #API #com-объекты #Excel #GoogleDrive #HTTP #ITIL #Koderline: Управление медиа-холдингом #Koderline: Управление проектами строительства скважин #LINUX #MS SQL Server #WEB #WEB-сервисы 1С #Word #XML #Администрирование 1С #Безопасность сервера #Бесшовная интеграция #БИТ.Финанc #Битрикс24 #Блокировки в 1С #БСП #БУ #Бурение скважин #Бюджетирование #Внедрение #Внедрение ERP #Закрытие месяца #Запросы 1С #Интеграция 1С #Как сделать в 1С #Конвертация данных #Корпоративное сопровождение #Лизинг #Лицензии 1С #Моделирование #МСФО #Налоги #Обмен между базами #Обновления #Оптимизация #Отпуск #Отчетность #Отчеты в 1С #Оценка задач #Перенос данных #Планирование #Полезные обработки #Правила обмена #Проводки 1С #Программирование в 1С #Программные права #Продажи #Производство #Расширение конфигурации #РСБУ #СКД #Сравнение конфигураций #Тестирование 1С #Техническое задание #Торговое оборудование #Транспортная логистика #Управление проектами #Финансовый учет #Ценообразование #Экзамен 1С #Яндекс.Касса Email или телефон
Услуги программиста 1С
Получите специалиста  
для решения всех задач
в области 1С
Программы 1С
Цены и подробное описание программ 1С:Предприятие 8.