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

8.3.3 Для динамического списка реализована возможность автоматического сохранения настроек. Для управления этой возможностью для динамического списка реализовано свойство Автоматическое сохранение пользовательских настроек. Для хранения настроек предназначено особое хранилище: хранилище настроек динамического списка. Для таблицы управляемой формы, связанной с динамическим списком, реализованы команды сохранения/восстановления настроек, а также события, позволяющие реализовать нестандартную реакцию на сохранение, восстановление и редактирование настроек динамического списка. Режим просмотра динамического списка (список, дерево, иерархический список) сохраняется вместе с настройками элементов формы.
Реализована возможность редактировать пользовательские настройки динамического списка в отдельной группе формы, отображающей динамический список, для указания которой реализовано свойство таблицы формы Группа пользовательских настроек. Реализована возможность редактировать настройки динамического списка в отдельной общей форме, которая указывается с помощью свойства конфигурации Основная форма настроек динамического списка.

Для объекта ДинамическийСписок реализовано свойство КомпоновщикНастроек, аналогичное соответствующему свойству отчетов.

В режиме совместимости с версией 8.3.2 поведение не изменилось.

Для динамического списка автоматически сохранялись и восстанавливались отборы (восстанавливались с отключенным признаком использования) и условное оформление. Для сохранения и восстановления остальных настроек, прикладному разработчику было необходимо реализовывать нужные алгоритмы на встроенном языке. 8.3.3 Оптимизирована работа динамического списка в клиент-серверном варианте при одновременной работе большого количества пользователей. В некоторых сценариях динамический список работал недостаточно эффективно. 8.3.3 Конструкции системы компоновки данных или построителя запросов, заключенные в фигурные скобки {}, не приводят к ошибкам при работе динамического списка. Конструкции системы компоновки данных или построителя запросов, заключенные в фигурные скобки {}, в некоторых случаях могли приводить к ошибкам при работе динамического списка. 8.3.3 Поле ВерсияДанных убрано из состава доступных полей настроек динамического списка. Поле ВерсияДанных присутствовало в составе доступных настроек динамического списка. 8.3.4 Для журналов документов реализована возможность размещения на форме команды создания, параметризуемой типом создаваемого документа. Для динамического списка, у которого в качестве основной таблицы установлена таблица журнала документов, возможно автоматическое формирование кнопки создания нового документа, содержащей подменю с перечнем доступных данному пользователю документов.
Для расширения таблицы формы для динамического списка реализована стандартная команда СоздатьПоПараметру.

Для элемента формы Кнопка реализовано свойство Параметр, доступный только в том случае, если кнопка связан с командой СоздатьПоПараметру.

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

В режиме совместимости с версией 8.3.3 поведение не изменилось.

В динамическом списке, для которого в качестве основной таблицы установлен журнал документов, была доступна только одна кнопка Создать (без подменю), после нажатия которой открывался диалог выбора вида создаваемого документа. При этом тип, описывающий создаваемый документ, не передавался в обработчик события ПередНачаломДобавления таблицы формы, связанной с динамическим списком. 8.3.4 В отборах динамического списка реализована возможность использовать поля табличных частей объектов, используемых в запросе формирования динамического списка.
В режиме совместимости с версией 8.3.3 поведение не изменилось. Поля табличных частей объектов было невозможно использовать в отборах динамических списков. 8.3.4 При получении данных динамического списка выполняется удаление настроек динамического списка, которые отключены функциональными опциями.
В режиме совместимости с версией 8.3.3 поведение не изменилось. Настройки, отключенные функциональными опциями, не удалялись из списка настроек динамического списка. 8.3.4 В динамическом списке поля представлений недоступны для использования в отборе, группировке и сортировке. Также по полям представления невозможно выполнять поиск. Настройки, отключенные функциональными опциями, не удалялись из списка настроек динамического списка. 8.3.4 Основной реквизит управляемой формы типа Объект (СправочникОбъект, ДокументОбъект и т.д.) будет отключен в том случае, если функциональной опцией отключен соответствующий объект конфигурации.
Основной реквизит управляемой формы типа ДинамическийСписок будет отключен в том случае, если функциональной опцией отключен объект конфигурации, который указан в качестве основной таблицы динамического списка.

В обоих случаях анализируются только те функциональные опции, которые не имеют параметров.

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

В предыдущих версиях «1С:Предприятия» основной реквизит типа ДинамическийСписок отключался в том случае, если функциональной опцией был отключен объект конфигурации, который указан в качестве основной таблицы динамического списка. При этом анализировались все функциональные опции.

8.3.5 Расширены возможности поиска в таблице, отображающей динамический список. Реализован полнотекстовый поиск при помощи «строки поиска». Реализована возможность искать по текущему значению ячейки. Реализована история поиска. Реализовано наглядное представление текущего состояния поиска в таблице. Результаты поиска по разным колонкам складываются. В одной колонке поддерживается поиск только одного значения (не поддерживается флажок Искать в найденном).
Для автоматически созданных форм, в которых присутствует таблица, связанная с динамическим списком, изменен набор элементов (и их внешний вид) отвечающий за поиск данных в динамическом списке. Изменен внешний вид диалога поиска.

Реализован элемент управляемой формы ДополнениеЭлементаФормы, предназначенный для отображения дополнительных свойств элементов форм.

Реализованы расширения дополнения элемента формы для отображения строки поиска, состояния просмотра, управления поиском.

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

История поиска хранится в хранилище системных настроек с ключом Общее/ИсторияПоискаТаблицы/<Имя формы>.<Имя таблицы>.

В библиотеке картинок реализована картинка УправлениеПоиском

Поиск в таблице осуществляется с использованием диалога поиска. Имелась возможность выполнять поиск в одной колонке более чем по одному значению (флажок Искать в найденном). Диалог поиска имел другой внешний вид. Отсутствовал простой способ определения того, что в таблице используется поиск (только с помощью доступности кнопки Отмена поиска, если она присутствует в командной панели). 8.3.5 Невозможно выполнять сортировку динамического списка по полям субконто регистра бухгалтерии. Попытка сортировки по таким полям (например, с помощью щелчка по заголовку колонки) не приводит к вызову сервера.
В режиме совместимости с версией 8.3.4 поведение не изменилось. Попытка сортировки динамического списка по полям субконто регистра бухгалтерии приводила к формирования сообщения об ошибке и выполнению серверного вызова, не приводящего к получению каких-либо данных. 8.3.5 Длина шаблона поиска для операции языка запросов ПОДОБНО, а также при поиске в динамическом списке и при использовании отбора в системе компоновки данных, стала ограничена. Размер ограничения зависит от используемой СУБД. В случае превышения длины шаблона будет выдаваться ошибка, не приводящая к завершению работы системы. Использование шаблона поиска, длиной более 1024 символов, в операции языка запросов ПОДОБНО, а также при поиске в динамическом списке и отборе в системе компоновки данных, могло приводить к ошибке СУБД и аварийному завершению работы системы. 8.3.6 Реализована возможность получения данных, отображаемых динамическим списком, с учетом видимости колонок и использования поиска.
Для расширения таблицы управляемой формы для динамического списка реализованы следующие методы:

ПолучитьИсполняемуюСхемуКомпоновкиДанных();
ПолучитьИсполняемыеНастройкиКомпоновкиДанных().

Данная возможность не предоставлялась. 8.3.6 Для объекта КомпоновщикНастроекКомпоновкиДанных реализован метод ПолучитьИсточникДоступныхНастроек(). Данная возможность не предоставлялась. 8.3.6 Реализована возможность связывать элементы пользовательских настроек отчета или динамического списка с таблицами управляемой формы.
Для объекта ПользовательскиеНастройкиКомпоновкиДанных реализованы колонки Отбор, Порядок, Выбор, УсловноеОформление, Структура.

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

Команда формы отчета Настройки отображается в основной командной панели формы.

