Новости экономики и финансов. Курсы валют, ситуация на биржах, акции, котировки, аналитика: 💫 💫 💫 💫 💫 читайте на сайте

Программно Скрыть Колонку Табличного Документа 1C • Множественный подбор

Например, у вас имеется документ, в котором вы создали некую табличную часть в данном примере она называется Студенты , и вы хотите программно добавить в нее строки при возникновении какого-то события, тогда возникает вопрос как именно правильно обратиться к данному объекту документа.

1С:Эксперт по технологическим вопросам
Мнение эксперта
1С:Эксперт по технологическим вопросам
Задавайте мне вопросы, и я помогу разобраться!
Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс не забудьте подписаться на YouTube регулярно выходят новые видео. Настройка печати в 1С — 1С программист Обращайтесь в форму связи

Редактирование табличной части объекта с помощью СКД

Описана для обычных форм, но обработка содержит и УФ без использования модальности.

Нам понадобится: сам объект редактирования (в данном случае табличная часть), макет СКД, компоновщик настроек компоновки данных, элемент управления «поле табличного документа», обработчик «Обработка расшифровки».

Макет СКД представляет собой соединение двух наборов данных, каждый из которых имеет тип «Набор данных — объект»:

Настройки вывода просты и примитивны — это обычная таблица с итогами:

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

Данный код позволяет определить по какой именно ячейке кликнул пользователь. Далее, зная значение Номенклатуры и Периода можно найти соответствующую строку в табличной части и присвоить в ней реквизиту «Сумма» нужное значение, после можно программно нажать на кнопку «Обновить».

Обработка заполнения табличной части в 1С 8.3

Производительность

Существует 2 способа непосредственного ввода значения при двойном клике по ячейки:

1) Через диалоговое окно методами ВвестиЗначение() или ВвестиЧисло()

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

При таком способе ввода в каждой ячейке, как и при формировании обычного отчета на СКД, содержится лишь некий объект типа «ИдентификаторРасшифровкиКомпоновкиДанных», который по сути представляет собой число.

2) Непосредственно в ячейку, как в Excel.

Данный способ с применением СКД можно увидеть в ERP 2.0.

Преимущества: очень красиво, у неискушенных вызывает мгновенный вау-эффект, окон не вылетает.

Недостатки: низкая производительность, усложняет код. Нужно понимать, что при таком способе ввода в каждую ячейку придется помещать элемент управления «Поле ввода». Ячеек в поле табличного документа может быть несколько тысяч, т.е. несколько тысяч полей ввода. Вывод этого всего в поле табличного документа не будет быстрым даже в толстом клиенте.

При таком способе ввода в каждой ячейке, как и при формировании обычного отчета на СКД, содержится лишь некий объект типа ИдентификаторРасшифровкиКомпоновкиДанных , который по сути представляет собой число.

1С:Эксперт по технологическим вопросам
Мнение эксперта
1С:Эксперт по технологическим вопросам
Задавайте мне вопросы, и я помогу разобраться!
Нужно иметь ввиду, что не получится сортировать данные в 1С по тем колонкам которые мы добавили через Изменить форму путем выбора вложенного поля из существующей колонки смотрите выше, где мы добавляли колонку Группа , так как это не родные колонки для таблицы. Программно Скрыть Колонку Табличного Документа 1C Обращайтесь в форму связи

Решение

В обработчике формы ПриСозданииНаСервере() опишем код, который разбивается на 3 этапа:

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

После выполнения приведенного кода форма будет выглядеть так:

Для удаления необходимо передать массив реквизитов на удаление в качестве второго параметра метода формы ИзменитьРеквизиты().

Внимание. Удалять можно только реквизиты созданные программно.

Добавление реквизита табличной части

Добавление реквизита и элемента формы для табличной части почти ничем не отличается, необходимо только указать путь «Объект. ». Ниже пример добавления реквизита Ячейка в ТЧ Комплектация.

Промокоды на Займер на скидки

Займы для физических лиц под низкий процент

  • 💲Сумма: от 2 000 до 30 000 рублей
  • 🕑Срок: от 7 до 30 дней
  • 👍Первый заём для новых клиентов — 0%, повторный — скидка 500 руб

Добавление реквизита с типом Произвольный

В одной из задач стало необходимо добавить реквизит с типом Произвольный, но ни СП, ни интернеты ответа не дали. В итоге через несколько попыток было найдено решение

Внимание. Данные добавленного реквизита сохраняться в ИБ не будут.

UPD 2017-05-28 Статья переработана, добавлен вариант применения с примером кода.
UPD 2017-08-07 По просьбе из комментария, в статью добавлен пример программного добавления реквизита табличной части.

Лайфхаки 1С – чудеса с табличной частью документа!

Решение

