Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

УправлениеЗапасамиПартионныйУчет.ДвижениеПартийТоваров

УправлениеЗапасамиПартионныйУчет.ДвижениеПартийТоваров
Я
   tylerkiss
 
17.10.16 - 06:00
Добрый день!
В типовых конфигурациях (у меня УПП для Казахстана ред. 1.3, версия 1.3.2.4) есть процедура общего модуля "УправлениеЗапасамиПартионныйУчет"
ДвижениеПартийТоваров(ОбрабатываемыйДокумент, ТаблицаСписания = Неопределено, КоличествоСтрокВДокументе = 0, Упр = Истина, Бух = Истина, Нал = Истина, Останавливаться = Ложь, ПроведениеОстановлено = Ложь, ДокументМоментВремени = Неопределено, СписаниеВыполняетсяОбработкой = Ложь, СтруктураНаборовЗаписей = Неопределено) Экспорт

Процедура вызывается при обработке проведения, например, документов списания. При этом вызов выглядит так:
УправлениеЗапасамиПартионныйУчет.ДвижениеПартийТоваров(Ссылка,  Движения.СписанныеТовары.Выгрузить());

В случае нехватки партий выдается сообщение, о том, что недостаточно количества для списания и ПРОВЕДЕНИЕ ПО ПАРТИЯМ ОСТАНОВЛЕНО.
Однако, документ становится проведенным. Сообщение зачастую игнорируется ("документ же проведен"). Последствия, сами понимаете, какие.
Было решено использовать параметр указанной процедуры ПроведениеОстановлено, который в случает нехватки партий принимает значение Истина. Вызов процедуры стал выглядеть так:
УправлениеЗапасамиПартионныйУчет.ДвижениеПартийТоваров(Ссылка,  Движения.СписанныеТовары.Выгрузить(),,,,,, Отказ);
Теперь при нехватке партий выдается сообщение, и документ остается не проведенным, также выводится предупреждение об отмене проведения документа, игнорировать которое невозможно.
Казалось бы, проблема решена. Однако, при запуске Восстановления последовательностей обработка прерывается на первом документе с ошибками из-за вышеуказанной доработки.
Вопрос: как разделить два этих способа проведения - непосредственное проведение документа и восстановление последовательности? Заинтересовал параметр СписаниеВыполняетсяОбработкой, но, вроде он не про то, хотя, я так и не понял, для чего он нужен.
Прошу помочь, кто решал такую задачу?
Заранее спасибо!
 
 
   Peltzer
 
1 - 17.10.16 - 06:23
Разделите условной конструкцией #НаСервере, чтобы выделить неинтерактивное проведение.
   Defender aka LINN
 
2 - 17.10.16 - 07:15
(1) Проведение по партиям и так происходит на сервере. По крайней мере, в российской УТ10 так.
(0) "обработка прерывается на первом документе с ошибками из-за вышеуказанной доработки." - это обычное поведение обработки
   tylerkiss
 
3 - 17.10.16 - 07:26
(2) Обычное поведение обработки - это пытаться провести документы до конца последовательности. Именно поэтому ее можно включить на ночь и утром получить все ошибки.
   Nuobu
 
4 - 17.10.16 - 09:02
Нужно было перед этой строкой проверить на "ПолныеПрава" и на "ВозможностьПроводитьВМинусПоСкладу".
   tylerkiss
 
5 - 17.10.16 - 10:04
(4) Поясните, пож-та?
   Nuobu
 
6 - 17.10.16 - 11:25
(5) Что тут объяснять?
Был код:
УправлениеЗапасамиПартионныйУчет.ДвижениеПартийТоваров(Ссылка,  Движения.СписанныеТовары.Выгрузить()); 

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

А нужно было написать:
Если РольДоступна("ПолныеПрава") или УниверсальныеМеханизмы.ПолучитьНастройкуПользователя("ВозможностьПроводитьВМинусПоСкладу") Тогда 
УправлениеЗапасамиПартионныйУчет.ДвижениеПартийТоваров(Ссылка,  Движения.СписанныеТовары.Выгрузить());
Иначе
УправлениеЗапасамиПартионныйУчет.ДвижениеПартийТоваров(Ссылка,  Движения.СписанныеТовары.Выгрузить(),,,,,, Отказ); 
КонецЕсли;
   tylerkiss
 
7 - 17.10.16 - 11:49
(6) Пользователю не требуются полные права для запуска восстановления последовательностей.
   tylerkiss
 
8 - 18.10.16 - 05:11
(0) В общем, решил сделать настройку в учетной политике "Останавливать проведение при нехватке партий". Перед запуском восстановления последовательностей будем отключать, пока ничего другого в голову не пришло.
Всем спасибо.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует