0
Креатив
16.07.23
✎
17:52
|
Есть реквизит типа справочник. Нужно проверить, есть ли в проводке субконто соответствующего типа.
При положительном результате, установить это значение.
Не соображу, как сопоставить тип реквизита и вид субконто на счете.
|
|
2
1CBaseV8
16.07.23
✎
19:04
|
Как-то так:
&НаСервере
Процедура УстановкаСубконто(текСчет, текСубконто)
Для Каждого текСуб из текСчет.ВидыСубконто Цикл
Если текСуб.ВидСубконто = ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты ТОгда
текСубконто[текСуб.ВидСубконто] = Объект.ссКонтрагент;
КонецЕсли;
Если текСуб.ВидСубконто.ТипЗначения.СодержитТип(Тип("СправочникСсылка.Склады")) ТОгда
текСубконто[текСуб.ВидСубконто] = Объект.ссСклад;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
&НаСервере
Процедура кмдУстановитьНаСервере()
нзБух = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
нзБух.Отбор.Регистратор.Установить(Объект.ссДок);
нзБух.Прочитать();
Для каждого запБух из нзБух Цикл
УстановкаСубконто(запБух.СчетДт, запБух.СубконтоДт);
УстановкаСубконто(запБух.СчетКт, запБух.СубконтоКт);
//Для Каждого текСуб из запБух.СчетДт.ВидыСубконто Цикл
//
//
// Если текСуб.ВидСубконто = ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты ТОгда
// запБух.СубконтоДт[текСуб.ВидСубконто] = Объект.ссКонтрагент;
// КонецЕсли;
//
// Если текСуб.ВидСубконто.ТипЗначения.СодержитТип(Тип("СправочникСсылка.Склады")) ТОгда
// запБух.СубконтоДт[текСуб.ВидСубконто] = Объект.ссСклад;
// КонецЕсли;
//
//КонецЦикла;
КонецЦикла;
нзБух.Записать();
КонецПроцедуры
|
|