Заголовок



//В данном примере число в ячейке будет заключено в скобки
Процедура ТабличноеПолеПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
      Если 1 = 1 Тогда
            ОформлениеСтроки.Ячейки.Сумма.ЦветТекста = WebЦвета.Серый;
            ОформлениеСтроки.Ячейки.Сумма.Текст = "(" + СокрЛП(ДанныеСтроки.Сумма) + ")";
      КонецЕсли;
КонецПроцедуры



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

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

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

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



//Расшифровка на табличный документ (обработка Выбора на Поле Табличного Документа)
Процедура ТабДокВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)
    ФормаДок = Документы[ВыбраннаяСтрока["Док"].Имя].ПолучитьФормуНовогоДокумента();
    ФормаДок.Открыть();
    СтандартнаяОбработка = Ложь;
КонецПроцедуры


//Расшифровка на справочник (обработка Выбора на Поле Табличного Документа)
Если Колонка.Имя = "Номенклатура" Тогда
    ЭлементСпр = Справочники.Номенклатура.НайтиПоНаименованию(ВыбраннаяСтрока[Колонка.Имя]);
    ЭлементСпр.ПолучитьФорму().Открыть();
    СтандартнаяОбработка = Ложь;
КонецЕсли;


//Расшифровка на Табличное поле (обработка Выбора на Поле Табличного Документа)
//"Документ" - имя колонки в табличном поле. В ней находится ссылка (результат запроса) на документ

Процедура ТабПолеДокиВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)
        Форма = ВыбраннаяСтрока["Документ"].Ссылка.ПолучитьОбъект().ПолучитьФорму("ФормаДокумента");
        Форма.Открыть();
        СтандартнаяОбработка = Ложь;
КонецПроцедуры



//Оформление полей (колонок) табличного поля
//"ТабПоле" - имя табличного поля
//"ШрифтШапки" - объект класса "Шрифт"
ФормаВыбора.ЭлементыФормы.ТабПоле.Колонки["НазваниеКолонки"].ТекстШапки = "Шапка";
ФормаВыбора.ЭлементыФормы.ТабПоле.Колонки["НазваниеКолонки"].ГоризонтальноеПоложениеВШапке = ГоризонтальноеПоложение.Центр;
ШрифтШапки = Новый Шрифт("Comic Sans MS", 12, Ложь);
ФормаВыбора.ЭлементыФормы.ТабПоле.Колонки["НазваниеКолонки"].ШрифтШапки = ШрифтШапки;
ФормаВыбора.ЭлементыФормы.ТабПоле.Колонки["НазваниеКолонки"].Ширина = 8;
ФормаВыбора.ЭлементыФормы.ТабПоле.Колонки["НазваниеКолонки"].ЦветФонаПоля = WEBЦвета.БледноБирюзовый;



//Оформление строк табличного поля
Процедура  ПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
    //Рассчитать содержимое ячейки строки табличного поля
    ДанныеСтроки["Колонка1"] = ДанныеСтроки["Колонка2"] - ДанныеСтроки["Колонка3"];

    //Цвет ячейки строки табличного поля
    ОформлениеСтроки.Ячейки.Колонка1.ЦветФона = WEBЦвета.Золотой;
КонецПроцедуры



//ТекущаяКолонка, Текущая колонка, ТекущаяСтрока, Текущая строка
Процедура ПередНачаломИзменения(Элемент, Отказ)
    Сообщить(Элемент.ТекущаяСтрока[Элемент.ТекущаяКолонка.Имя]);
    Отказ = Истина;
КонецПроцедуры



//ТабПолеВыбора - табличное поле
//ТЗ - таблица значений (источник данных для табличного поля)
//"КолонкаТаблицыЗначений" - колонка таблицы значений, по которой производится поиск значения "ИскомоеЗначение"
//"ИскомоеЗначение" - значение, которое необходимо найти в колонке "КолонкаТаблицыЗначений" в таблице значений

ФормаВыбора.ЭлементыФормы.ТабПолеВыбора.Значение = ТЗ;
ФормаВыбора.ЭлементыФормы.ТабПолеВыбора.СоздатьКолонки();
ФормаВыбора.ЭлементыФормы.ТабПолеВыбора.ТекущаяСтрока = Тз.Найти("ИскомоеЗначение", "КолонкаТаблицыЗначений");
ФормаВыбора.ОткрытьМодально();