поле табличного документа 1с на форме

Использование элементов управления в табличном документе

В данном разделе рассмотрены варианты использования элементов управления, которые могут быть расположены в табличном документе и поле табличного документа.

Поле ввода для изменения текста ячейки

В случае если ячейка табличного документа или поля табличного документа не содержит значения (подробней о значениях в ячейках табличного документа будет рассказано ниже), для редактирования текста ячейки используется встроенное в ячейку системное поле ввода. Это поле ввода настраивается автоматически на основе свойств ячейки и не поддается дополнительной настройке, т.е. его свойства и поведение нельзя изменить ни программным способом, ни через палитру свойств.

Для входа в режим редактирования ячейки достаточно нажать клавишу «Enter», или нажать клавишу «F2», или произвести двойной щелчок левой клавишей мыши над ячейкой, или непосредственно начать ввод. Для завершения редактирования содержимого ячейки необходимо нажать клавишу «Enter», либо произвести щелчок мышью за пределами поля ввода. Для отмены редактирования следует воспользоваться клавишей «Esc».

Если редактирование ячейки было активизировано любым другим способом, нажатие клавиш перемещения курсора не приведет к завершению редактирования, а приведет перемещению курсора в редактируемом тексте.

При необходимости изменения режима поведения клавиш курсора, при редактировании ячейки, следует нажать клавишу «F2». При этом режимы будут циклически переключаться

Элемент управления для редактирования значения ячейки

Редактирование содержимого ячейки, содержащей значение, происходит так же, как и редактирование обычной ячейки.

Элемент управления формы, расположенный на поле табличного документа

При редактировании формы в режиме конфигуратора, на поле табличного документа, расположенного в форме, можно размещать любые элементы управления формы. То, что элемент управления располагается на поле табличного документа, влияет только на его положение. Остальное поведение элемента управления остается неизменным. Т.е. разработчик может связать элемент управления с данными, настроить обработчики, настроить свойства и т.д.

Возможны два режима работы элемента управления формы, расположенного на поле табличного документа:

Работа в режиме 1С:Предприятие с элементом управления, встроенным в ячейку поля табличного документа и элементом управления, расположенным на поле табличного документа не отличается от работы с элементами управления, расположенными в панели формы.

Источник

Программирование в 1С для всех

В предыдущих статьях, все табличные документы выводились в виде отдельного окна, что, согласитесь, бывает иногда не удобно. В этой статье я покажу, как выводить табличный документ на управляемой форме.

Я рассмотрю два примера. В первом, мы будем на управляемой форме выводить произвольный отчет, который будет сделан при помощи макета табличного документа. А во втором примере, я создам форму для вывода различных печатных форм документов, как это делается в большинстве современных конфигураций.

Пример с отчетом

Реализуем самый простой вариант отчета, который будет без какой-то смысловой нагрузки, призванный просто показать, как работает табличный документ на управляемой форме. В основном все современные отчеты делают на СКД, но этот мы сделаем по «старинке», используя табличный документ. Для этого создадим объект Отчет и подчиненный ему макет табличного документа всего с одной областью.

поле табличного документа 1с на форме. Смотреть фото поле табличного документа 1с на форме. Смотреть картинку поле табличного документа 1с на форме. Картинка про поле табличного документа 1с на форме. Фото поле табличного документа 1с на форме

Подробнее о том, как создается и оформляется макет табличного документа, читайте в этой статье:

Следующим шагом создадим пустую форму подчиненную этом отчёту, и добавим у неё реквизит управляемой формы с типом ТабличныйДокумент.

поле табличного документа 1с на форме. Смотреть фото поле табличного документа 1с на форме. Смотреть картинку поле табличного документа 1с на форме. Картинка про поле табличного документа 1с на форме. Фото поле табличного документа 1с на форме

Поместим этот реквизит на форму. Если его перетащить мышкой, то он станет элементом поля табличного документа. Чтобы не было заголовка, нужно в свойстве ПоложениеЗаголовка добавленного элемента формы установить значение Нет.

поле табличного документа 1с на форме. Смотреть фото поле табличного документа 1с на форме. Смотреть картинку поле табличного документа 1с на форме. Картинка про поле табличного документа 1с на форме. Фото поле табличного документа 1с на форме

Создадим команду управляемой формы, и поместим её на форму в виде кнопки.

поле табличного документа 1с на форме. Смотреть фото поле табличного документа 1с на форме. Смотреть картинку поле табличного документа 1с на форме. Картинка про поле табличного документа 1с на форме. Фото поле табличного документа 1с на форме

Для команды создадим обработчики в серверном и клиентском контексте. В серверном обработчике получим макет табличного документа и единственную область макета. А потом просто будем выводить, как мы это уже делали ранее, полученную область в табличном документе — реквизите формы.

Подробнее о заполнении табличных документов читайте в этой статье:

И всё, если мы сейчас попробуем выполнить нашу команду, то отчет заполнится нужными данными.

поле табличного документа 1с на форме. Смотреть фото поле табличного документа 1с на форме. Смотреть картинку поле табличного документа 1с на форме. Картинка про поле табличного документа 1с на форме. Фото поле табличного документа 1с на форме

Пример с печатной формой документа

А сейчас, мы доработаем вывод печатной формы документа, который мы делали в статье ранее:

Раньше у нас печатная форма документа выходила каждый раз в отдельном окне, так её выводила платформа 1С, мы же сделаем так, чтобы печатная форма выводилась в нужной нам управляемой форме.

Для этого мы создадим общую форму, которую назовем ФормаВыводаПечатнойФормы.

поле табличного документа 1с на форме. Смотреть фото поле табличного документа 1с на форме. Смотреть картинку поле табличного документа 1с на форме. Картинка про поле табличного документа 1с на форме. Фото поле табличного документа 1с на форме

У этой формы создадим реквизит с типом ТабличныйДокумент, разместим его на форме, а также поменяем заголовок формы.

поле табличного документа 1с на форме. Смотреть фото поле табличного документа 1с на форме. Смотреть картинку поле табличного документа 1с на форме. Картинка про поле табличного документа 1с на форме. Фото поле табличного документа 1с на форме

Следующим шагом, создадим параметр ТабДок с типом ТабличныйДокумент.

поле табличного документа 1с на форме. Смотреть фото поле табличного документа 1с на форме. Смотреть картинку поле табличного документа 1с на форме. Картинка про поле табличного документа 1с на форме. Фото поле табличного документа 1с на форме

Нам осталось при создании формы реквизиту управляемой формы присвоить значение параметра.

На этом мы закончим работать с общей формой. В нашем случае, при открытии, форма будет заполняться тем табличным документом, который будет передан в параметре.

Перейдем в модуль команды документа, которую мы создали в предыдущей статье.

поле табличного документа 1с на форме. Смотреть фото поле табличного документа 1с на форме. Смотреть картинку поле табличного документа 1с на форме. Картинка про поле табличного документа 1с на форме. Фото поле табличного документа 1с на форме

И подправим эту команду: будем открывать общую форму, в которую в качестве параметра передадим сформированный ранее табличный документ.

Чтобы каждый раз открывалась новая форма, я передают в качестве третьего параметра новый уникальный идентификатор.

Всё! На этом доработка команды закончена. Можно проверить, как работает открытие нашей формы.

поле табличного документа 1с на форме. Смотреть фото поле табличного документа 1с на форме. Смотреть картинку поле табличного документа 1с на форме. Картинка про поле табличного документа 1с на форме. Фото поле табличного документа 1с на форме

Причем, форму мы можем открыть, как с общего списка документов, так и из нужного нам документа.

поле табличного документа 1с на форме. Смотреть фото поле табличного документа 1с на форме. Смотреть картинку поле табличного документа 1с на форме. Картинка про поле табличного документа 1с на форме. Фото поле табличного документа 1с на форме

Более подробно и основательно разработка в 1С дается в моей книге: «Программировать в 1С за 11 шагов»

поле табличного документа 1с на форме. Смотреть фото поле табличного документа 1с на форме. Смотреть картинку поле табличного документа 1с на форме. Картинка про поле табличного документа 1с на форме. Фото поле табличного документа 1с на формеИзучайте программирование в 1С в месте с моей книги «Программировать в 1С за 11 шагов»

О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»

поле табличного документа 1с на форме. Смотреть фото поле табличного документа 1с на форме. Смотреть картинку поле табличного документа 1с на форме. Картинка про поле табличного документа 1с на форме. Фото поле табличного документа 1с на форме

Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.

Промо-код на скидку в 15% — 48PVXHeYu

Источник

Таблица значений и Табличный документ на управляемой форме

Недавно появилась у меня задача получить данные из MS SQL и загрузить их в 1СБП 3.0. И если задачу по получению данных я выполнил достаточно быстро, спасибо //infostart.ru/public/137872/, то с проблемой вывода этих данных на форму для визуального контроля как-то не складывалось. ТЗ на управляемой форме отображаться никак не хотела. Пришлось по-быстрому сделать табличный документ на форме и заполнять его.

