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