Элементы пользовательских настроек отчета и динамического списка можно было связывать только с полями ввода управляемой формы.
Форма пользовательских настроек отчета и динамического списка выглядела по-другому.

Команда формы отчета Настройки находилась в меню Еще.

8.3.6 Свойство расширения таблицы формы для динамического списка Период и свойство Отображение таблицы формы, связанной с динамическим списком, при открытии формы загружаются из настроек одновременно с загрузкой пользовательских настроек динамического списка.
Рекомендуется выполнять получение свойства Период в обработчике события управляемой формы ПриЗагрузкеПользовательскихНастроекНаСервере.

В режиме совместимости с версией 8.3.5 поведение не изменилось.

Свойство расширения таблицы формы для динамического списка Период получалось из пользовательских настроек до выполнения обработчика события управляемой формы ПриСозданииНаСервере.
Свойство Отображение таблицы формы, связанной с динамическим списком, получалось из настроек на клиенте при открытии формы. 8.3.6 При невозможности создать источник доступных настроек динамического списка генерируется исключение и создание формы не происходит.
В режиме совместимости с версией 8.3.5 поведение не изменилось. При невозможности создать источник доступных настроек компоновки данных для динамического списка, никаких ошибок не генерировалось и работа управляемой формы продолжалась так, как будто источник данных динамического списка не содержит ни каких доступных полей. В результате все элементы формы, связанные с данными динамического списка, удалялись с управляемой формы. 8.3.7 Ускорен поиск в динамическом списке с использованием строки поиска, в том случае, если для основной таблицы динамического списка используется полнотекстовый поиск и на поля основной таблицы динамического списка установлены отборы с видом сравнения Равно. Поиск в динамическом списке с использованием строки поиска работал недостаточно быстро. 8.3.7 Если в динамическом списке выполняется поиск с использованием строки поиска, по полям, полученным не из основной таблицы динамического списка, то вначале используется полнотекстовый поиск по объектам, которые являются источниками этих полей. Поля тех объектов, по которым полнотекстовый поиск ничего не нашел, исключаются из дальнейшего поиска. Если в динамическом списке выполняется поиск с использованием строки поиска, дополнительные условия накладывались на все поля, отображаемые таблицей, связанной с динамическим списком. 8.3.7 Поиск в динамическом списке по полям ссылочных типов с произвольным представлением выполняется по полям, которые используются для формирования представления. Поля, входящие в представление, получаются с учетом обработчика ОбработкаПолученияПолейПредставления() соответствующего объекта. Поиск в динамическом списке по полям ссылочных типов с произвольным представлением выполнялся только по полям, используемым для формирования представления по умолчанию. 8.3.7 При закрытии формы, содержащей динамический список, кластер серверов не оповещался об этом. В результате фоновое задание, выполняющее поиск (если оно было запущено в момент закрытия формы) завершалось не при закрытии формы, а по фактическому завершению. При закрытии формы, содержащей динамический список, кластер серверов не оповещался об этом. В результате фоновое задание, выполняющее поиск (если оно было запущено в момент закрытия формы) завершалось не при закрытии формы, а по фактическому завершению. 8.3.8 Для динамического списка реализована поддержка работы с пакетным запросом. Конструктор запроса динамического списка не поддерживает редактирование пакетного запроса.
В режиме совместимости с версией 8.3.7 поведение не изменилось. Работа динамического списка с пакетным запросом не поддерживалась. 8.3.8 В контекстное меню таблицы, связанной с динамическим списком, у которого основной таблицей выступает список документов или журнал документов, добавлены команды Провести и Отменить проведение. Команды ввода на основании были доступны только из командной панели таблицы управляемой формы, связанной с основным реквизитом управляемой формы списка. 8.3.8 В динамическом списке реализована возможность добавления дочерних полей для полей составного типа с помощью диалога пользовательской настройки формы (Еще — Изменить форму). Добавление доступно для полей, имеющих в составе своего типа хотя бы один ссылочный тип. В динамическом списке, с помощью диалога пользовательской настройки формы (Еще — Изменить форму), было невозможно добавлять дочерние поля для полей составного типа. 8.3.8 При вводе по строке и при использовании строки поиска динамического списка данные будут находиться, даже если они еще не попали в индекс полнотекстового поиска. При вводе по строке и при использовании строки поиска динамического списка данные, еще не попавшие в индекс полнотекстового поиска, не находились системой 8.3.8 Переработана реализация динамического списка. Расширен перечень виртуальных полей, которые в динамическом списке недоступны для использования в настройках упорядочивания, группировки и отбора.
Генерируется ошибка в том случае, если в таблице, указанной в качестве основной таблицы динамического списка, отсутствуют ключевые поля (с точки зрения объектной модели языка) и настроена группировка.

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

Изменен список ограничений для запросов, использующихся при формировании динамического списка.

Описаны особенности упорядочивания динамического списка.

Изменено описание способов получения данных динамическим списком.

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

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

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

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

Отборы, которые автоматически накладываются динамическим списком на стандартные поля Владелец, Родитель, Дата, Период и ЭтоГруппа, применяются средствами системы компоновки данных.

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

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

Более подробное описание указанных особенностей приведено в документации.

В режиме совместимости с версией 8.3.7 поведение не изменилось.

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

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

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

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

Список особенностей упорядочивания динамического списка был не документирован.

Описание способов получения данных динамическим списком было другим.

Если в тексте запроса динамического списка есть поля с псевдонимами, совпадающими с именами стандартных реквизитов, используемые для формирования стандартной картинки, они использовались для формирования стандартной картинки (кроме реквизита ЭтоГруппа).

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

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

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

На сторону клиента передавались данные колонок динамического списка, которые помечены свойством Использовать всегда, но для которых у текущего пользователя отсутствовало право Просмотр. В качестве значения таких колонок выступали значения по умолчанию для соответствующего типа.

Отборы, автоматически накладываемые динамическим списком на ключевые поля и стандартные поля Владелец, Родитель, Дата, Период, ЭтоГруппа, всегда применялись путем непосредственного добавления условия в текст запроса.

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

В режиме совместимости с версией 8.3.7 поведение не изменилось.

Отсутствие права Просмотр на ключевые поля динамического списка не влияло на работоспособность этого списка. При наличии условного оформления формы, в котором задействованы ключевые поля вышеупомянутого динамического списка — форма не открывалась. 8.3.8 В источнике доступных настроек компоновки данных для динамического списка, недоступны для отбора, сортировки и группировки следующие поля:
Дочерние поля полей, являющихся агрегатными функциями языка запросов;
Дочерние поля полей из других (внешних) источников данных;
Дочерние поля–характеристики полей табличных частей.
Поиск через строку поиска по ссылочным полям, являющимся агрегатными функциями языка запросов, не выполняется.

В режиме совместимости с версией 8.3.7 поведение не изменилось.

В источнике доступных настроек компоновки данных для динамического списка, были доступны для отбора, сортировки и группировки следующие поля:
Дочерние поля полей, являющихся агрегатными функциями языка запросов;
Дочерние поля полей из других (внешних) источников данных;
Дочерние поля–характеристики полей табличных частей
При установке отбора на такие поля, динамический список мог работать неправильно – не отображать часть или все данные.

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

8.3.8 В режиме 1С:Предприятие, в динамическом списке с заданным произвольным запросом и указанной основной таблицей, доступность для отбора полей основной таблицы (и их дочерних полей) не зависит от присутствия этих полей в тексте запроса динамического списка. Поля основной таблицы неявно добавляются в текст запроса, если они отсутствуют в тексте запроса.
Если в тексте запроса, установленном для динамического списка, уже есть поле, псевдоним которого совпадает с псевдонимом поля основной таблицы – для отбора будет использоваться именно это поле, в независимости от того действительно оно является этим полем основной таблицы.

Поля, имеющие несколько вариантов пути (на разных вариантах встроенного языка), доступны только на текущем варианте встроенного языка.

В режиме совместимости с версией 8.3.7 и более ранними, поведение не изменилось.