Но, не бросив первоначальную идею и потратив вечер на поиск, как это правильно сделать, натыкался только на программное создание элементов на форме, что в конце-концов и пришлось сделать, но упростив для себя модуль. Я заранее вывожу нужные реквизиты на форму, чтобы это не определять программно, и точно видеть, где потом отобразятся мои данные.

поле табличного документа 1с на форме. Смотреть фото поле табличного документа 1с на форме. Смотреть картинку поле табличного документа 1с на форме. Картинка про поле табличного документа 1с на форме. Фото поле табличного документа 1с на форме

Хотя на форме ТЗ и не видна, так как нет ни одной колонки, но после выполнения все встает на свои места.

В итоге предлагаю два варианта вывода ТЗ на Форму через ТЗ и через Табличный документ (чтобы можно было скопировать).

Модуль выполняется &НаСервере в форме объекта.

P.S. Здесь после всех своих поисков наткнулся на похожую статью

Специальные предложения

поле табличного документа 1с на форме. Смотреть фото поле табличного документа 1с на форме. Смотреть картинку поле табличного документа 1с на форме. Картинка про поле табличного документа 1с на форме. Фото поле табличного документа 1с на форме

поле табличного документа 1с на форме. Смотреть фото поле табличного документа 1с на форме. Смотреть картинку поле табличного документа 1с на форме. Картинка про поле табличного документа 1с на форме. Фото поле табличного документа 1с на форме

поле табличного документа 1с на форме. Смотреть фото поле табличного документа 1с на форме. Смотреть картинку поле табличного документа 1с на форме. Картинка про поле табличного документа 1с на форме. Фото поле табличного документа 1с на форме

поле табличного документа 1с на форме. Смотреть фото поле табличного документа 1с на форме. Смотреть картинку поле табличного документа 1с на форме. Картинка про поле табличного документа 1с на форме. Фото поле табличного документа 1с на форме

поле табличного документа 1с на форме. Смотреть фото поле табличного документа 1с на форме. Смотреть картинку поле табличного документа 1с на форме. Картинка про поле табличного документа 1с на форме. Фото поле табличного документа 1с на форме

поле табличного документа 1с на форме. Смотреть фото поле табличного документа 1с на форме. Смотреть картинку поле табличного документа 1с на форме. Картинка про поле табличного документа 1с на форме. Фото поле табличного документа 1с на форме

поле табличного документа 1с на форме. Смотреть фото поле табличного документа 1с на форме. Смотреть картинку поле табличного документа 1с на форме. Картинка про поле табличного документа 1с на форме. Фото поле табличного документа 1с на форме

поле табличного документа 1с на форме. Смотреть фото поле табличного документа 1с на форме. Смотреть картинку поле табличного документа 1с на форме. Картинка про поле табличного документа 1с на форме. Фото поле табличного документа 1с на форме

На примере вывода в реквизит с типом «ТаблицаЗначений» я написал всего одну процедуру и теперь ее могут использовать без допилов все желающие в любом коде, а код для вывода нужной ТЗ на нужную форму теперь состоит всего из 2-х строк.

Источник

Программное создание табличного поля в обычном приложении

Как-то так, проверил работает:

ТабличноеПоле.ТипЗначения = Новый ОписаниеТипов(«ДокументСписок.РеализацияТоваровУслуг»);
ТабличноеПоле.Верх = 24;
ТабличноеПоле.Лево = 6;
ТабличноеПоле.Ширина = Ширина-40;
ТабличноеПоле.Высота = Высота-50;

Как-то так, проверил работает:

ТабличноеПоле.ТипЗначения = Новый ОписаниеТипов(«ДокументСписок.РеализацияТоваровУслуг»);
ТабличноеПоле.Верх = 24;
ТабличноеПоле.Лево = 6;
ТабличноеПоле.Ширина = Ширина-40;
ТабличноеПоле.Высота = Высота-50;

(4) Kutuzov, немного не понял. Привязать к элементу управления? Вам необходимо назначить какие-то обработчики табличному полю?

(5) Подскажите как использовать отборы в колонке табличного поля, которая была создана программно?

Создаю колонку таким кодом:

В форме элемента справочника Номенклатура

Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)

Если Лев(Наименование,7) = «Барабан» Тогда
СКК_ДобавитьСтраницуДляБарабанов();
КонецЕсли;
КонецПроцедуры // ПередОткрытием()

