10.1. Табличное поле

Как запретить пользователю изменять порядок следования колонок в табличном поле?

// Запрет изменения позиций ВСЕХ колонок ЭлементыФормы.ТабличноеПоле.ИзменятьПозициюКолонок = Ложь; // Запрет для некоторых ЭлементыФормы.ТабличноеПоле.Колонки.Картинка.ИзменятьПозицию = Ложь; ЭлементыФормы.ТабличноеПоле.Колонки.Код.ИзменятьПозицию = Ложь; ЭлементыФормы.ТабличноеПоле.Колонки.Наименование.ИзменятьПозицию = Ложь;

Как запретить пользователю изменять любые настройки колонок табличного поля?

// Запрет изменения настроек ВСЕХ колонок ЭлементыФормы.ТабличноеПоле.ИзменятьНастройкуКолонок = Ложь; // Запрет для некоторых ЭлементыФормы.ТабличноеПоле.Колонки.Картинка.ИзменятьНастройку = Ложь; ЭлементыФормы.ТабличноеПоле.Колонки.Код.ИзменятьНастройку = Ложь; ЭлементыФормы.ТабличноеПоле.Колонки.Наименование.ИзменятьНастройку = Ложь;

Как вывести информацию о том, какой отбор установлен в журнале документов?

// Вывод в надпись ЭлементыФормы.НадписьОтбор.Заголовок = СписокДокументов.Отбор; // Вывод в строку сообщений УстановленныйОтбор = СписокДокументов.Отбор; Сообщить("Элементы отбора:"); Для Каждого ЭлементОтбора из УстановленныйОтбор Цикл Сообщить(Строка(ЭлементОтбора) + " использование = " + ЭлементОтбора.Использование); КонецЦикла;

Как в форме справочника установить курсор на элемент с известным наименованием?

ЭлементыФормы.СправочникСписок.ТекущаяСтрока = Справочники.Контрагенты.НайтиПоНаименованию("ПОСТАВЩИКИ", Истина);

Как в форме списка сделать отбор по значению реквизита?

СправочникСписок.Отбор.СтавкаНДС.Установить(Перечисления.СтавкиНДС.НДС18); // Еще вариант СправочникСписок.Отбор.СтавкаНДС.Значение = Перечисления.СтавкиНДС.НДС18; // По какому значению отбор СправочникСписок.Отбор.СтавкаНДС.ВидСравнения = ВидСравнения.Равно; // Вид сравнения (равно, не равно, в списке и пр.) СправочникСписок.Отбор.СтавкаНДС.Использование = Истина; // Признак того, что отбор используется

Как запретить выдачу сообщения: "Введенные данные не отображены в списке, так как не соответствуют отбору" при добавлении новых элементов в справочник?

ЭлементыФормы.ПолеСписка.ПроверкаОтображенияНовойСтроки = ВариантПроверкиОтображенияНовойСтроки.НеПроверять;

Как заполнить ячейку табличного поля данными?

Процедура ТабличноеПолеЗаказовЗаказПриИзменении(Элемент) // Получить текущую строку табличного поля. СтрокаТаблицы = ЭлементыФормы.ТабличноеПолеЗаказов.ТекущаяСтрока; // Ввести значения в ячейки строки. СтрокаТаблицы.Контрагент = СтрокаТаблицы.Заказ.Контрагент; СтрокаТаблицы.ДатаОтгрузки = СтрокаТаблицы.Заказ.ДатаОтгрузки; КонецПроцедуры

Как изменить цвет фона ячейки табличного поля в зависимости от значения, выводимого в нее?

Процедура ТоварыПриПолученииДанных(Элемент, ОформленияСтрок) Для Каждого ОформлениеСтроки Из ОформленияСтрок Цикл ЗначениеЯчейкиОстаток = ОформлениеСтроки.Ячейки.Остаток.Значение; Если ЗначениеЯчейкиОстаток <> Неопределено Тогда Если ЗначениеЯчейкиОстаток < 10 Тогда ОформлениеСтроки.Ячейки.Остаток.ЦветФона = WebЦвета.Красный; ИначеЕсли ЗначениеЯчейкиОстаток > 100 Тогда ОформлениеСтроки.Ячейки.Остаток.ЦветФона = WebЦвета.Желтый; КонецЕсли; КонецЕсли; КонецЦикла; КонецПроцедуры

Как в табличное поле "ВыбранныеКонтрагенты" добавить новую колонку "ОсновнойДоговор", заполнить ее значения и дать возможность открытия этих значений?

Если ТаблицаКонтрагентов.Колонки.Найти("ОсновнойДоговор") = Неопределено Тогда МассивТипов = Новый Массив(); МассивТипов.Добавить(Тип("СправочникСсылка.ДоговорыКонтрагентов")); ОписаниеНужныхТипов = Новый ОписаниеТипов(МассивТипов); ТаблицаКонтрагентов.Колонки.Добавить("ОсновнойДоговор", ОписаниеНужныхТипов); КонецЕсли; Для Каждого СтрокаТаблицы из ТаблицаКонтрагентов Цикл СтрокаТаблицы["ОсновнойДоговор"] = СтрокаТаблицы["Контрагент"]["ОсновнойДоговорКонтрагента"]; КонецЦикла; ЭлементыФормы.ВыбранныеКонтрагенты.СоздатьКолонки(); ЭлементыФормы.ВыбранныеКонтрагенты.Колонки.ОсновнойДоговор.ЭлементУправления.КнопкаОткрытия = Истина;

Как задать список выбора для колонки "ВидДокумента" табличного поля?

