Имя: Пароль:
1C
1С v8
КД: как бороться с проводками не проведенных документов?
0 Mikhail Volkov
 
26.10.14
14:35
ГБ в КА обнаружила не проведенные (есть с пометкой удаления) документы с проводками!? Подозреваю, что это произошло в результате обмена с другой базой (документы в КА грузятся из управленческой базы). И действительно, если в КА документ проведен, а загружают не проведенный или с пометкой на удаление, то признак проведения снимается, а проводки остаются...
Обработкой с http://infostart.ru/public/138965/ нашел таких не мало за прошлые годы.
Правила обмена вроде на основе типовых в ПКО каждого документа "Перед выгрузкой" прописано:

Если Источник.Проведен Тогда
    РежимЗаписи="Проведение";  
    РежимПроведения="Неоперативный";
Иначе
    РежимЗаписи="Запись";
КонецЕсли;

В обработчике "После загрузки" добавил:

Если ОбъектНайден И Объект.Ссылка.Проведен И РежимЗаписи = "Запись" Тогда
    РежимЗаписи = "ОтменаПроведения";
    Сообщить("Записан с отменой проведения: " + СокрЛП(Объект), СтатусСообщения.Информация);
КонецЕсли;

Вроде проблема решена. Но смущает, не уж то 1С не предусмотрела такую ситуацию? Или есть более красивый вариант решения этой проблемы?
1 Otkr
 
26.10.14
15:34
Разгребай в упрбазе, какого хрена остаются проводки у непроведенных документов. И вообще, по умолчанию проводки не переносятся
2 Mikhail Volkov
 
26.10.14
17:05
(1) > И действительно, если в КА документ проведен, а загружают не проведенный или с пометкой на удаление, то признак проведения снимается, а проводки остаются...
В управленческой базе создали документ, провели, передали в КА. После решили что он лишний пометили на удаление, передали в КА. В КА документ помечен на удаление, но имеет проводки?!
3 Сияющий Асинхраль
 
26.10.14
17:37
(2) 1) Зачем грузить непроведенные документы?
2) После перегрузки (лучше с помощью этой самой перегрузки) надо перепроводить переброшенные документы...
4 Mikhail Volkov
 
26.10.14
17:53
(3) Помеченные на удаление документы загружаются в базу-приемник, чтобы их удалить там.
Повторюсь, не уж то 1С не предусмотрела такую ситуацию в типовых правилах обмена, или я что-то упустил?
5 Ник второй
 
26.10.14
18:11
(4) В типовых оно предусмотрено.
6 Mikhail Volkov
 
26.10.14
18:47
(5) А можно этот фрагмент:
Если ОбъектНайден И Объект.Ссылка.Проведен И РежимЗаписи = "Запись" Тогда
    РежимЗаписи = "ОтменаПроведения";
    Сообщить("Записан с отменой проведения: " + СокрЛП(Объект), СтатусСообщения.Информация);
КонецЕсли;

не в ПКО каждого документа вставлять, а где-то (где?) в одном месте прописать? Например, в обработчик "После загрузки объекта"?
7 Ник второй
 
26.10.14
18:51
(6) В общих обработчиках пиши, кто запрещает?
8 Mikhail Volkov
 
27.10.14
04:41
(7) Пример хотелось бы... ну, чтобы этот фрагмент выполнялся для объектов типа документ, который имеет проводки... чтобы ошибок не возникало!?
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший