Заголовок



//"СчетДт" - поле (колонка) табличного поля с типом "ПланСчетовСсылка.Хозрасчетный"
//"Субконто1Дт", "Субконто2Дт", "Субконто1Дт" поля (колонки) табличного поля с типом "Характеристика.ВидыСубконтоХозрасчетные"
//При изменении "СчетДт" остальным полям присваивается тип в соответствии с типами субконто у счета "СчетДт"

Процедура РегистрСведенийСписокСчетДтПриИзменении(Элемент)
    СчетДт = Элемент.Значение;
        
    ЭтаФорма.ЭлементыФормы.РегистрСведенийСписок.ТекущиеДанные["Субконто1Дт"] = Неопределено;
    ЭтаФорма.ЭлементыФормы.РегистрСведенийСписок.ТекущиеДанные["Субконто2Дт"] = Неопределено;
    ЭтаФорма.ЭлементыФормы.РегистрСведенийСписок.ТекущиеДанные["Субконто3Дт"] = Неопределено;
        
    Если СчетДт.ВидыСубконто.Количество() > 0 Тогда
        ЭтаФорма.ЭлементыФормы.РегистрСведенийСписок.ТекущиеДанные["Субконто1Дт"] = Новый(СчетДт.ВидыСубконто[0].ВидСубконто.ТипЗначения.Типы()[0]);
    КонецЕсли;

    Если СчетДт.ВидыСубконто.Количество() > 1 Тогда
        ЭтаФорма.ЭлементыФормы.РегистрСведенийСписок.ТекущиеДанные["Субконто2Дт"] = Новый(СчетДт.ВидыСубконто[1].ВидСубконто.ТипЗначения.Типы()[0]);
    КонецЕсли;

    Если СчетДт.ВидыСубконто.Количество() > 2 Тогда
        ЭтаФорма.ЭлементыФормы.РегистрСведенийСписок.ТекущиеДанные["Субконто3Дт"] = Новый(СчетДт.ВидыСубконто[2].ВидСубконто.ТипЗначения.Типы()[0]);
    КонецЕсли;
КонецПроцедуры



//СкладРегистратора - это реквизит, по которому включается сортировка (отбор) на форме списка
//РегистрСведенийСписок – это имя табличного поля на форме списка

Процедура ПриОткрытии()
    ЭлементыФормы.РегистрСведенийСписок.НастройкаПорядка.СкладРегистратора.Доступность = Истина;
КонецПроцедуры



Процедура ПолучитьНомерНаПечать(Документ)
    Если ТипЗнч(Документ) = Тип("ДокументСсылка.ДокКакОнЕстьВКонфигураторе") Тогда
        Сообщить("Тип переданного документа = " + ДокКакОнЕстьВКонфигураторе);
    КонецЕсли;
КонецПроцедуры;



//Эта процедура для основной формы. На этой форме происходит вызов формы ввода пароля
Процедура ДействияФормыкнРедактироватьТабЧасть(Кнопка)
    Если ЭтотОбъект.ПолучитьФорму("ФормаПароль").ОткрытьМодально(20) = "КакойТоПароль" Тогда

        //Действие, если пароль правильный
    Иначе
        //Действие, если пароль НЕ правильный
    КонецЕсли;
КонецПроцедуры


//Эта процедура для формы ввода пароля. На этой форме находится только один элемент - ПолеВводаПароль
Процедура ПолеВводаПарольПриИзменении(Элемент)
    ЭтаФорма.Закрыть(ЭтаФорма.ЭлементыФормы.ПолеВводаПароль.Значение);
КонецПроцедуры



//ДатаНач, ДатаКон - переменные
Процедура КнопкаВыборИнтервалаНажатие(Элемент)
    НП = Новый НастройкаПериода;
    НП.ВариантНастройки = ВариантНастройкиПериода.Период;
        
    НП.УстановитьПериод(НачалоДня(ДатаНач), ?(ДатаКон = '00010101', ДатаКон, КонецДня(ДатаКон)));

    Если НП.Редактировать() Тогда
        ДатаНач = НП.ПолучитьДатуНачала();
        ДатаКон = НП.ПолучитьДатуОкончания();
    КонецЕсли;
КонецПроцедуры



//Поиск родителей счета
//Этот подход подходит и для других иерархических объектов

Счет = ПланыСчетов.Хозрасчетный.РасчетыПоНДС;
Сообщить(Счет);
Пока Не Счет.Родитель = ПланыСчетов.Хозрасчетный.ПустаяСсылка() Цикл
    Сообщить(Счет.Родитель);
    Счет = Счет.Родитель;
КонецЦикла;
назад 1 2 3 4 5 6 7 8 9 10 ... 14далее