Процедура ПриОткрытии() СписокВидовДокументов = Новый СписокЗначений; Для Каждого ДокументКонфигурации из Метаданные.Документы Цикл СписокВидовДокументов.Добавить(ДокументКонфигурации.Имя); КонецЦикла; ЭлементыФормы.ПодборДанных.Колонки.ВидДокумента.ЭлементУправления.СписокВыбора = СписокВидовДокументов; КонецПроцедуры ЭлементыФормы.ПодборДанных.Колонки.ВидДокумента.ЭлементУправления.КнопкаСпискаВыбора = Истина;

Как обеспечить возможность отбора и сортировки данных по реквизитам, не отображаемым в табличном поле формы списка справочника?

ЭлементыФормы.СправочникСписок.НастройкаОтбора.ОсновнойПоставщик.Доступность = Истина; ЭлементыФормы.СправочникСписок.НастройкаПорядка.ОсновнойПоставщик.Доступность = Истина;

Как реализовать перетаскивание между элементами управления?

Процедура НоменклатураНачалоПеретаскивания(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка) // Получить значение, переданное системой. Значение = ПараметрыПеретаскивания.Значение; // В любом случае значением будет массив. МассивЗначений = Новый Массив; // Если перетаскивается группа, то в массив записываем входящие в нее элементы. Если Значение.ЭтоГруппа Тогда Выборка = Справочники.Номенклатура.Выбрать(Значение); Пока Выборка.Следующий() Цикл Если Не Выборка.ЭтоГруппа Тогда МассивЗначений.Добавить(Выборка.Ссылка); КонецЕсли; КонецЦикла; Иначе МассивЗначений.Добавить(Значение); КонецЕсли; // Заполненный массив записываем в параметры. ПараметрыПеретаскивания.Значение = МассивЗначений; КонецПроцедуры Процедура ТоварыПроверкаПеретаскивания(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка, Строка, Колонка) СтандартнаяОбработка = Ложь; КонецПроцедурыПроцедура ТоварыПеретаскивание(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка, Строка, Колонка) ПолученныйМассив = ПараметрыПеретаскивания.Значение; Если ТипЗнч(ПолученныйМассив) = Тип("Массив") Тогда Для Каждого Значение Из ПолученныйМассив Цикл НоваяСтрока = ДокументОбъект.Товары.Добавить(); НоваяСтрока.Номенклатура = Значение; НоваяСтрока.Количество = 1; КонецЦикла; КонецЕсли; КонецПроцедуры

Как вывести остатки на складах в списке номенклатуры?

Процедура СписокНоменклатураПриПолученииДанных(Элемент, ОформленияСтрок) Запрос = Новый Запрос("ВЫБРАТЬ | ТоварыНаСкладахОстатки.КоличествоОстаток КАК Остаток, | ТоварыНаСкладахОстатки.Номенклатура.Ссылка КАК Товар |ИЗ | РегистрНакопления.ТоварыНаСкладах.Остатки( , Номенклатура В (&МассивТоваров)) КАК ТоварыНаСкладахОстатки"); МассивНоменклатуры = Новый Массив; // для передачи в параметр запроса Соответствие = Новый Соответствие; // для заполнения остатков в строках табличного поля Для Каждого Строка из ОформленияСтрок Цикл МассивНоменклатуры.Добавить(Строка.ДанныеСтроки.Ссылка); Соответствие.Вставить(Строка.ДанныеСтроки.Ссылка, Строка); КонецЦикла; Запрос.УстановитьПараметр("МассивТоваров", МассивНоменклатуры); Выборка = Запрос.Выполнить().Выбрать(); // Вывести остаток в строку, найденную в соответствии по номенклатуре // из запроса. Пока Выборка.Следующий() Цикл Соответствие.Получить(Выборка.Товар.Ссылка).Ячейки.Остаток.Значение = Выборка.Остаток; КонецЦикла; КонецПроцедуры

Доступ к строке табличной части через строку табличного элемента формы

ТекущаяСтрока = Объект.ИД.НайтиПоИдентификатору(Элементы.Ид.ТекущаяСтрока);

ТекущаяСтрока.СуммаНДС = ТекущаяСтрока.Сумма*Ст/(1+Ст);

Как изменить видимость колонки

Элементы.РасшифровкаПлатежа.ПодчиненныеЭлементы.диоСтатьяСметы.Видимость = Ложь;

Как заполнить табличное поле данными таблицы значений

// к примеру, таблицу значений мы получаем из результата запроса:

ТЗ = Запрос.Выполнить().Выгрузить(); // здесь ТЗ — это таблица значений, полученная при выгрузке результата запроса

ЭлементыФормы.ТЗ.СоздатьКолонки(); // здесь ЭлементыФормы.ТЗ — это табличное поле

ЭлементыФормы.ТЗ.Значение = ТЗ; // здесь значению табличного поля присваивается значение ТЗ

Сохранить содержимое табличного поля в файле

ТабДок = Новый ТабличныйДокумент; ТабДок.Вывести(ЭлементыФормы.Результат); ТабДок.ОтображатьЗаголовки = Ложь; ТабДок.ОтображатьСетку = Ложь; ТабДок.СохранятьСвойстваОтображения = Истина; ТабДок.АвтоМасштаб = Истина; //ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт; //ТабДок.Показать(); ТабДок.Защита=Истина; ВремФайл=ПолучитьИмяВременногоФайла("pdf"); //ВремФайлXLS=ПолучитьИмяВременногоФайла("xls"); ТабДок.Записать(ВремФайл,ТипФайлаТабличногоДокумента.PDF);