Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Прописать условие по заполнению реквизита документа в модуле другого документа
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
SemenYU
Добрый день. Данные УПП (1.3.66.1) , 1С:Предприятие 8.3 (8.3.10.2466)
Помогите пожалуйста.
Есть документ ГТД по импорту. Он создаётся на основании Поступления товаров и услуг и Поступление Товаров Услуг В НТТ
Необходимо прописать условие, по которому Если в документе-основании не стоит флажок ОтражатьВБухгалтерскомУчете , то и в документе ГТД по импорту он тоже не стоит
Процедура ОбработкаЗаполнения(Основание)
    ПоступлениеТоваров    = (ТипЗнч(Основание) = Тип("ДокументСсылка.ПоступлениеТоваровУслуг"));
    ПоступлениеТоваровНТТ = (ТипЗнч(Основание) = Тип("ДокументСсылка.ПоступлениеТоваровУслугВНТТ"));

    
    Если ЗначениеЗаполнено(Основание) Тогда
        Если НЕ Основание.ОтражатьВБухгалтерскомУчете Тогда
            ОтражатьВБухгалтерскомУчете = Ложь;
            
        КонецЕсли;
    КонецЕсли;


Так же необходимо при том же условии скрыть доступность реквизита в ГТД по импорту. (с этим даже нет вариантов).
Заранее спасибо
Vofka
Код можно сделать немного красивее:
Процедура ОбработкаЗаполнения(Основание)    
    Если ЗначениеЗаполнено(Основание) Тогда
        ОтражатьВБухгалтерскомУчете = Основание.ОтражатьВБухгалтерскомУчете;
    КонецЕсли;
//...
КонецПроцедуры

Но итоговый результат будет одинаковый.

Как звучит итоговая задача? Флажек ОтражатьВБухгалтерскомУчете должен иметь такое же значение, как в документе основании? Если да, то в ПередЗаписью просто прописать:
ОтражатьВБухгалтерскомУчете = Основание.ОтражатьВБухгалтерскомУчете;
SemenYU
Vofka @ Сегодня, 14:55 необходимо зарегистрироваться для просмотра ссылки ,
Итоговая задача звучит так:
Поставить реквизит "ОтражатьВБухгалтерскомУчете" документа ГТД по импорту в состояние Ложь и убрать доступность, если данный документ создаётся на основании Поступления товаров и услуг и Поступление Товаров Услуг В НТТ и в этих документах реквизит "ОтражатьВБухгалтерскомУчете" в состояние Ложь.
SemenYU
SemenYU @ Сегодня, 15:28 необходимо зарегистрироваться для просмотра ссылки ,
Важно именно прописать это при заполнении документа, чтоб пользователю не делать лишних движений и не обращать внимание на флажек бух. учёт
TohaMonster
Флажок "ОтражатьВБухгалтерскомУчете" может установиться уже после ОбработкаЗаполнения(). См. модуль формы ПриОткрытии(). Там есть кусок типа

    Если ЭтоНовый() Тогда

        ...
        
        // Заполнить реквизиты значениями по умолчанию.            
        ЗаполнениеДокументов.ЗаполнитьШапкуДокумента(ЭтотОбъект, "Покупка",ПараметрОбъектКопирования);

        ...
            
    КонецЕсли;


Если у Пользователя стоит в настройках заполнения документов "отражать в бух учете", у тебя флаг установится после этого заполнения. Надо тогда после ЗаполнениеДокументов.ЗаполнитьШапкуДокумента() вставить что-то типа

    Если ЗначениеЗаполнено(ПараметрОснование) Тогда

        ОтражатьВБухгалтерскомУчете = Основание.ОтражатьВБухгалтерскомУчете;
        ЭлементыФормы.ОтражатьВБухгалтерскомУчете.Доступность = ОтражатьВБухгалтерскомУчете;
            
    КонецЕсли;

SemenYU
Всем большое пасибо! Получилось!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.