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

Отборы в 1С 8.3 (Управляемые формы)

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

Отборы в динамическом списке 1С 8.3

Тут мы имеем два пути: создать отбор на форме списка и установить отбор программно.

Отбор в настройка формы

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

otboryi v dinamicheskih spiskah 1s

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

Установка отбора в динамическом списке 1С программно

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

Чтобы отбор заработал, нужно прописать параметры «ЛевоеЗначение», «ВидСравнения» и «ПравоеЗначение». Кроме того необходимо свойство «Использование» установить в «Истина».

Таким образом, мы создаем простой отбор. Кроме простого, можно задать условия по нескольким полям. Для этого используем тип данных «ГруппаЭлементовОтбораКомпоновкиДанных»:

Отборы в таблице значений 1С

Тут у нас также имеется несколько вариантов.

Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):

К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.

Источник

Как открыть форму списка с некоторым отбором?

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

ЗначениеОтбора = Новый Структура(«Номер», «333»);
ПараметрыВыбора = Новый Структура(«Отбор», ЗначениеОтбора);

2. Можно открыть форму списка без параметров:

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

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

ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип(«ЭлементОтбораКомпоновкиДанных»));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(«Номер»);
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Больше;
ЭлементОтбора.Использование = Истина;
ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
ЭлементОтбора.ПравоеЗначение = «000000001»;

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

1

Обработчик выполнения этой команды заполним следующим образом:

ФормаСписка = ПолучитьФорму(«Документ.ПриходнаяНакладная.ФормаСписка»);
ФормаСписка.ФильтрПоТовару = Элементы.Список.ТекущаяСтрока;
ФормаСписка.Открыть();

В этом обработчике мы получаем форму списка приходных накладных и передаем в параметр формы ФильтрПоТовару ссылку на текущий элемент в списке номенклатуры и открываем форму с этим параметром.

2

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

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

Демонстрационный пример для 3-го варианта находится в каталоге 1CITS/EXE/FAQ/ОткрытьФормуСОтбором.dt. Пример выполнен на версии платформы 8.2.9.356.

Источник

Динамический отбор динамического списка. Управляемая форма 1С: 8.3

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

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

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

Для использования динамического отбора требуется у себя в конфигурации сделать следующиее:

1. Добавить общую форму «Универсальный отбор;

2. Добавить программный код модуля формы где находится динамический список;

3. Обеспечить вызов функций инициализации в обработчиках:

//ПриСозданииНаСервере()

//ПриОткрытии()

4. Добавит команду «СброситьФильтры» с одноименным действием «СброситьФильтры»;

5. Добавить элемент Обычная группа «Фильтр» в шапке формы. Группировка:Горизонтальная, Отображать заголовок = Ложь;

6. Добавить реквизит формы «ХранилищеДанныеОтбора», «ХранилищеОтбора» оба тип Строка неограниченной длины.

Скачать файлы

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

f71a8c4e70c0ff03708038e2b0210df8

9c2808762ec294cd4c55532520b9c521

895fb1e0f7afc3c0ed0d73bf5ee9d9d0

egais promo

b34b292ed32e9501f98cc31df406353e

789363929b9f37ddc5641a069a5fe52e

5b19cd6c4494a88b2abefce64a1b7565

199e2be4fd21dd8f4209d8ec34616c76

Обновление 25.01.16 00:36

Код открыт Не указано

d1e340810d8f161e9377a8af727b6601

См. также

[Расширение] Контроль отрицательных остатков по регистру бухгалтерии при проведении Промо

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

17.08.2015 54693 170 ekaruk 32

Проверка опечаток (орфографии) в 1С

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

02.09.2021 930 2 lagutiniv 8

Добавление электронной подписи в документ PDF

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

26.08.2021 2766 8 fotov 11

Работа с PDF файлами из 1С через Ghostscript, Postscript (добавление текста в PDF, нижний колонтитул с гиперссылками, получение pdf в виде текста и т.д.)

21.06.2021 1556 10 RALIN123 7

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

Решение для интерактивной (нажал-отредактировал) отправки электронных писем и печатных форм через почтовый клиент (Thunderbird, Outlook) находящийся на локальном компьютере, из конфигурации 1С, развернутой под удаленным рабочим столом (RDP, remote-app). Подходит также для локального развертывания 1С. Представлен пример быстрой интеграции с конфигурациями «Управление торговлей 10.3», «Управление производственным предприятием 1.3», «Комплексная автоматизация 1.1», «Бухгалтерия предприятия 2.0».

21.09.2018 31033 24 stvorl 1

Парсинг Excel-файла

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

15.09.2020 8884 26 LamerSoft 0

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

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

14.09.2020 3699 5 DrZombi 9

Таблица значений в табличный документ (СКД)

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

12.08.2020 21319 8 markivkin 4

Лучшие методы сравнения таблиц значений Промо

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

02.02.2015 131456 61 ildarovich 63

Нормализация адреса с помощью API Почты России

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

11.08.2020 6038 12 Cerberdm 7

Обработка чтения табличного документа (УФ)

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

07.08.2020 8891 8 chum1roma 6

Выполнение кода и получение данных запросов через HTTP сервис

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