Для отбора были доступны только поля присутствующие в тексте запроса и стандартные поля (Ссылка и т.п.) основной таблицы. Если поместить в отбор недоступные поля с именами, совпадающими с именами полей из основной таблицы – такой отбор мог примениться успешно. 8.3.9 В конструкторе запросов динамического списка:
реализована возможность редактировать пакетный запрос (страница конструктора Пакет запросов).
не поддерживается установка количества выбираемых записей, но поддерживается отключение этой возможности запроса.
при закрытии конструктор запроса диагностирует наличие ключевого слова ПЕРВЫЕ и сообщается об этом.
В режиме совместимости с версией 8.3.8 поведение не изменилось. В конструкторе запросов динамического списка было невозможно редактировать пакетный запрос, была доступна возможность установки количества выбираемых записей без какой-либо диагностики этого факта. 8.3.9 При вводе в строку поиска динамического списка значения, похожего на дату, в которой год указан одной или двумя цифрами, год будет приведен к текущему веку. Данное поведение предотвращает ошибку поиска при использовании СУБД Microsoft SQL Server с установленным смещением дат равным 0. При вводе в строку поиска динамического списка значения, похожего на дату, в которой год указан одной или двумя цифрами, год не приводился к текущему веку. В этом случае поиск завершался ошибкой при использовании СУБД Microsoft SQL Server с установленным смещением дат равным 0. 8.3.9 Данные полей динамического списка, задействованных в отборе элементов условного оформления формы, передаются на сторону клиента в независимости от значения свойства этого поля Использовать всегда или связанной видимой колонки.
В режиме совместимости с версией 8.3.7 поведение не изменилось. Данные полей динамического списка, задействованных в отборе элементов условного оформления формы, автоматически не передавались на сторону клиента. Для того что бы такие элементы функционировали корректно, было необходимо для полей динамического списка, задействованных в отборе этих элементов, установить свойство Использовать всегда. 8.3.9 В документацию внесена рекомендация не использовать условное оформление формы для оформления динамических списков, если такое оформление можно получить за счет настройки условного оформления самого списка. В документации отсутствовала рекомендация не использовать условное оформление формы для оформления динамических списков, если такое оформление можно получить за счет настройки условного оформления самого списка. 8.3.10 Реализована возможность дополнительно обработать данные, которые получил динамический список для отображения. Реализовано событие ПриПолученииДанныхНаСервере.
В режиме совместимости с версией 8.3.7 поведение не изменилось. Данные возможности не предоставлялись. 8.3.10 Реализована возможность управлять доступностью полей динамического списка (включая подчиненные) для использования в группировке, отборе и настройке порядка. Реализованы методы УстановитьОграниченияИспользованияВГруппировке(), УстановитьОграниченияИспользованияВПорядке(), УстановитьОграниченияИспользованияВОтборе(), ПолучитьОграниченияИспользованияВГруппировке(), ПолучитьОграниченияИспользованияВПорядке(), ПолучитьОграниченияИспользованияВОтборе(). Данные возможности не предоставлялись. 8.3.10 Реализована возможность выполнять сортировку динамического списка с помощью щелчка мыши по заголовку колонки таблицы, отображающей данные динамического списка, при наличии в тексте запроса агрегатных функций и выражений СГРУППИРОВАТЬ ПО.
В режиме совместимости с версией 8.3.7 поведение не изменилось. Не поддерживалась возможность выполнять сортировку динамического списка с помощью щелчка мыши по заголовку колонки таблицы, отображающей данные динамического списка, при наличии в тексте запроса агрегатных функций и выражений СГРУППИРОВАТЬ ПО. 8.3.10 Повышена производительность получения данных, отображаемых динамическим списком, при использовании условного оформления. Производительность получения данных, отображаемых динамическим списком, при использовании условного оформления была недостаточной. 8.3.10 Для динамического списка реализована возможность управлять получением представлений для значений ссылочных типов, которые не отображаются на форме или связаны с фактически невидимыми элементами формы. При этом, получение представлений значений ключевых полей для динамического списка, находящегося в режиме выбора, выполняется в любом случае.
Реализовано свойство динамического списка ПолучениеПредставленийДляНевидимыхПолей.

В режиме совместимости с версией 8.3.7 поведение не изменилось.

В динамическом списке выполнялось получение представлений для всех значений ссылочного типа, которые передавались на сторону клиентского приложения. 8.3.10 В динамическом списке содержимое папки Системные поля недоступно для использования в качестве полей выбора.
Если в динамическом списке не указана основная таблица или в основной таблице отсутствует поле ключа, которое может использовать динамический список, то в таком списке не поддерживается настройка полей группировки.

В режиме совместимости с версией 8.3.9 поведение не изменилось.

В динамическом списке содержимое папки Системные поля было доступно для использования в качестве полей выбора.
Если в динамическом списке не указана основная таблица или в основной таблице отсутствует поле ключа, которое может использовать динамический список, настройка группировок была доступна, однако приводило к ошибке получения данных. 8.3.10 В толстом клиенте недоступны следующие свойства объекта ДинамическийСписок: ДинамическоеСчитываниеДанных, ОсновнаяТаблица, ПроизвольныйЗапрос, ТекстЗапроса.
Не поддерживается присвоение значения реквизиту формы типа ДинамическийСписок.

Не поддерживается передача реквизита типа ДинамическийСписок в качестве параметра метода или возвращаемого значения клиент-серверного взаимодействия.

В режиме совместимости с версией 8.3.9 поведение не изменилось.

В толстом клиенте были доступны следующие свойства объекта ДинамическийСписок: ДинамическоеСчитываниеДанных, ОсновнаяТаблица, ПроизвольныйЗапрос, ТекстЗапроса. Однако их изменение не приводило к каким-либо изменениям в работе динамического списка.
Поддерживалось присвоение значения реквизиту управляемой формы типа ДинамическийСписок. При этом дальнейшее поведение системы было неопределено.

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

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

Реализовано свойство динамического списка АвтоЗаполнениеДоступныхПолей.

В режиме совместимости с версией 8.3.7 поведение не изменилось.

Для любого запроса динамического списка было включено автоматическое заполнение доступных полей. 8.3.10 Усовершенствован механизм поиска через строку поиска динамического списка:
реализована возможность искать полную дату (с указанием времени);
реализована возможность искать числа с дробной частью без указания дробной части;
улучшено отображение результатов поиска.
В режиме совместимости с версией 8.3.9 поведение не изменилось. Поиск через строку поиска динамического списка работал следующим образом:
при поиске полной даты (с указанием времени) — отдельно искалась дата и отдельно строка, содержащая время;
при поиске значения, похожего на число с указанием дробной части — выполнялся поиск отдельно целой части и отдельно дробной части, результаты объединялись «по И»;
отображение результатов поиска не всегда работало корректно. 8.3.10 В диалоге расширенного поиска динамического списка недоступны для поиска (отсутствуют в списке полей Где искать) поля, которые недоступны для использования в отборе.
Если текущей колонкой таблицы, связанной со списком, является колонка, которая отображает поле, недоступное для использования в отборе – недоступна команда Найти по значению. В диалоге расширенного поиска динамического списка были доступны для поиска (присутствовали в списке полей Где искать) поля, которые недоступны для использования в отборе.
Доступность команды Найти по значению не зависело от того, доступно поле, отображаемое текущей колонкой динамического списка, для использования в отборе или нет. 8.3.10 Реализована возможность устанавливать флажок Основной реквизит для реквизита управляемой формы типа КомпоновщикНастроекКомпоновкиДанных. В этом случае в качестве расширения формы будет выступать Расширение управляемой формы для компоновщика настроек.
Для такой формы становятся доступными свойство формы Группа пользовательских настроек и обработчик события ПриОбновленииСоставаПользовательскихНастроекНаСервере. Свойство управляемой формы Основной реквизит устанавливалось только для автоматически генерируемой формы настроек динамического списка. Разработчик не мог создать такую форму. 8.3.10 Если в строку поиска динамического списка ввести значение, которое можно интерпретировать как число в экспоненциальной форме, то такое значение не будет интерпретироваться как число, а будет интерпретировано как строка. Поиск будет выполняться для строки.
В режиме совместимости с версией 8.3.9 поведение не изменилось. Если в строку поиска динамического списка ввести значение, которое можно интерпретировать как число в экспоненциальной форме, то такое значение интерпретировалось как число. Поиск выполнялся для числа. 8.3.11 При использовании в динамическом списке полей ИмяПредопределенныхДанных и ВерсияДанных, для этих полей:
Доступны только виды сравнений Равно, Не равно, В списке, Не в списке, Заполнено и Не заполнено.
Не поддерживается поиск через строку поиска динамического списка.
Расширенный поиск возможен только по точному соответствию. При использовании в динамическом списке полей ИмяПредопределенныхДанных и ВерсияДанных, для этих полей:
Были доступны все виды сравнения.
При поиске через строку поиска динамического списка генерировалась ошибка.
Расширенный поиск позволял указать любой вариант поиска, но при поиске по вхождению или началу строки генерировалась ошибка. 8.3.11 При использовании русского варианта встроенного языка добавление или удаление стандартного псевдонима для стандартного реквизита более не приводит:
к разрыву связи между полем динамического списка и отображающим это поле элементом формы;
потере значения признака ИспользоватьВсегда поля динамического списка.
В режиме совместимости с версией 8.3.10 поведение не изменилось. При использовании русского варианта встроенного языка добавление или удаление стандартного псевдонима для стандартного реквизита приводило:
к разрыву связи между полем динамического списка и отображающим это поле элементом формы;
потере значения признака ИспользоватьВсегда поля динамического списка. 8.3.11 Элементы, связанные с командами расширений таблицы или формы для динамического списка и недоступные текущему пользователю, удаляются с формы вне зависимости от того, добавлены они явно, прикладным разработчиком, или автоматически, расширением таблицы или формы.
В режиме совместимости с версией 8.3.10 поведение не изменилось. Элементы, связанные с командами расширений таблицы или формы для динамического списка которые недоступны текущему пользователю, удалялись только в том случае, если они были добавлены автоматически, расширениями таблицы или формы, и не удалялись (и не работали), если они были добавлены явно, прикладным разработчиком. 8.3.11 Реализована возможность отключить отображение картинок папок в строках для иерархических динамических списков. Для этого следует очистить свойство ПутьКДаннымКартинкиСтрок таблицы, отображающей иерархический динамический список.
В режиме совместимости с версией 8.3.10 поведение не изменилось. Отключить отображение картинок папок в строках для иерархических динамических списков было невозможно. Очистка свойства ПутьКДаннымКартинкиСтрок таблицы, отображающей иерархический динамический список, не приводило к отключению отображения картинок папок. 8.3.11 Ускорено открытие форм, содержащих динамические списки. Открытие формы, содержащих динамические списки, занимало больше времени. 8.3.12 Если колонка таблицы, связанной с динамическим списком, находится в группе колонок с группировкой В ячейке, то в документе, полученном путем выполнения команды Вывести список, для этой колонки в качестве заголовка будет использоваться заголовок колонки таблицы управляемой формы.
В режиме совместимости с версией 8.3.11 поведение не изменилось. Если колонка таблицы, связанной с динамическим списком, находится в группе колонок с группировкой В ячейке, то в документе, полученном путем выполнения команды Вывести список:
В тонком клиенте для этой колонки в качестве заголовка использовалось имя колонки таблицы формы.
В веб-клиенте для этой колонки в качестве заголовка использовался заголовок колонки таблицы формы. 8.3.12 Конструктор схемы компоновки данных при добавлении нового параметра в запрос набора данных, автоматически устанавливает возможность использования списка значений для добавляемого параметра, если в запросе этот параметр используется в операции В.
Если в схеме компоновки данных отсутствует описание параметра, используемого в запросе, то в источнике доступных настроек компоновки данных в доступном параметре автоматически устанавливается возможность использовать в параметре списка значений, если в запросе этот параметр находится в операции В.

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

В режиме совместимости с версией 8.3.11 поведение не изменилось.

Конструктор схемы компоновки данных автоматически не заполнял признак возможности использования списка значений в параметре схемы компоновки данных.
Если в схеме компоновки данных отсутствует описание параметра, то считалось, что в данный параметр можно передавать только единичные значения.

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

8.3.12 В источнике доступных настроек системы компоновки данных для динамического списка, недоступны для отбора, сортировки и группировки поля, которые являются дочерними полями-характеристиками полей табличных частей, полученных через точку (например, Ссылка.Товары.Товар.[Страна происхождения]).
В режиме совместимости с версией 8.3.11 поведение не изменилось. В источнике доступных настроек системы компоновки данных для динамического списка, были доступны для отбора, сортировки и группировки поля, которые являются дочерними полями-характеристиками полей табличных частей, полученных через точку (например, Ссылка.Товары.Товар.[Страна происхождения]). Однако, попытка установить отбор по значению такого поля приводил к ошибке. 8.3.13 При выполнении поиска в динамическом списке вводятся ограничения:
Общий размер искомого текста не должен превышать 1000 символов.
Количество отдельных слов в искомом тексте не должно быть больше 20.
При нарушении данных ограничений генерируется ошибка. Правила разбиения поискового запроса на отдельные слова приведены в документации. При выполнении поиска в динамическом списке отсутствовали ограничения на искомый текст. 8.3.13 При открытии форм отчетов и динамических списков, если в хранилище отсутствуют пользовательские настройки, система выполняет следующие действия:
Из основных настроек динамического списка и настроек варианта отчета, отмеченных как пользовательские, удаляются элементы с недоступными и отсутствующими полями.
Из пользовательских настроек, сформированных по умолчанию, удаляются элементы, содержащие недоступные и несуществующие поля.
Вызываются обработчики событий ПередЗагрузкойПользовательскихНастроекНаСервере и ПриЗагрузкеПользовательскихНастроекНаСервере.
Для обработчиков событий ПередЗагрузкойПользовательскихНастроекНаСервере и ПриЗагрузкеПользовательскихНастроекНаСервере реализован параметр ИспользуютсяСтандартныеНастройки.

При выполнении команды Установить стандартные настройки форм отчетов и динамических списков выполняются следующие действия:

Из основных настроек динамического списка и настроек варианта отчета, отмеченных как пользовательские, удаляются элементы с недоступными и отсутствующими полями.
Из пользовательских настроек, сформированных по умолчанию, удаляются элементы, содержащие недоступные и несуществующие поля.
Если за время использования отчета или динамического списка пользовательские настройки не изменялись на стороне клиента ни интерактивно, ни с помощью встроенного языка, то при закрытии формы отчета или динамического списка, текущие пользовательские настройки удаляются из системного хранилища.
Метод КомпоновщикНастроекКомпоновкиДанных.Восстановить(), вызванный с параметром СпособВосстановленияНастроекКомпоновкиДанных.Полное, выполняет следующие действия: отключает флаг Использование у элементов основных настроек, потерявших связь с доступными полями, удаляет элементы пользовательских настроек и основных настроек, отмеченных, как пользовательские, но которые содержат поля, отсутствующие в коллекции доступных полей или недоступные для текущих функциональных опций и прав.

В режиме совместимости с версией 8.3.12 поведение не изменилось.

При открытии форм отчетов и динамических списков, если в хранилище отсутствуют пользовательские настройки, наблюдалось следующее поведение:
Из основных настроек динамического списка и настроек варианта отчета, отмеченных как пользовательские, не удалялись элементы с недоступными и отсутствующими полями.
Из пользовательских настроек, сформированных по умолчанию, не удалялись элементы, содержащие недоступные и несуществующие поля.
Не вызывались обработчики событий ПередЗагрузкойПользовательскихНастроекНаСервере и ПриЗагрузкеПользовательскихНастроекНаСервере.
При выполнении команды Установить стандартные настройки форм отчетов и динамических списков наблюдалось следующее поведение:

Из основных настроек динамического списка и настроек варианта отчета, отмеченных как пользовательские, не удалялись элементы с недоступными и отсутствующими полями.
Из пользовательских настроек, сформированных по умолчанию, не удалялись элементы, содержащие недоступные и несуществующие поля.
Если за время использования отчета или динамического списка пользовательские настройки не изменялись на стороне клиента ни интерактивно, ни с помощью встроенного языка, то при закрытии формы отчета или динамического списка, в качестве пользовательских настроек сохранялись стандартные настройки, сформированные на основании текущего варианта (основных настроек динамического списка).
Метод КомпоновщикНастроекКомпоновкиДанных.Восстановить(), вызванный с параметром СпособВосстановленияНастроекКомпоновкиДанных.Полное, отключал флаг Использование у элементов основных настроек, потерявших связь с доступными полями.

8.3.13
   ProgerLink

19.01.12 — 10:20

Всем привет. Подскажите, у меня следующая задумка. В зависимости от отборов и настроек пользователя на форме, у меня формируется «произвольный запрос» для динамического списка. Основа запроса одна и та же, но добавляются некоторые поля и таблицы для запроса, чтобы без надобности не грузить систему. Так вот, когда запрос «тянет» дополнительные поля, необходимо их отображать на форме в таблице. В конфигураторе добавил новую колонку, но без привязки «Путь к данным», что не дает ей отображаться у клиента, как и на превьюве в самом конфигураторе, но и программно до нее не достучаться, чтобы в нужный момент установить ей «Путь к данным». Скажите, возможно ли вообще реализовать задачу таким образом, либо к колонке созданной на этапе конфигурирования, либо и колонку создать программно с установлением ей данных??? Как вариант вижу пока такой путь решения, на этапе конф-ия сразу прописать путь к данным, но в нужный момент запрос в это поле будет возвращать актуальные данные, а иначе просто колонка из запроса с не важно каким значением. Ну и разумеется управлять видимостью этой колонки.

P.S. Основная таблица для динамического списка: документ

Всем спасибо

  

Партнерская программа EFSOL Oblako

   vmv

1 — 19.01.12 — 10:22

можно, уже убсудали динамику колонок и реквизитов УФ, в том числе и я — мои вставки идеальны, хвастаюсь)

ищи)

   RomaH

2 — 19.01.12 — 10:22

есть возможность добавлять поля формы програмно … вроде

почему програмно не удается поле добавить?

   Гот

3 — 19.01.12 — 10:23

//Опишем тип реквизита «Динамический список»

   ТипыРеквизитаДинамическийСписок = Новый Массив;

   ТипыРеквизитаДинамическийСписок.Добавить(Тип(«ДинамическийСписок»));

   ОписаниеТиповДляРеквизита = Новый ОписаниеТипов(ТипыРеквизитаДинамическийСписок);

   //Выберем из метаданных все регистры бухгалтерии, созда

   Для Индекс = 0 По Метаданные.РегистрыБухгалтерии.Количество() — 1 Цикл

       
       МетаданныеРегистра = Метаданные.РегистрыБухгалтерии.Получить(Индекс);

       ИмяРеквизита = СтрЗаменить(МетаданныеРегистра.ПолноеИмя(),».»,»_»);

       
       //Создадим страницу для каждого регистра

       СтраницаРегистра = Элементы.Добавить(«_стр» + ИмяРеквизита,Тип(«ГруппаФормы»),Элементы.СтраницыСписокРегистрыБухгалтерии);

       СтраницаРегистра.Вид = ВидГруппыФормы.Страница;

       СтраницаРегистра.Заголовок = МетаданныеРегистра.Представление();

   
       //Создадим на форме группу для каждого регистра

       ГруппаРегистра = Элементы.Добавить(«_гр» + ИмяРеквизита,Тип(«ГруппаФормы»),СтраницаРегистра);

       ГруппаРегистра.Вид = ВидГруппыФормы.ОбычнаяГруппа;

       //Создадим новый реквизит формы

       ТаблЗначений = Новый РеквизитФормы(«_т» + ИмяРеквизита, ОписаниеТиповДляРеквизита);

       ДобавляемыеРеквизиты = Новый Массив;

       ДобавляемыеРеквизиты.Добавить(ТаблЗначений);

       
       //Изменим структуру реквизитов формы

       ИзменитьРеквизиты(ДобавляемыеРеквизиты);  

       
       //Теперь у формы есть реквизит, к которому можно обратиться по имени и изменить различные параметры

       //    укажем для него основную таблицу — Движения с субконто

       РеквизитТаблЗначений = ЭтаФорма[«_т» + ИмяРеквизита];

       РеквизитТаблЗначений.ОсновнаяТаблица     = МетаданныеРегистра.ПолноеИмя() + «.ДвиженияССубконто»;        

       //Теперь на форме создадим таблицу формы

       ТаблицаФормы = Элементы.Добавить(«_ф» + ИмяРеквизита, Тип(«ТаблицаФормы»),ГруппаРегистра);

       ТаблицаФормы.ПутьКДанным = «_т» + ИмяРеквизита;

       
       //Создадим колонки, используя доступные поля отбора СКД

       ДоступныеПоляОтбора = ЭтаФорма[«_т» + ИмяРеквизита].Отбор.ДоступныеПоляОтбора;

       
       Для Каждого Реквизит Из ДоступныеПоляОтбора.Элементы Цикл

           
           Попытка

               НоваяКолонкаТаблицы = Элементы.Добавить(«Колонка» + Реквизит.Поле, Тип(«ПолеФормы»), ТаблицаФормы);    

               НоваяКолонкаТаблицы.ПутьКДанным = «_т» + ИмяРеквизита + «.»+ Реквизит.Поле;

           Исключение

               //Сообщить(ОписаниеОшибки());

           КонецПопытки;

           
       КонецЦикла;    

       
   КонецЦикла;

   1с-кин

4 — 19.01.12 — 10:26

(1) и ну и дал бы ссылки, у тебя ж отобор по темем есть, и сам лучше помнишь, в каких темах было :)

   1с-кин

5 — 19.01.12 — 10:27

*отбор и «темам»

   Гот

6 — 19.01.12 — 10:29

Вот этот код работает. (Не претендую на правильность, меня

»

ДоступныеПоляОтбора = ЭтаФорма[«_т» + ИмяРеквизита].Отбор.ДоступныеПоляОтбора;

       
       Для Каждого Реквизит Из ДоступныеПоляОтбора.Элементы Цикл

»

смущает.

Но, принцип такой…

1. Объявляешь тип реквизита формы:

ТипыРеквизитаДинамическийСписок = Новый Массив;

   ТипыРеквизитаДинамическийСписок.Добавить(Тип(«ДинамическийСписок»));

   ОписаниеТиповДляРеквизита = Новый ОписаниеТипов(ТипыРеквизитаДинамическийСписок);

2. Создаешь РЕКВИЗИТ формы:

ТаблЗначений = Новый РеквизитФормы(«_т» + ИмяРеквизита, ОписаниеТиповДляРеквизита);

       ДобавляемыеРеквизиты = Новый Массив;

       ДобавляемыеРеквизиты.Добавить(ТаблЗначений);

3. Обновляешь реквизиты:

ИзменитьРеквизиты(ДобавляемыеРеквизиты);

4. Получаешь доступ к свойствам реквизита. Текст запроса тоже будет доступен

РеквизитТаблЗначений = ЭтаФорма[«_т» + ИмяРеквизита];

       РеквизитТаблЗначений.ОсновнаяТаблица     = МетаданныеРегистра.ПолноеИмя() + «.ДвиженияССубконто»;    

5. Ну, теперь создаешь элементы формы

ТаблицаФормы = Элементы.Добавить(«_ф» + ИмяРеквизита, Тип(«ТаблицаФормы»),ГруппаРегистра);

       ТаблицаФормы.ПутьКДанным = «_т» + ИмяРеквизита;

       
и колонки:

                НоваяКолонкаТаблицы = Элементы.Добавить(«Колонка» + Реквизит.Поле, Тип(«ПолеФормы»), ТаблицаФормы);    

               НоваяКолонкаТаблицы.ПутьКДанным = «_т» + ИмяРеквизита + «.»+ Реквизит.Поле;

   ProgerLink

7 — 19.01.12 — 10:39

Добавил 2 строчки кода, для добавления колонки с установлением «Путь к данным» :

   НоваяКолонкаТаблицы = Элементы.Добавить(«Колонка_1», Тип(«ПолеФормы»), Элементы.Список);    

   НоваяКолонкаТаблицы.ПутьКДанным = «Документ_СпецификацияККонтракту.Вложение»;    

На этапе события, пишет:

{Документ._СпецификацияККонтракту.Форма.ФормаСпискаУправляемая.Форма(22)}: Ошибка при вызове метода контекста (Добавить)

   НоваяКолонкаТаблицы = Элементы.Добавить(«Колонка_1», Тип(«ПолеФормы»), Элементы.Список);    

по причине:

Изменение состава элементов недоступно

   ProgerLink

8 — 19.01.12 — 10:42

Хотя вторая строка наверное должна быть такой:

НоваяКолонкаТаблицы.ПутьКДанным = «Список.Вложение»;

Но суть ошибки не меняет, все так же не доступно изменение состава элементов

   ProgerLink

9 — 19.01.12 — 10:46

Господа, это я обшибся, добавление должно происходить на сервере. Всем спасибо большое !!!!

   Гот

10 — 19.01.12 — 10:53

0_0

  

ProgerLink

11 — 19.01.12 — 16:15

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

.Вид = ВидПоляФормы.ПолеКартинки;

и

.КартинкаЗначений = БиблиотекаКартинок.ТолькоСкрепка;

Но в форме списка картинок не появлялось, пока не добавил одну строчку. Вся процедура:

Процедура УправлениеКолонкой_Вложение(РежимДобавить)

   
   КолонкаТаблицы = Элементы.Найти(«КолонкаВложение»);

   Если КолонкаТаблицы = Неопределено Тогда

       КолонкаТаблицы = Элементы.Вставить(«КолонкаВложение», Тип(«ПолеФормы»), Элементы.Список, Элементы.Найти(«Дата»));

       КолонкаТаблицы.ПутьКДанным = «Список.Вложение»;

       КолонкаТаблицы.Вид = ВидПоляФормы.ПолеКартинки;

       КолонкаТаблицы.Заголовок = » «;

       КолонкаТаблицы.КартинкаЗначений = БиблиотекаКартинок.ТолькоСкрепка;

       Список.УстановитьОбязательноеИспользование(«КолонкаВложение», Истина); // <- Та самая строчка

       //КолонкаТаблицы.Картинка.Вид = ВидКартинки.ИзБиблиотеки;

   Иначе

       Если РежимДобавить Тогда

           КолонкаТаблицы.Видимость = Истина;

       Иначе

           КолонкаТаблицы.Видимость = Ложь;

       КонецЕсли;

   КонецЕсли;

   
КонецПроцедуры

Главная » Статьи 1с » 1С как установить параметры динамического списка

Динамические списки: использование и установка параметров в 1С 8.2 и 8.3

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

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

рис.1

Добавим в командную панель поле ВыборГода и перенесем мышкой на форму. В результате чего будем делать отбор по необходимому нам году. Как вы уже заметили в панели реквизитов есть реквизит Список с типом ДинамическийСписок. Вот это именно то, что позволит нам производить любые манипуляции и любые отборы. Если мы нажмем свойства в контекстном меню динамического списка(нажать правой кнопкой),  то увидим что основная таблица состоит полностью из всех реквизитов данных элементов справочника.

рис.2

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

рис.3

Добавим условие, чтобы наш запрос выглядел так, как на рисунке 3. Мы видим, что у нас появился параметр &ВыборГода , в который мы будем передавать данные с поля, который мы поместили на форму.

рис.4

Как передать параметр в динамический список 1С, а именно в запрос, который мы отредактировали? Нам необходимо в модуле формы добавить некоторый код. Для этого нам очень подойдет процедура ПриСозданииНаСервере, так как она отрабатывает еще до открытия формы. &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)     Список.Параметры.УстановитьЗначениеПараметра(«ВыборГода», Параметры.ВыборГода); КонецПроцедуры Таким образом при открытии данного справочника из необходимого вам места вы можете при изменении года тут же фильтровать структуру посевов.

Настройки динамического списка

Если вы не желаете «заморачиваться» с параметрами и запросами, вы можете перейти во вкладку Настройки и устанавливать уже жесткий отбор. Например установим год  2016. Также вы можете по вашему желанию производить сортировку, группировку и даже использовать оформление.

рис.5

На этом настройка завершена. Как видите данный механизм очень прост и удобен.

1chelp.net

Обработка и оформление данных динамического списка | 1С:Зазеркалье

08.07.2016

Реализовано в версии 8.3.10.2168.

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

Однако такая универсальность имеет и оборотную сторону. Желание «показать сразу всё» может приводить вас к значительному усложнению запроса. В результате вы будете получать неэффективные планы выполнения и, как результат, снижение производительности при отображении и пролистывании списка.

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

Событие ПриПолученииДанныхНаСервере

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

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

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

Вы можете изменить данные, находящиеся в этих строках, или применить к ячейкам собственное оформление. Доступны такие возможности оформления как ЦветФона, ЦветТекста, Шрифт, ГоризонтальноеПоложение, Видимость, Доступность, Отображать, Текст и Формат.

Также, при необходимости, вы можете посмотреть и проанализировать копию полных настроек динамического списка. Но изменить настройки вы не сможете.

Простейший сценарий использования

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

До сих пор эта задача решалась левым соединением в запросе динамического списка, и условным оформлением списка, устанавливаемым в конфигураторе.

Теперь она решается так. Стандартный запрос списка не усложняется, в него добавляется только фиктивное поле Остаток.

А в обработчике ПриПолученииДанныхНаСервере() только для полученных строк вычисляются остатки. И тут же маленькие остатки выделяются красным.

Здесь, методом ПолучитьКлючи(), из коллекции строк динамического списка вы получаете их ключи (ссылки), и передаёте эти ключи в запрос остатков.

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

В результате пользователь видит следующий список:

В чём преимущество такого варианта?

Во-первых, запрос списка остаётся простым. Или он не остаётся простым, но количество соединений в нём уменьшается. А это значит, что для него, с большой долей вероятности, будет построен хороший план.

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

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

Ограничения на изменяемые и добавляемые поля

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

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

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

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

wonderland.v8.1c.ru

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

 +6 

   

Если вы, открыв форму справочника или документа, выполнили некоторое действие, код который должен изменить состояние данных в динамических списках или значение реквизита. Данные изменены, но в открытой форме осталось все как было, можно конечно закрыть форму и открыть снова — все обновится

НО если нужно обновить сразу в открытой форме, то используйте код:

Код 1C v 8.3  &НаКлиенте Процедура ОбработатьВыборФайла(Результат, Адрес, ВыбранноеИмяФайла, ДополнительныеПараметры) Экспорт Если Не Результат Тогда  Возврат;  КонецЕсли; // Много кода обработки //… //… //… // ОБНОВИМ динамический список файлы Элементы.Файлы.Обновить(); // для обновления Реквизитов ЭтаФорма.Прочитать(); // Обновление данных ЭтаФорма.ОбновитьОтображениеДанных();

КонецПроцедуры

Обновить() — Обновляет данные в таблице.

Прочитать() — Обновляет объект управляемой формы.

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

helpf.pro


Смотрите также

 +17 

   

Распечатать

Как установить параметр динамического списка?

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

Для вывода используется используется запрос:

Код 1C v 8.3

 ВЫБРАТЬ
РегистрСведенийFinans.Период,
РегистрСведенийFinans.Клиент,
РегистрСведенийFinans.Движение,
РегистрСведенийFinans.Расшифровка,
РегистрСведенийFinans.СуммаОбщая,
РегистрСведенийFinans.РасходыСервиса,
РегистрСведенийFinans.W1C
ИЗ
РегистрСведений.Finans КАК РегистрСведенийFinans
ГДЕ
РегистрСведенийFinans.Клиент =Клиент

Чтобы при открытии не отображалась информацию по другим клиентам, необходимо установить параметр динамического списка, сделаем это так:

Код 1C v 8.3

 &НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Финансы.Параметры.УстановитьЗначениеПараметра("Клиент", Объект.Ссылка);
КонецПроцедуры

Можно и просто настроить отбор через настройки, используя ЭлементОтбораКомпоновкиДанных

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

Динамический список 1С предназначен для вывода на форму любых данных в произвольном виде. Эти данные могут быть представлены в виде списка, таблицы или дерева.  Динамический список позволяет делать сортировку выводимых данных, отбор, группировку, условное оформление и т.д. Причём, отбор, группировку и прочее может делать как разработчик, так и пользователь.              

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

Динамический список 1С

В моем примере динамический список создан на основной форме обработки.

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

Динамический список 1С

Динамический список 1С — основная таблица

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

 Основная таблица динамического списка 1C

Например, в качестве основной таблицы выберем справочник Номенклатура.

 Основная таблица динамического списка 1C

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

Основная таблица динамического списка 1C

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

Динамический список 1C

Можно сделать отображение списка в виде дерева. Для этого можно изменить режим просмотра таблицы на форме в пользовательском режиме.

Динамический список 1C

Либо, поменять значение свойства Отображение таблицы формы, в которой был размещен динамический список.

Динамический список 1C

После этого, динамический список на форме будет в виде дерева.

Динамический список 1C

Произвольный запрос динамического списка 1С

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

Чтобы посмотреть на запрос, следует нажать на гиперссылку Открыть свойства НастройкаСписка.

Произвольный запрос динамического списка 1С

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

Свяжем справочник Номенклатура  с виртуальной таблицей срез последних регистра сведений Цены номенклатуры.

Для этого, вызовем конструктор запроса из окна динамического списка, и добавим в список таблиц запроса виртуальную таблицу СрезПоследних. У виртуальной таблицы выберем ресурс Цена, который поместим в список полей, применив к этому полю функцию ЕстьNULL.

Произвольный запрос динамического списка 1С

Свяжем левым соединением таблицу номенклатуры с виртуальной таблицей СрезПоследних регистра сведений.

Произвольный запрос динамического списка 1С

И исправим имя поля Цена.

Произвольный запрос динамического списка 1С

Наш запрос готов.

Произвольный запрос динамического списка 1С

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

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

Динамический список 1C

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

Динамический список 1C

Управляемое приложение 1С 8.3

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

В этой книге вы научитесь:

  • Настраивать динамические списки;
  • Работать с поиском в динамическом списке;
  • Программировать динамические списки (программная установка параметров, отборов, группировок, сортировок и условного оформления).

У вас, как у читателя блога, есть скидка 15 % по промо-коду:  48PVXHeYu

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

Книга «Программировать в 1С за 11 шагов»

Изучайте программирование в 1С в месте с моей книги «Программировать в 1С за 11 шагов»

  1. Книга написана понятным и простым языком — для новичка.
  2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  3. Научитесь понимать архитектуру 1С;
  4. Станете писать код на языке 1С;
  5. Освоите основные приемы программирования;
  6. Закрепите полученные знания при помощи задачника;

Книга «Основы разработки в 1С: Такси»

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

  1. Очень доступный и понятный язык изложения
  2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  3. Поймете идеологию управляемого приложения 1С
  4. Узнаете, как разрабатывать управляемое приложение;
  5. Научитесь разрабатывать управляемые формы 1С;
  6. Сможете работать с основными и нужными элементами управляемых форм
  7. Программирование под управляемым приложением станет понятным

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


Если Вы всё еще «плаваете» в конструкциях языка запросов, и у Вас вызывают трудности даже самые простые запросы, то рекомендую вам мой курс «Запросы в 1С от новичка до профи». Где эти и многие другие вопросы рассматриваются более подробно.

В чем особенность этого курса:
• Курс рассчитан на тех, кто не знаком с языком запросов в 1С;
• Учебный материал грамотно скомпонован и прост в освоении;
• Несколько десятков уроков;
• Полезные практические примеры;
• Все уроки изложены понятным и простым языком

Для моих читателей, купон на скидку 25%: hrW0rl9Nnx


Если Вам помог этот урок решить какую-нибудь проблему, понравился или оказался полезен, то Вы можете поддержать мой проект, перечислив любую сумму:

можно оплатить вручную:

Яндекс.Деньги — 410012882996301
Вступайте в мои группы:

Вконтакте: https://vk.com/1c_prosto
Фейсбуке: https://www.facebook.com/groups/922972144448119/
ОК: http://ok.ru/group/52970839015518
Твиттер: https://twitter.com/signum2009

[Практика программирования] Управляемые формы 1С 8: как программно изменить запрос динамического списка и программно вывести колонку добавленного реквизита списка

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

Для программного добавления элементов управляемой формы должно быть учтено условие о том, что добавление происходит на стороне сервера, а не на клиенте (не в процедуре «ПриОткрытии», как это было в обычном приложении). И так можно ошибочно подумать по старой привычке (если есть опыт программирования в обычном интерфейсе), учитывая архитектуру платформы 1С: Предприятие 8.2 и 8.3. Ведь процедура «ПриОткрытии» формы есть и в управляемом приложении, но через не создать программно и не разместить элементы для прикладной задачи. Поэтому «&НаСервере» и преимущественно в процедуре «ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)» формы документа или элемента справочника или формы списка теперь происходит программное добавление каких-либо элементов формы.

В общем информация о том, как программно изменить текст запроса динамического списка, использующего произвольный запрос можно найти на странице сайта ИТС 1С, если у Вас есть доступ. Но если доступа нет, то можете сильно не расстраиваться — информация на странице как и во многих случаях методологической информации от 1С носит условно практический характер. А это означает, что мелочи и нюансы, о которых бы было неплохо упомянуть на указанной странице ИТС, не упомянуты никак. И их понимание будет происходить на практике. Вот часть такой практики изложена ниже на прикладной задаче.

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

Прикладная задача заключалась в том, чтобы выводить программно в управляемую форму списка документов «Реализация товаров и услуг» колонку добавленного реквизита документа. Реквизит с именем «ДопМФ_Отгружено» тип «Булево», в данном примере добавлен в расширении, но может быть и добавлен в основной конфигурации, если она на частичной поддержке. Как вывести программно элемент формы, содержащей флажок, добавленного реквизита, повторимся, можно изучить в соответствующей статье, о которой уже упоминалось в начале страницы.

1С 8, как программно изменить запрос динамического списка, чтобы вывести добавленный реквизит объекта конфигурации

Рис. 2. Пример добавленного реквизита объекта конфигурации (документа) в 1С 8 для дальнейшего программного вывода колонки в управляемую форму списка объекта.

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

1 | СвойстваСписка = ОбщегоНазначения.СтруктураСвойствДинамическогоСписка();
2 | СвойстваСписка.ОсновнаяТаблица = «Документ.РеализацияТоваровУслуг»;
3 | СвойстваСписка.ДинамическоеСчитываниеДанных = Истина;
4 | ИсхТекстаЗапроса = СписокРеализацииТоваровУслуг.ТекстЗапроса;
5 |
|
СвойстваСписка.ТекстЗапроса = СтрЗаменить(ИсхТекстаЗапроса, «ВЫБРАТЬ», «ВЫБРАТЬ»+Символы.ПС+«РеализацияТоваровУслуг.ДопМФ_Отгружено КАК ДопМФ_Отгружено,»);
6 |
|
ОбщегоНазначения.УстановитьСвойстваДинамическогоСписка(Элементы.СписокРеализацииТоваровУслуг, СвойстваСписка);
7 | //СписокРеализацииТоваровУслуг.Параметры.УстановитьЗначениеПараметра(«Параметр1», 42);

Прокомментируем его основные моменты. В строке 1 происходит получение структуры через функцию «СтруктураСвойствДинамическогоСписка()» общего модуля «ОбщегоНазначения» для заполнения ее значений и передачи для заполнения свойств динамического списка. Для ключа «ОсновнаяТаблица» структуры в строке 2 указывается название основной таблицы, которая используюется для динамического списка, в примере это «Документ.РеализацияТоваровУслуг». Значение ключа структуры в строке 3 «ДинамическоеСчитываниеДанных» в значении «Истина». В строках 4 и 5 ведется произвольная модификация запроса.

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

Можно просто подготовить новый или измененный исходный текст запроса для указания его в ключе «ТекстЗапроса» структуры. В данном же случае была использована хитрость, чтобы минимизировать зависимость от изменений разработчиков. Происходит модификация исходного текста запроса, который определили разработчики, за счет замены подстроки «ВЫБРАТЬ», которая есть в любом запросе, на подстроку так же содержащее это обязательное слово текста запроса и текст для выборки значения добавленного реквизита документа «ДопМФ_Отгружено». Таким образом, доработка в расширении может сломаться тогда, когда разработчики существенным образом изменять исходный текст запроса. И на примере строки 5 помещаем новый вариант текста запроса в структуру. В данном примере получилось, что запрос содержит одну дополнительную строчку, чтобы выбирать значения добавленного реквизита. Порядок следования полей выборки в запросе для динамического списка не имеет значения.

Т.е. в практической задаче начало запроса программно изменялось:

С:

ВЫБРАТЬ

    РеализацияТоваровУслуг.Ссылка,

На:

ВЫБРАТЬ

    РеализацияТоваровУслуг.ДопМФ_Отгружено КАК ДопМФ_Отгружено,

    РеализацияТоваровУслуг.Ссылка,

Особенно обратим внимание на то, к каким объектам ведется обращение в строке 7, когда выполняется установка новой настройки для динамического списка с помощью процедуры «УстановитьСвойстваДинамическогоСписка» общего модуля «ОбщегоНазначения». В этом месте важно не перепутать, т.к. в типовой конфигурации названия элемента формы таблицы-списка и реквизита формы одинаковые. А важно, что первым параметром передается элемент управляемой формы — Таблица реквизита формы. Не перепутать его с названием реквизита формы, к которому ранее обращались для получения текста исходного запроса. Вторым параметром передается заполненная структура. Строка 7 в данном примере закомментирована, т.к. в данной прикладной задаче в тексте запроса не содержится параметров. Но, если параметр  есть, то устанавливается через свойство «Параметры» и метод «УстановитьЗначениеПараметра» реквизита управляемой формы, а не элемента формы. Установка значения по имени параметра по коду как для классического запроса в 1С: первое значение — текстовое имя параметра, второе значение — собственно значение для параметра.

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

После модификации текста произвольного динамического запроса реквизита управляемой формы 1С 8, становится возможным размещение колонки нового реквизита. И теперь рассмотрим код для программного вывода, размещения, добавления (как будет угодно) колонки в элемент-таблицу формы. 

Нажатие на изображении увеличит его
1С 8, как программно вывести, добавить колонку из запроса динамического списка для добавленного реквизита справочника, документа
Рис. 5. Пример кода в 1С 8 для программного вывода колонки нового реквизита объекта конфигурации, в частности документа, в элемент «Таблица» управляемой формы 

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

1 | ТаблицаФормы = Элементы.СписокРеализацииТоваровУслуг;
2 | КолонкаВставки = ТаблицаФормы.ПодчиненныеЭлементы.Найти(«Номер»);
3 |  
4 | КолонкаОтгружено = Элементы.Вставить(«_Отгружено», Тип(«ПолеФормы»), ТаблицаФормы, КолонкаВставки);
5 | КолонкаОтгружено.Вид = ВидПоляФормы.ПолеФлажка;
6 | КолонкаОтгружено.Заголовок = «О.»;
7 | КолонкаОтгружено.Подсказка = «Отгружено»;
8 | КолонкаОтгружено.ТолькоПросмотр = Истина;
9 | КолонкаОтгружено.ШиринаЭлемента = 5;
10 | КолонкаОтгружено.ПутьКДанным = «СписокРеализацииТоваровУслуг.ДопМФ_Отгружено»;

Есть небольшие отличия от случая, который уже упоминался выше, добавления колонки для элемента формы Таблица динамического списка, как было описано смежной статье. В смежном случае был пример для таблицы, данными (ПутьКДанным) которой выступал «динамический список», но у которого основанием выступала таблица, а не произвольный запрос. Если отличия не учесть, то будут просто возникать ошибки. В данном же примере 

Отличия заключаются в двух местах кода. Во-первых, это обращение к свойству «ШиринаЭлемента, а не просто «Ширина» как в случае, если колонка — это программно выводимая колонка динамического списка, но у которого указана «Основная таблица» и не используется произвольный запрос. Т.е. для программно добавляемой колонки динамического списка с произвольным запросом указывается свойство «ШиринаЭлемента».

Во-вторых, очень важно правильно указать значение свойства «ПутьКДанным», иначе можно получить ошибку:

Нажатие на изображении увеличит его
1С 8, ошибка, Ошибка при установке значения атрибута контекста (ПутьКДанным) по причине: Недопустимое значение
Рис. 6. Пример ошибки «Недопустимое значение» при указании неверного значения для свойства «ПутьКДанным» элемента управляемой формы .

{Документ.РеализацияТоваровУслуг.Форма.ФормаСписка.Форма(26)}: Ошибка при установке значения атрибута контекста (ПутьКДанным)

КолонкаОтгружено.ПутьКДанным = «Объект.СписокРеализацииТоваровУслуг.ДопМФ_Отгружено»; 

по причине:

Недопустимое значение

Недопустимое значение

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

Нажатие на изображении увеличит его
1С 8, программирование, как программно вывести, добавить элементы управляемой формы, колонку реквизита запроса динамического списка
Рис. 7. Демонстрация того, что данные элемента формы Таблица — это динамический произвольный запрос.

В текущей задаче реквизит формы (он не основной) носит имя «СписокРеализацийТоваровУслуг», а не так, как часто можно встретить в конфигурации, что основной реквизит формы носит имя «Объект». И значения для добавленной колонки берется из реквизита типа «ДинамическийСписок» и для элемента формы. Поэтому строка для «ПутьКДанным» — «СписокРеализацииТоваровУслуг.ДопМФ_Отгружено» с указанием через «.» имени нового реквизита.

Это все условия и нюансы, с которыми пришлось столкнуться на практике для программной модификации произвольного запроса динамического списка реквизита управляемой формы в 1С 8, чтобы потом программно вывести колонку нового реквизита объекта конфигурации базы в элемент «Таблица» формы .

Оцените, оказалась ли эта публикация полезна для Вас?




© www.azhur-c.ru 2013-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.

25-11-2021

Журавлев А.С.
(Сайт azhur-c.ru)

Назад

Понравилась статья? Поделить с друзьями:
  • Часы работы налоговой верх исетского района в екатеринбурге на хомякова
  • 3666 межрайонная инспекция фнс россии 1 по воронежской области реквизиты
  • Часы работы налоговой инспекции автозаводского района нижнего новгорода
  • 3905 межрайонная инспекция фнс россии 8 по городу калининграду реквизиты
  • Часы работы налоговой инспекции в дмитрове московской области на неделю