В обработчике формы ПриСозданииНаСервере() опишем код, который разбивается на 3 этапа:

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

После выполнения приведенного кода форма будет выглядеть так:

Для удаления необходимо передать массив реквизитов на удаление в качестве второго параметра метода формы ИзменитьРеквизиты().

Внимание. Удалять можно только реквизиты созданные программно.

Добавление реквизита табличной части

Добавление реквизита и элемента формы для табличной части почти ничем не отличается, необходимо только указать путь «Объект. ». Ниже пример добавления реквизита Ячейка в ТЧ Комплектация.

Добавление реквизита с типом Произвольный

В одной из задач стало необходимо добавить реквизит с типом Произвольный, но ни СП, ни интернеты ответа не дали. В итоге через несколько попыток было найдено решение

Внимание. Данные добавленного реквизита сохраняться в ИБ не будут.

UPD 2017-05-28 Статья переработана, добавлен вариант применения с примером кода.
UPD 2017-08-07 По просьбе из комментария, в статью добавлен пример программного добавления реквизита табличной части.

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

1С:Эксперт по технологическим вопросам
Мнение эксперта
1С:Эксперт по технологическим вопросам
Задавайте мне вопросы, и я помогу разобраться!
Итак, у нас есть справочник Тест с табличной частью Тест , в табличной части присутствуют реквизиты Тест1 и Тест2 , а нам нужно добавить еще один реквизит Тест3 и показать его на форме. 1С добавить строку в табличную часть программно – Обращайтесь в форму связи

Особенности работы полосы прокрутки

Источник: http://its.1c.eu/db/content/metod8dev/src/platform81/metod/form/table field/i8102812.htm

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

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

Добавить реквизит табличной части программно

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

Первый пример — когда нужно выделить сразу все документы. Откроем список документов «Реализация (акт, накладная)».

Для выделения всех строк нажмем комбинацию клавиш CTRL+A на клавиатуре. Все строки будут желтого цвета.

Наша команда предоставляет услуги по консультированию, настройке и внедрению 1С.

Связаться с нами можно по телефону

+7 499 350 29 00

.

Услуги и цены можно увидеть по

ссылке

.

Будем рады помочь Вам!

Теперь можем выполнить массовое изменение. Для этого нажмем правой кнопкой мыши в списке документов, либо кнопку «Еще». Затем выбираем нужное действие, например, «Провести».

Возьмем самой простой пример в табличной части Материалы документа Требование-накладная присвоим во всех строках количеству значение равное 100.

1С:Эксперт по технологическим вопросам
Мнение эксперта
1С:Эксперт по технологическим вопросам
Задавайте мне вопросы, и я помогу разобраться!
Вот так с помощью пары строк кода в зависимости от обширности табличной части можно программно добавить строку данных в табличную часть документа. 1С команды в табличной части — Вэб-шпаргалка для интернет предпринимателей! Обращайтесь в форму связи

Множественный подбор с использованием множественного выбора

Обработчик события ОбработкаВыбора остается без изменений.

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

Метод ОповеститьОВыборе() посылает оповещение владельцу формы о выполнении выбора или подбора, передает ему выбранное значение и закрывает форму, если она открыта не в режиме множественного выбора.

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

Собрание полезных заметок Shirrma: 1С галочки для табличного поля

  • ВызовСерверногоМетода — из модуля обработки вызывается серверная процедура.
  • ОткрытиеФормы — используется для открытия формы обработки.
  • ВызовКлиентского метода — для вызова клиентской процедуры из модуля обработки.
  • СценарийвБезопасномРежиме — серверная процедура в безопасном режиме.

Справка

ТабличноеПоле.ДобавитьСтроку()

Добавляет строку в табличное поле, аналогично выполнению команды «Добавить».

  • Если табличное поле связано с таблицей или деревом значений, метод добавляет строку в таблицу или дерево значений (аналогично соответствующим методам этих объектов).
  • Если табличное поле связано со списком объектов, хранимых в базе данных, метод начинает редактирование нового объекта этого списка. (Например, список объектов в форме списка справочника, или документа).
  • Если табличное поле связано с набором записей или табличной частью, то метод начинает редактирование новой записи. (Например, список записей в форме списка регистра сведений; табличная часть документа или справочника).

ДанныеФормыКоллекция.Добавить()

Добавляет элемент в конец коллекции и возвращает его в качестве результата метода. Возвращаемое значение: ДанныеФормыЭлементКоллекции .

Доступность: тонкий клиент, веб-клиент, сервер, толстый клиент, мобильное приложение(клиент), мобильное приложение(сервер).

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

Возьмем самой простой пример: в табличной части «Материалы» документа «Требование-накладная» присвоим во всех строках количеству значение равное 100.

💥Принимайте участие в опросе и получайте бесплатную консультацию

Related posts