5
Homer
03.09.12
✎
09:05
|
// Процедура устанавливает субконто на счете. Если такое субконто не счете
// отсутствует, то ничего не делается.
//
// Параметры:
// Счет - Счет, к которому относится субконто
// Субконто - вид субконто
// Номер или имя установливаемого субконто
// Значение субконто - значение устанавливаемого субконто
//
Процедура УстановитьСубконто(Счет, Субконто, ИмяСубконто, ЗначениеСубконто, Сообщать = Ложь, Заголовок = "", ВидыСубконтоСчета = Неопределено) Экспорт
Если Счет = Неопределено ИЛИ Счет.Пустая() Тогда
Возврат;
КонецЕсли;
Если ВидыСубконтоСчета = Неопределено Тогда
ВидыСубконтоСчета = Счет.ВидыСубконто;
КонецЕсли;
Если ТипЗнч(ИмяСубконто) = Тип("Число") Тогда
Если ИмяСубконто > ВидыСубконтоСчета.Количество() Тогда
Возврат;
КонецЕсли;
ВидСубк = ВидыСубконтоСчета[ИмяСубконто - 1].ВидСубконто;
Иначе
Если Метаданные.ПланыСчетов.Найти("Международный") <> Неопределено И ТипЗнч(Счет) = Тип("ПланСчетовСсылка.Международный") Тогда
ВидСубк = ПланыВидовХарактеристик.ВидыСубконтоМеждународные[ИмяСубконто];
Иначе
ВидСубк = ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные[ИмяСубконто];
КонецЕсли;
Если ВидыСубконтоСчета.Найти( ВидСубк) = Неопределено Тогда
Возврат;
КонецЕсли;
КонецЕсли;
Если ВидСубк.ТипЗначения.СодержитТип(ТипЗнч(ЗначениеСубконто)) Тогда
Субконто.Вставить(ВидСубк, ЗначениеСубконто);
ИначеЕсли Сообщать Тогда
ОбщегоНазначения.СообщитьОбОшибке("Неверное значение """ + ЗначениеСубконто + """ для вида субконто <" + ВидСубк + ">",, Заголовок);
КонецЕсли;
КонецПроцедуры // УстановитьСубконто()
|
|