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

Условие при создании документа на основании

Автор ab30ru, 04 июн 2019, 13:55

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

ab30ru

Здравствуйте. Есть документ Приказы, который создается на основании документа ЗаписьНаКурсы. Создание на основании создавалось через конструктор. В документе ЗаписьНаКурсы есть реквизит СтатусДокументаПриказ. Нужно сделать проверку условия при создании документа на основании. Если СтатусДокументаПриказ-НеСоздан, то создается новый документ Приказы и Статус меняется на Создан, и если СтатусДокументаПриказ-Создан, то выдается сообщение Приказ был создан ранее

LexaK

можно сделать примерно так (один из вариантов) в процедуре

Процедура ОбработкаЗаполнения(Основание)

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

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

ab30ru

Цитата: LexaK от 04 июн 2019, 14:18
можно сделать примерно так (один из вариантов) в процедуре

Процедура ОбработкаЗаполнения(Основание)

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

    //Здесь меняете статус документа ЗаписьНаКурсы
    //(не очень удачное место, лучше вынести в отдельную команду СозданиеПриказа)
    лкДокЗапись = Основание.ПолучитьОбъект();
    лкДокЗапись.СтатусДокументаПриказ = Перечисления.ВашиСтатусы.Создан;
    лкДокЗапись.Запсать();
КонецЕсли;
    ....
КонецПроцедуры

Спасибо. Все получилось

Теги:

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

Рейтинг@Mail.ru

Поиск