19.07.2020 5308 5 vladnet 7

Генерация QR-кода программная и интерактивная (код открыт, управляемая форма, обычное и управляемое приложение, API) Промо

Обработку можно быстро и легко интегрировать в любую конфигурацию с и без БСП (Библиотека Стандартных Подсистем).

04.02.2016 56289 186 TuneSoft 30

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

Решаем следующую задачу. Например, в справочнике «Номенклатура» — 10 дополнительных реквизитов: «Материал», «Наименование на английском», «Наименование на французском» и т.д., и 20 дополнительных реквизитов в справочнике «Характеристики номенклатуры». Необходимо вывести все характеристики по ТЧ «Товары», так называемую «Спецификацию» по «Заказу клиента» или «Заказу поставщика».

05.05.2020 4730 6 papche 8

Универсальное хранилище настроек

Универсальная константа для хранения любых настроек, например интеграции с API. Легко вносить новые настройки без «ломания» выполнения кода в модулях.

10.03.2020 8559 1 v.krivenko 17

Шаблоны внешних обработок (БСП, управляемые формы)

Набор из шаблонов для создания внешних обработок вида: Внешняя печатная форма, Отчет на СКД, Схема СКД для сегмента, Внешняя обработка (Самостоятельная, Заполнение объектов, Создание связанных объектов). Предварительно наполнены базовым функционалом и некоторыми механизмами для отладки.

01.03.2020 8221 74 riposte 4

Методы для группировки данных по полю,полям в Таблице Значений на примере универсального метода списания по партиям, а также отбора строк в ТЗ по произвольному условию. Для 8.x и 7.7 Промо

Я очень часто использую группировку данных по полю и полям, как в восьмерке, так и в семерке. Это аналог запроса Итоги, но там строится дерево, а в большинстве случаев нужны «плоские данные». Да и делать запрос в большинстве случаев более накладный процесс, чем работа с ТЗ. Все достоинства такого подхода приведены на примере метода универсального списания по париям, а так же отбора строк в ТЗ по произвольному условию. Для 7.7 еще отчеты сравнения двух ТЗ. Работая с различными базами для упрощения сравнения номенклатуры, или как аналог джойнов(join), сделал сравнение двух таблиц значений по нескольким полям. Пока группировки полей должны быть уникальны. Часто приходится искать дубли, для универсального поиска есть ДублиВТзПоПолю и пример в Тест.ert.

25.06.2015 32308 4 Serginio 1

Выгрузка любого запроса или таблицы значений в текст JSON, разбор JSON в таблицу

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

07.02.2020 16863 64 LastRoot 23

Источник

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

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

%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA1%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA2

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

%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA3

После чего нужно добавить отдельными таблицами нужные нам табличные части:

%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA4

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

%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA5

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

%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA6

После этого заходим на закладку «Компоновка данных», «Условия» и добавляем нужные в отборе поля:

%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA7

Нажимаем «ОК» и видим как выглядит готовый текст запроса:

%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA8

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

%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA9

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

%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA10

И вот как стал выглядеть текст запроса:

%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA11

В настройках видно как изменилось имя поля отбора табличной части и вернулось поле отбора по шапке документа:

%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA12

Ну, и вот так это выглядит в пользовательском режиме:

%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA13

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

Источник

Работа с динамическим списком в 1С 8.3 (8.2)

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

Создание формы выбора

За основу возьмем некую тестовую конфигурацию 1С:»Бухгалтерия предприятия 3.0″. Не будем сейчас делать подбор, просто в справочнике «Номенклатура» добавим еще одну форму выбора и сделаем ее временно основной:

sozdanie novogo dinamicheskrnr spiska 1s 8.3

При создании система по умолчанию добавит на форму табличное поле с типом «Динамический список».

Зайдем в его свойства и посмотрим, что там.

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

nastroyki dinamicheskogo spiska

Откроется окно с уже готовым кодом на языке запросов. Пока что там просто перечислены все поля справочника «Номенклатура».

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

Собственный запрос в динамическом списке

Сначала создадим нужный нам запрос с остатками и ценами. Примерно так:

zapros v dinamicheskom spiske 1s 8.3

Закладка «Настройки»

И вот теперь самое вкусное! Переходим на закладку «Настройки». И сразу видим, что на первой вкладке мы можем делать любые отборы по любому полю в запросе:

nastroyka dinamicheskogo spiska 1s 8.3

Программная установка параметров запроса в динамическом списке 1С 8.3

Не забываем, что в запросе у нас присутствуют два параметра: «Период» и «Тип цен». Мы должны передать их в запрос, иначе будет ошибка.

Пропишем эти параметры в параметрах формы, а в модуле формы добавим следующие строки:

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

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

Также на форму можно добавить флажок «Запрашивать количество».

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

Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):

К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.

Источник

Понравилась статья? Поделить с друзьями:
Добавить комментарий
  • Как сделать успешный бизнес на ритуальных услугах
  • Выездной кейтеринг в России
  • Риски бизнеса: без чего не обойтись на пути к успеху
  • 1с управляемые формы окно на весь экран
  • 1с управляемые формы обновление формы списка