Процедура СКК_ДобавитьСтраницуДляБарабанов()
ЭлФ = ЭтаФорма.ЭлементыФормы;
ЭлФПанель = ЭлФ.ОсновнаяПанель;
Страницы = ЭлФПанель.Страницы;
Страницы.Добавить( «ДляБарабанов», «Для Барабанов»);

СтараяСтраница = ЭлФПанель.ТекущаяСтраница;
ЭлФПанель.ТекущаяСтраница = Страницы.ДляБарабанов;

ТабПоле = ЭлФ.Добавить(Тип(«ТабличноеПоле»),»ТЧ_РасходПиломатериалов», Истина, ЭлФПанель );
ТабПоле.ТипЗначения = Новый ОписаниеТипов(«РегистрСведенийСписок.СКК_РасходПиломатериалов»);
ТабПоле.ИзменяетДанные = Истина;
ТабПоле.Доступность = Истина;
ТабПоле.ИзменятьСоставСтрок = Истина;
ТабПоле.ТолькоПросмотр = Ложь;
ТабПоле.Верх = 36;
ТабПоле.Лево = 6;
ТабПоле.Ширина = 586;
ТабПоле.Высота = 139;
ТабПоле.Подсказка = «(СКК) Расход пиломатериалов на крепление барабанов»;
ТабПоле.УстановитьПривязку(ГраницаЭлементаУправления.Низ,ЭлФПанель,ГраницаЭлементаУправления.Низ);
ТабПоле.УстановитьПривязку(ГраницаЭлементаУправления.Лево,ЭлФПанель,ГраницаЭлементаУправления.Лево);
ТабПоле.УстановитьПривязку(ГраницаЭлементаУправления.Право,ЭлФПанель,ГраницаЭлементаУправления.Право);
ТабПоле.СоздатьКолонки();

Колонка = ТабПоле.Колонки.Найти(«Номенклатура»);
Колонка.Видимость = Ложь;

ТабПоле.Значение.Отбор.Номенклатура.Использование = Истина;
ТабПоле.Значение.Отбор.Номенклатура.Значение = Ссылка;
ТабПоле.Значение.Отбор.Номенклатура.ВидСравнения = ВидСравнения.Равно;

КомПанель = ЭлФ.Добавить(Тип(«КоманднаяПанель»),»КоманднаяПанельТЧ_РасходПиломатериалов», Истина, ЭлФПанель );
КомПанель.Вспомогательная = Истина;
КомПанель.Автозаполнение = Истина;
КомПанель.ИсточникДействий = ТабПоле;
КомПанель.Верх = 6;
КомПанель.Лево = 6;
КомПанель.Ширина = 586;
КомПанель.Высота = 25;

ЭлФПанель.ТекущаяСтраница = СтараяСтраница;
КонецПроцедуры

Источник

Вывести Отчет в поле табличный документ (обычное приложение )

Сейчас выводится в макет в отдельном окне

ТабДок = Новый ТабличныйДокумент;
Макет = ПолучитьМакет(«Макет1»);
Запрос = Новый Запрос;
Запрос.Текст =
«ВЫБРАТЬ
| ДокументПроведения.Дата КАК Период,
| ДокументПроведения.Организация КАК Организация,
| ДокументПроведения.Сотрудник КАК Сотрудник,
| ДокументПроведения.Оклад КАК Оклад
|ИЗ
| Документ.ДокументПроведения КАК ДокументПроведения
|ИТОГИ ПО
| Организация»;

ОбластьЗаголовок = Макет.ПолучитьОбласть(«Заголовок»);
// ОбластьЗаголовок.Параметры.ДатаОтчета = Формат(ДатаОтчета, «ДЛФ=DD»);
ОбластьСтрока = Макет.ПолучитьОбласть(«Строка»);
ОбластьОрганизация = Макет.ПолучитьОбласть(«Организация»);
ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть(«Детали»);

ТабДок.Очистить();
ТабДок.Вывести(ОбластьЗаголовок);
ТабДок.Вывести(ОбластьСтрока);
ТабДок.НачатьАвтогруппировкуСтрок();

ВыборкаОрганизация = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировк ам);

Пока ВыборкаОрганизация.Следующий() Цикл
ОбластьОрганизация.Параметры.Заполнить(ВыборкаОрганизация);
ТабДок.Вывести(ОбластьОрганизация, ВыборкаОрганизация.Уровень());

Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальные Записи);
ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень());
КонецЦикла;
КонецЦикла;

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *