Имя: Пароль:
1C
 
галочки отражения в учете 83
0 pro3ri
 
24.08.15
14:23
Добрый день!

https://s.mail.ru/4YMp6wxXNh4j/img-2015-08-24-16-25-58.png
Делаю галочки отражения в учете бу и УУ. КАК оптимизировать/универсализировать этот процесс если в будущем буду создавать новые регистры...
1 pro3ri
 
24.08.15
18:07
сделана попытка универсализации:
Процедура ОбработкаПроведения(Отказ, Режим)
    Для каждого Набор Из Движения Цикл
        
        ИмяРегистра =  Набор.Метаданные().Имя;

        ЭтоРБ = Метаданные.РегистрыБухгалтерии.Найти(ИмяРегистра)<>Неопределено;
        ЭтоРН = Метаданные.РегистрыНакопления.Найти(ИмяРегистра)<>Неопределено;
        ЭтоРС = Метаданные.РегистрыСведений.Найти(ИмяРегистра)<>Неопределено;
        
        Если ЭтоРБ Тогда
            ВидРегистра = "РегистрБухгалтерии";
        ИначеЕсли ЭтоРН Тогда
            ВидРегистра = "РегистрНакопления";
        ИначеЕсли ЭтоРС Тогда
            ВидРегистра = "РегистрСведений";
        Иначе
            ВидРегистра = "РегистрРасчета";
        КонецЕсли;

        Если ВидРегистра = "РегистрНакопления" И ОтражатьВУправленческомУчете Тогда
        
            Набор.Записывать = Истина;
        ИначеЕсли ВидРегистра = "РегистрБухгалтерии" И ОтражатьВБухгалтерскомУчете Тогда
            
            Набор.Записывать = Истина;
            
        Иначе
            Набор.Очистить();
            Набор.Записать();
        КонецЕсли;
    
    КонецЦикла;
    
    //Движения.Взаиморасчеты.Записывать = Истина;
    Для Каждого ТекСтрокаОплаты Из Оплаты Цикл
        Если ТекСтрокаОплаты.Приход>0 Тогда
            Движение = Движения.Взаиморасчеты.Добавить();
            Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
            Движение.Период = Дата;
            Движение.Контрагент = ТекСтрокаОплаты.Контрагент;
            Движение.Сумма = ТекСтрокаОплаты.Приход;
        КонецЕсли;
        Если ТекСтрокаОплаты.Расход>0 Тогда
            Движение = Движения.Взаиморасчеты.Добавить();
            Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
            Движение.Период = Дата;
            Движение.Контрагент = ТекСтрокаОплаты.Контрагент;
            Движение.Сумма = ТекСтрокаОплаты.Расход;
        КонецЕсли;
    КонецЦикла;

КонецПроцедуры