egerLESHIK
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору С Субконто1 и Субконто2 разобрался, необходимо им было назначить тип и тогда обработкой подсталяются значения из справочников как положено. Часть кода отвечающий за этот момент привожу ниже: Код: ................................................................................... Если (ПКО.Счет = СчетПоКоду("631")) Тогда ПКО.НазначитьТип("Субконто1","Справочник.Контрагенты"); ПКО.НазначитьТип("Субконто2","Документ.Договор"); КонецЕсли; ............... ............... НаимКонтр = СокрЛП("ИмяКонтрагента"); ; Если ЭлСпрКонтр.НайтиПоНаименованию(НаимКонтр,0,1)=1 Тогда ПКО.Субконто1 = ЭлСпрКонтр.ТекущийЭлемент(); ПКО.Субконто2 = ПКО.Субконто1.БазДоговор; КонецЕсли; .................................................................................... | Остается нерешенным вопрос как программно установить нулевую видимость для "Субконто3" и текстового поля, его сопровождающего, а также видимость визуальную для "Завод" и текстового поля его спровождающего "тЗавод". В модуле ПКО код процедуры выглядит следующим образом: Код: Процедура ИзмВидОперации() Если ВидОперации.Выбран() = 1 Тогда Счет = ВидОперации.Счет; Если Счет=СчетПоКоду("671") Тогда НазначитьТип("Субконто1","Справочник.Фонды"); ИначеЕсли Счет=СчетПоКоду("366") Тогда НазначитьТип("Субконто1","Справочник.Контрагенты"); НазначитьТип("Субконто2","Справочник.ТМЦ"); ИначеЕсли Счет=СчетПоКоду("635") Тогда НазначитьТип("Субконто1","Справочник.Контрагенты"); НазначитьТип("Субконто2","Перечисление.ВидыНеоборотныхАктивов"); ИначеЕсли Счет=СчетПоКоду("376") Тогда НазначитьТип("Субконто1","Справочник.Сотрудники"); ИначеЕсли Счет=СчетПоКоду("362") Тогда НазначитьТип("Субконто1","Справочник.Контрагенты"); НазначитьТип("Субконто2","Документ.ДоговорАренды"); ИначеЕсли Счет=СчетПоКоду("661") Тогда НазначитьТип("Субконто1","Справочник.Сотрудники"); Иначе Для Инд = 1 По 3 Цикл Если ((ВидОперации.ОтСотрудника = 1)ИЛИ(ВидОперации.ПоРегУчредителей = 1)) И(Строка(Счет.ВидСубконто(Инд)) = "Подразделения") Тогда НазначитьТип("Субконто"+Инд, "Справочник.Сотрудники"); ИначеЕсли Счет=СчетПоКоду("375") Тогда НазначитьТип("Субконто"+1, "Справочник.Сотрудники"); Иначе НазначитьТип("Субконто"+Инд,Счет.ВидСубконто(Инд)); КонецЕсли; Если Инд > Счет.КоличествоСубконто() Тогда УстановитьАтрибут("Субконто"+Инд, 0); КонецЕсли; КонецЦикла; КонецЕсли; Если (Счет = СчетПоКоду("631")) Тогда Форма.тДатаКонтрагента.Видимость(1); Форма.ДатаКонтрагента.Видимость(1); Форма.тЗавод.Видимость(1); Форма.Завод.Видимость(1); Иначе Форма.тДатаКонтрагента.Видимость(0); Форма.ДатаКонтрагента.Видимость(0); Форма.тЗавод.Видимость(0); Форма.Завод.Видимость(0); КонецЕсли; Если Счет.КоличествоСубконто() = 3 Тогда Форма.Субконто3.Видимость(1); Форма.тСубконто3.Видимость(1); Иначе Форма.Субконто3.Видимость(0); Форма.тСубконто3.Видимость(0); КонецЕсли; СуммаСНДС = 0; ДокументДоговор = ПолучитьПустоеЗначение("Документ"); ДокументОснование = ПолучитьПустоеЗначение("Документ"); Основание = ""; КонецЕсли; Если ВидОперации.ИДОперации = Перечисление.ИДОперации.Центр Тогда Если Фирма <> Фирма.КонтрагентВзаиморасчетов.БизнесЮнит Тогда Предупреждение("Данная операция не разрешена для использования!!!"); ВидОперации = ""; КонецЕсли; КонецЕсли; КонецПроцедуры | |