HelpF.pro

Как установить значение Субконто

Код 1C v 8.х
 Процедура УстановитьСубконто(Счет, Субконто, ИмяСубконто, ЗначениеСубконто) Экспорт

    Если Счет = Неопределено ИЛИ Счет.Пустая() Тогда
        Возврат;
    КонецЕсли;

    Если ТипЗнч(ИмяСубконто) = Тип("Число") Тогда
        Если ИмяСубконто > Счет.ВидыСубконто.Количество() Тогда
            Возврат;
        КонецЕсли;
        ВидСубк = Счет.ВидыСубконто[ИмяСубконто - 1].ВидСубконто;
    Иначе
        ВидСубк = ПланыВидовХарактеристик[Метаданные.НайтиПоТипу(ТипЗнч(Счет)).ВидыСубконто.Имя][ИмяСубконто];            
        Если Счет.ВидыСубконто.Найти( ВидСубк) = Неопределено Тогда
            Возврат;
        КонецЕсли;
    КонецЕсли;

    Если ВидСубк.ТипЗначения.СодержитТип(ТипЗнч(ЗначениеСубконто)) Тогда
        Субконто.Вставить(ВидСубк, ЗначениеСубконто);
    Иначе
        Сообщить("Неверное значение """ + ЗначениеСубконто + """ для вида субконто <" + ВидСубк + ">");
    КонецЕсли;

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


Пример использования:
Код 1C v 8.х
  // где Выборка - Выборка из результата запроса
Проводка = Движения.Международный.Добавить();
Проводка.Период = ДатаЗакрытияПериода;
Проводка.СчетДт = Выборка.Счет;
Проводка.СчетКт = ПланыСчетов.Международный.СуммарныеДоходыИРасходы;
Проводка.Организация = Организация;
Проводка.Сумма = Выборка.СуммаОстатокКт;
Проводка.Содержание = "Закрытие счетов в конце финансового года";
Проводка.НомерЖурнала = "Рег";
                
НомерСубконто = 0;
Для каждого ВидСубконто Из Проводка.СчетДт.ВидыСубконто Цикл
    НомерСубконто = НомерСубконто + 1;
    ЗначениеСубконто = Выборка["Субконто"+НомерСубконто];
           Если ЗначениеЗаполнено(ЗначениеСубконто) Тогда
              УстановитьСубконто(Проводка.СчетДт, Проводка.СубконтоДт, НомерСубконто, ЗначениеСубконто);
           КонецЕсли;
КонецЦикла;    

Опубликовано на сайте: https://HelpF.pro
Прямая ссылка: https://HelpF.pro/faq/view/811.html