Перепроведение документов в последовательностях для "1С:Управление торговлей 10.3"

Опубликовал Alexandr Kuritsyn (hibico) в раздел Обработки - Обработка документов

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

Описание настроек.

Табличное поле "Обрабатываемые последовательности" предназначено для указания последовательностей документов для проведения.
"Граница посл." - показывает границу данной последовательности.
"Граница провед." - указывает на последний проведенный без ошибки документ.
"Ограничение времени выполнения" - позволяет ограничить время выполнения обработки при большом количестве документов. При этом следует учитывать, что в обработке жестко установлено ограничение на максимальный период проведения в 1 год.
"Дата запрета изменений данных" устанавливается исходя из "границы проведения" минус указанное количество месяцев. Если указан «0», то граница не устанавливается.
При установленном флаге "Не регистрировать документы в планах обмена" проведение документов не будет влиять на регистрацию изменений в планах обмена. 
"Каталог для сохранения результатов" - указывает каталог для сохранения лог файла с информацией об ошибках проведения. Наименование лог файла формируется автоматически на основе заголовка системы (типа: Проведение_ТорговляРогаКопыта.txt).
"Проверка и установка себестоимости ..." - в документах "Возврат товаров от покупателя" производится попытка поиска и установки документа партии, если документ партии не был подобран, то устанавливается себестоимость товара на основании закупочной цены.
"Очистка таб. части "Документы расчетов ..." - при проведении будет очищена табличная часть "Документы расчета с контрагентами" в документах "Реализация товаров и услуг".
Перечисленные настройки сохраняются кнопкой "Сохранить настройки".
Поле "Дата запрета изменения данных" служит для просмотра и ручного изменения.
"Дата границы последних исправлений" и "Дата последних исправлений" служит для контроля работников, ответственных за исправление ошибок. "Дата границы ..." указывает максимальную дату безошибочного проведения. "Дата последних исправлений" показывает последнюю дату, когда "Дата границы ..." изменялась в большую сторону. При необходимости указанные даты можно отредактировать. 
Кнопка "Запустить перепроведение" позволяет в ручном режиме запустит процедуру перепроведения. При этом будут запрошены имя и пароль пользователя под которым будет запущен сеанс внешнего подключения.
Для запуска обработки по расписанию через планировщики заданий предназначена кнопка "Сформировать строку запуска", с помощью которой в поле служебных сообщений формируется строка для запуска обработки через командную строку. 
Для работы обработки в сценариях конфигурации "Автоматизированное обслуживание ИБ" в настройках выполнения обработки нужно установить вариант запуска "В режиме внешнего соединения", название процедуры "ВыполнитьКОМ", флаг безопасного режима снять.

Скачать файлы

Наименование Файл Версия Размер
Обработка проведения для "Управления торговлей 10.3"
.epf 29,32Kb
09.02.17
33
.epf 1.2 29,32Kb 33 Скачать

См. также

Комментарии
1. v i (vis_tmp) 26 08.02.17 09:08 Сейчас в теме
Добрый день!

Не совсем понятно:

"Также нужно отметить, что в «УТ 10.3» при неоперативном проведении документа в «клиенте» несмотря на ошибки в учете, документ проводится и граница последовательности смещается.
То есть вполне обычная ситуация, когда при восстановленной последовательности существуют ошибки в прошлом периоде"

Если мы перепроведём старый документ находящийся ранее текущей границы, она ведь отскочит назад и затем мы будет проводить партии заново начиная с перепроведённого документа.
А если он не проводится из-за недостатка партий, то и граница у нас вперёд не сдвинется.
2. Alexandr Kuritsyn (hibico) 216 08.02.17 10:50 Сейчас в теме
(1)
А если он не проводится из-за недостатка партий, то и граница у нас вперёд не сдвинется.

В клиенте документ с недостатком партий в "УТ 10.3" ПРОВОДИТСЯ и последовательность смещается! Вы получаете лишь сообщения об ошибках в партионном учете при проведении документа.
3. v i (vis_tmp) 26 08.02.17 13:00 Сейчас в теме
При первом открытии обработки в "Процедура ВосстановитьНастройки()" случается ошибка "Недопустимое значение параметра (параметр номер '2')" на строке "ЗаполнитьЗначенияСвойств(ЭтотОбъект,СНн);"
И в процедуре "ПолучитьДатуПоследнихИзменений" аналогично.
4. v i (vis_tmp) 26 08.02.17 13:04 Сейчас в теме
(2)Это при запуске проведения без флажка "Останавливаться при нехватке партий" ?
5. Alexandr Kuritsyn (hibico) 216 08.02.17 15:58 Сейчас в теме
(3) Спасибо. Странно, столько скачавших, а на ошибки никто не указал.
Для исправления ошибок нужно в модуле обработки в двух местах строки:
ЗаполнитьЗначенияСвойств(ЭтотОбъект,СНн);

Заменить на:
Если СНн <> Неопределено Тогда
	ЗаполнитьЗначенияСвойств(ЭтотОбъект,СНн);
КонецЕсли;


В публикации заменил файл обработки на исправленную версию.
6. Alexandr Kuritsyn (hibico) 216 08.02.17 16:07 Сейчас в теме
(4)Я имел ввиду непосредственное проведение документа пользователем, а не обработку "Проведение по партиям". При непосредственном проведении параметр "Останавливаться" не указывается (то есть Ложь).
7. v i (vis_tmp) 26 08.02.17 19:26 Сейчас в теме
(5) Да, я так и поправил.
Ещё ошибка возникает, если запустить проведение, не пометив галочкой последовательность.
8. Alexandr Kuritsyn (hibico) 216 09.02.17 11:36 Сейчас в теме
(7)
Ещё ошибка возникает, если запустить проведение, не пометив галочкой последовательность.
Не принципиально, но поправил в версии 1.2.
Оставьте свое сообщение