Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 08:24

ОбработкаЗаполнения при проведении документа на основании

Автор Лина79019, 15 мая 2023, 06:26

0 Пользователей и 1 гость просматривают эту тему.

Лина79019

Здравствуйте. Есть документ ЗаявкаНаУслугу, на основании которого выводится ВыполненнаяЗаявка. В документе ЗаявкаНаУслугу есть перечисление СтатусЗаявки: "выполнено", "новая", "Отменена". Если услуга отменена или новая, документ на основании нельзя создать. Если выполнена, то можно. У меня это работает до тех пор, пока я не проведу документ со СтатусомЗаявки "Выполнено", потом у меня проводятся документы с любым статусом. Что делать?

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


                 ИначеЕсли  ДанныеЗаполнения.СтатусЗаявки = Перечисления.СтатусЗаявки.Выполнена  Тогда

      

      // Заполнение шапки

Afinogen

так а вчем собственно вопрос? в том что  предварителньо нужно провести документ ЗаякаНаУслугу?

так вам в коде вот написано

 Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.ЗаявкаНаУслугу")
Тип значения документа основания должен быть ДокументСсылка.ЗаякаНаУслугу

если вы создали новый документ но хотя бы его не записали то тип значения у него другой - ДокументОбъект, все правильно

Лина79019

Afinogen, если после запуска программы с самого начала попробовать провести документы со статусом - новая или отменена, то они не проводятся (так и должно быть). Но если провести со статусом "выполнено", то после этого можно провести со статусом новая или отменена(так не должно быть). я не понимаю в чем у меня ошибка. Почему после проведения документа со статусом выполнено у меня проводятся документы и с другим статусом)

LexaK

Лина79019, в процедуре ОбработкаПроведения(...)
добавьте проверку


Процедура ОбработкаПроведения(Отказ, РежимПроведения)
Если СтатусЗаявки <> Перечисления.СтатусЗаявки.Выполнена  Тогда
Сообщить("Заявки Можно проводить только со статусом: Выполнена!");
Отказ = Истина;
КонецЕсли;
если помогло нажмите: Спасибо!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск