22.02.2019 Игорь Борисенко 14113
Особенности сохранения движения документов по...

Содержание:

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

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

                                                                                              

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

 

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

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


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

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


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

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




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




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

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




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




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

 




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


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




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




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

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

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




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




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

 



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




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


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

 

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

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

Наши проекты

АО «Аэроклуб»
АО «Аэроклуб»

Отрасль:
Услуги в области делового туризма

Внедренное типовое решение:
1С:Бухгалтерия 8 КОРП

Проведение серии интервью с руководством и ключевыми специалистами Разраб...

ООО «ПКП КАБЭЛЕКТРОСНАБ»
ООО «ПКП КАБЭЛЕКТРОСНАБ»

Отрасль:
Производство кабельной продукции

Внедренное типовое решение:
1С:Управление небольшой фирмой 1.6

- Оформление заказов покупателей;
- Управление складскими запасами;
- Ана...

Автоматизация торговых операций на базе "1С:Управление торговлей" в ОАО "Авиазапчасть"
ОАО «Авиазапчасть»

Отрасль:
Авиационно-космическая промышленность

Внедренное типовое решение:
1С:Управление торговлей

- Оптовая торговля;
- Оформление заказов покупателей;
- Планирование прод...

ОАО «Фаберлик»
ОАО «Фаберлик»

Отрасль:

Внедренное типовое решение:
1С:ERP. Управление производственным предприятием 2

- Регламентированный учет;
- Кадровый учет;...

Внедрение блоков в 1С:Комплексная автоматизация 8
ООО «Больцен Рус»

Отрасль:
Оптовая торговля

Внедренное типовое решение:
1С:Комплексная автоматизация

- Оперативный учет...

ООО «ТейблТок»
ООО «ТейблТок»

Отрасль:
Общественное питание и рестораны

Внедренное типовое решение:
1С:Управление торговлей

Оформление заказов поставщикам Оформление заказов покупателей Управление ...

ООО "ТК "Сытый Дом-НН"
ООО "ТК "Сытый Дом-НН"

Отрасль:
Торговля, склад, логистика, транспорт

Внедренное типовое решение:
1С:Управление торговлей 8

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

ООО "ОМЗ"
ООО "ОМЗ"

Отрасль:
Металлургическая промышленность, металлообработка

Внедренное типовое решение:
1С:Управление производственным предприятием

Автоматизация бизнес-процессов...

ООО «ЛИГА-ТРАНС»
ООО «ЛИГА-ТРАНС»

Отрасль:
Профессиональные услуги, бытовое обслуживание

Внедренное типовое решение:
«1С:ERP Управление предприятием 2.1».

- Сделано ТЗ по автоматизации учета МСФО: - Разработана карта бюджета доходо...

Внедрение ПП "1С:CRM ПРОФ" в ООО «Торговый Дом Факел»
ООО «Торговый Дом Факел»

Отрасль:
Производство

Внедренное типовое решение:
1С:CRM ПРОФ

- Управление отношениями с клиентами (CRM) ...

ПЭК
ПЭК

Отрасль:
Грузоперевозки

Внедренное типовое решение:
1С:Зарплата и управление персоналом

- Перевод зарплатных баз с версии ЗУП 2.5 на версию ЗУП 3.1.
- Сопровождение в п...

Автоматизации учета затрат и расчета себестоимости с использованием конфигурации «Koderline: Управление проектами строительства скважин»
ООО «Буровая сервисная компания «ГРАНД»

Отрасль:
Нефтесервис

Внедренное типовое решение:
«Koderline: Управление проектами строительства скважин»

Учет и планирование:
- собственную разработку компании «Кодерлайн» – конф...

Наши соц. сети

Telegram-канал «Koderline 1С» Группа в Вконтакте «Кодерлайн КОРП» Rutube

Остались вопросы - обратитесь к нам!

Впишите свои Имя и Телефон, чтобы мы ответили на все интересующие Вас вопросы.
ФИО*
E-mail*
Телефон*
Сообщение