как добавить колонку в форму списка в 1с

Добавление колонки в Динамический список (ОсновнаяТаблица)

Пытаюсь решить казалось бы простую задачу.
Берем любую конфу на 8.3.
Требуется добавить колонку в форму списка и заполнять ее произвольным текстом.

Деталь состоит в том, что для Динамического списка задана ОсновнаяТаблица.
И вот в таком случае у меня проблема, не понимаю как обойти ограничение, колонка не добавляется, не появляется.

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

(1) Так что за колонка? Если это не поле основной таблицы, не реквизит какого-либо поля, а также не значение характеристики, то действительно, добавить не меняя запрос не получится.

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

(2) Воооот. Все так, я пытался таким способом делать.
Но в событии СписокПриПолученииДанныхНаСервере не могу добраться до колонки.

пытаюсь добраться кодом

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

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

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

(17) Т.е. Запрос изменили в самой конфигурации, сняв с поддержки, а потом в расширении заполнили колонку своим значением?
Полностью в расширении не получилось?
Просто хочется всё реализовать в расширении, не трогая саму конфигурацию.

У меня наподобе задача, добавить колонку в список Счетов в ФормуСписка и заполнять её значениями из РС, который заполняется обработкой от СБИС.

(18) В запросе динамического списка ФормыСписка документа ПоступлениеТоваровУслуг есть:
ИЗ
Документ.ПоступлениеТоваровУслуг КАК ДокументПоступлениеТоваровУслуг
.
<ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостоянияЭД КАК СостоянияЭД
ПО ДокументПоступлениеТоваровУслуг.Ссылка = СостоянияЭД.СсылкаНаОбъект>
.
У вас данные из СБИС хранятся в каком-то регистре? Если нет, то откуда вы их хотите вытаскивать? Если да, то просто добавьте такое же соединение с тем регистром:
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостоянияДокументооборота КАК СостоянияДокументооборота
ПО (СостоянияДокументооборота.ОбъектДокументооборота = ДокументРеализацияТоваровУслуг.Ссылка)

и выше в запросе, например:
ВЫБОР
КОГДА (НЕ ДокументРеализацияТоваровУслуг.Проведен)
ТОГДА ЗНАЧЕНИЕ(Перечисление.СостояниеДокументооборота.ПустаяСсылка)
ИНАЧЕ
ЕСТЬNULL(СостоянияДокументооборота.СостояниеДокументооборота, ЗНАЧЕНИЕ(Перечисление.СостояниеДокументооборота.ПустаяСсылка))
КОНЕЦ КАК СостояниеДокументооборота,

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

(Конфигурация Бухгалтерия 3.0.86.16, платформа 8.3.15.2107, документ СчетНаОплатуПокупателю, Форма Списка.)

Как получилось:
Создал отдельную Функцию:

Вот пока не получается создать колонку программно в Расширении с типом Строка.
Есть мысли?

Далее, в форме списка в расширении добавляете этот реквизит на форму (предварительно в расширение нужно добавить все реквизиты, которые будете использовать в запросе). В форме у вас будет две процедуры:

(25) Тогда все просто, делаете по описанному мной (23) и берете свою функцию ПрочитатьПараметрыДокументаСБИС:

2. Возникла другая проблема:
Когда у пользователя в списке документов не включена колонка состояние ЭДО, тогда выдаётся ошибка и в список вообще нельзя войти:
Ошибка в этой строке: ОформлениеЯчейки = Элемент.Значение.Оформление[«СостояниеВерсииЭД»];

Еще раз, по порядку. Вся. доработка происходит в расширении. В основной конфе делать ничего не надо.
1. В расширение добавляете документ СчетНаОплатуПокупателю, Форма Списка.
2. В расширение добавляете:
— реквизиты Организация, Контрагент, Комментарий, ВалютаДокумента, СуммаДокумента документа СчетНаОплатуПокупателю;
— перечисления СостоянияВерсийЭД, СтатусОплатыСчета, СтатусыОтгрузки;
— измерение СсылкаНаОбъект и ресурс СостояниеВерсииЭД регистра сведений СостоянияЭД;
— измерения Организация, Документ и ресурсы Статус, ДополнительныйСтатус регистра сведений СтатусыДокументов;
— измерение Документ регистра сведений ДокументыСОшибкамиПроверкиКонтрагентов;
— измерение ОбъектСФайлами и ресурс ЕстьФайлы регистра сведений НаличиеФайлов;
3. В форме списка в расширении меняете запрос динамического списка (Список-Объект-Настройка списка-Открыть) на следующий:

2. Возникла другая проблема:
Когда у пользователя в списке документов не включена колонка состояние ЭДО, тогда выдаётся ошибка и в список вообще нельзя войти:
Ошибка в этой строке: ОформлениеЯчейки = Элемент.Значение.Оформление[«СостояниеВерсииЭД»];

Источник

Как программно добавить колонку в форму списка 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С 8.3

Рассмотрим механизм добавления колонки с дополнительным реквизитом на примере конфигурации УТ 11 (подойдет также и для Бухгалтерия 3.0, Розница 2.2, 2.3 и др. конфигураций на управляемых формах).

У нас есть дополнительный реквизит под названием «Категория цветов».

как добавить колонку в форму списка в 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С 8.3?В 1С 8.3 появился такой механизм как дополнительные реквизиты. Он.Отчет «Номенклатура со штрихкодами» для 1С УТ, Розница и БП 8.3 и 8.2В типовых конфигурациях 1С в списке номенклатуры вы не сможете.Как заполнить значения дополнительных реквизитов во всей номенклатуре?Если у вас много номенклатуры, заполнить значения дополнительного реквизита во.Пожертвования в 1С БП 8.3Очень важно правильно отразить поступление пожертвования в вашей 1С. Это.

От Программист 1С

Просмотреть все записи от Программист 1С по этой ссылке.

Источник

УФ: Размещение элементов на форме 7 в 1С

Добавление колонки на форму списка (Произвольный запрос динамического списка)

Эту и другие технические статьи написали наши программисты 1С и получили за них премии. Если вы тоже работаете с 1С и любите делиться опытом, приходите разработчиком в Neti →

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

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

Рис. 1. Реквизиты документа

Добавим на форму списка документов колонку со значением статуса приходной, статус приходной находится в регистре сведений. Открываем форму списка документа пр_Приходная. Если формы списка еще нет, то нажимаем значок лупы на вкладке Формы окна свойств документа (рис. 2):

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

Рис. 2. Создание формы списка документа

В открывшемся окне Конструктор формы документа нажимаем Далее > и выбираем поля, которые хотим вывести на форму (поля – это реквизиты и табличные части документа), нажимаем Готово. Открывается окно формы списка документа.

В форме списка документа открываем свойства реквизита Список (правой кнопкой мышки – Свойства), в окне Свойства ставим галочку у свойства Произвольный запрос (рис. 3):

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

Рис. 3. Свойства реквизита формы Список

После установки свойства Произвольный запрос состав свойств раздела Объект изменится (рис. 4):

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

Рис. 4. Состав раздела Объект окна Свойства

Нажимаем на гиперссылку Открыть свойства Настройка списка (рис. 4). Открывается окно Динамический список (рис. 5):

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

Рис. 5. Окно Динамический список

Добавляем в запрос текст для получения статуса приходной из регистра сведений. В примере используется регистр сведений пр_СтатусПриходной со значением свойства Периодичность – В пределах дня, состав регистра представлен на рис. 6:

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

Рис. 6. Состав регистра с данными о статусе приходной

Изменить запрос в окне Динамический список можно нажав на кнопку Конструктор запроса… или можно сразу написать нужный текст в поле Запрос (рис. 7):

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

Рис. 7. Измененный запрос

Важно проверить, что в поле Основная таблица окна Динамический список указан нужный документ (рис. 7), иначе, если поле будет не заполнено, то в форме списка документов не будет возможности добавлять новые документы и открывать существующие (и не будет привычных кнопок Создать, Создать копированием и т.п.). Нажимаем ОК. Теперь в составе реквизита Список те поля, которые были выбраны в запросе (рис. 8):

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

Рис. 8. Состав реквизита Список

Перетаскиваем новое поле Статус из вкладки Реквизиты на вкладку Элементы в состав элемента Список (рис. 8). И размещаем поле Статус на вкладке Элементы после полей Дата, Номер (рис. 9):

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

Рис. 9. Размещение поля Статус

У реквизитов (на вкладке Реквизиты) в составе динамического списка можно отметить свойство Использовать всегда (рис. 8). Это нужно, когда поля должны быть в составе динамического списка в любом случае, даже если они не будут добавлены на форму как элементы, например, будут использоваться в дальнейшем в коде модуля формы списка документа.

Проверяем работу формы списка документа в пользовательском режиме: появилась колонка Статус, содержащая значение статуса приходной из регистра сведений (рис. 10):

Источник

1С 8.3 : Как добавить дополнительную вычисляемую колонку в табличной части управляемой формы

Реализация на платформе 1С: Предприятие 8.1

В начале коротко о том, как добавить дополнительную колонку в табличное поле на платформе 1С 8.1. Предположим, что у нас есть некий документ с табличной частью “Товары” (с колонками “Номенклатура” и “Количество”) и нам нужно вывести дополнительную колонку “Цена”, которая бы содержала данные реквизита “Цена” элементов справочника “Номенклатура”, выбранных в строках табличной части. Для этого нам достаточно добавить в форме документа новую колонку “Цена” в табличное поле, содержащее данные табличной части документа и написать следующий код в обработчике события “ПриПолученииДанных” этого табличного поля:

Хочу обратить внимание на то, что строки табличного поля обрабатываются порциями, по мере прокрутки списка.

Реализация на платформе 1С: Предприятие 8.2

На платформе 8.2 с использованием управляемых форм решение данной задачи потребует бóльших усилий. Это связано с тем, что за счет своей клиент-серверной ориентированности в платформе 8.2 в управляемом режиме отсутствуют некоторые привычные возможности – например, у табличного поля отсутствуют обработчики событий “ПриПолученииДанных” и “ПриВыводеСтроки”, которые мы могли бы использовать для этих целей в 1С 8.1 или 8.2 в обычных формах.
Пусть в нашей конфигурации есть документ “ВводОстатковДолга” с табличной частью “Контрагенты” (с колонками “Контрагент” и “Сумма”). В свою очередь у справочника “Контрагенты” есть реквизит “ИНН”, значение которого необходимо выводить в строках табличного поля.
Откроем управляемую форму документа, добавим новую колонку “ИНН” реквизита “Контрагенты” и перенесём её на закладку “Элементы” (для отображения в форме).

Откроем палитру свойств поля “КонтрагентыКонтрагент” и добавим обработчик события “ПриИзменении”

Источник

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

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