В помощь начинающим: настройка динамических списков на УФ

16.01.13

Разработка - Работа с интерфейсом

Использование динамических списков в управляемых формах на примере простейшей формы подбора номенклатуры. В помощь осваивающим платформу 1с 8.2 с нуля или тем, кто переходит с 7.7.

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

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

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

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

Новая форма

 

Нас же больше всего интересует флажок "Произвольный запрос". Именно его установка позволит нам изменить набор данных, который окажется в нашем списке. Устанавливаем флажок и переходим по появившейся снизу ссылке  "Настройка списка - открыть".

Начальный запрос

 

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

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

Готовый запрос

 

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

Настройки списка

 

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

Готовая форма

 

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

Параметры формы

 

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

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

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

&НаКлиенте
Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
    
    СтандартнаяОбработка = Ложь;
    
    Если ЗапрашиватьКоличество Тогда
        ДобавитьКоличество = 0;
        Если ВвестиЧисло(ДобавитьКоличество, "Введите количество единиц", 15, 3) Тогда
            ДобавитьВПодбор(ВыбраннаяСтрока, ДобавитьКоличество);
        КонецЕсли;
    Иначе
        ДобавитьВПодбор(ВыбраннаяСтрока, 1);
    КонецЕсли;
    
КонецПроцедуры

&НаСервере
Процедура ДобавитьВПодбор(Номенклатура, Количество)

    ТЗ = ДанныеФормыВЗначение(Корзина, Тип("ТаблицаЗначений"));
    
    Строка = ТЗ.Найти(Номенклатура, "Номенклатура");
    Если Строка = Неопределено Тогда
        Строка = ТЗ.Добавить();
        Строка.Номенклатура = Номенклатура;
    КонецЕсли;
    Строка.Количество = Строка.Количество + Количество;
    
    ЗначениеВДанныеФормы(ТЗ, Корзина);

КонецПроцедуры // ДобавитьВПодбор()

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

&НаКлиенте
Процедура ПеренестиВДокумент(Команда)
    Результат = Новый Структура;
    Результат.Вставить("Корзина", Корзина);
    ОповеститьОВыборе(Результат);
КонецПроцедуры

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

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

&НаКлиенте
Процедура Подбор(Команда)
    ДатаПодбора = ?(ЗначениеЗаполнено(Объект.Ссылка), Объект.Дата, '00010101');
    ПараметрыПодбора = Новый Структура;
    ПараметрыПодбора.Вставить("Дата", ДатаПодбора);
    ПараметрыПодбора.Вставить("ТипЦен", Объект.ТипЦен);
    ФормаВыбора = ОткрытьФорму("Справочник.Номенклатура.Форма.ФормаПодбора", ПараметрыПодбора, ЭтаФорма);
КонецПроцедуры

  Ну и, собственно, то, ради чего все затевалось - разбираем "корзину" и добавляем новые строки в табличную часть Товары нашего документа. На всякий случай, не забываем, что Корзина у нас не настоящая ТЗ, а служебная коллекция ДанныеФормыКоллекция:

&НаКлиенте
Процедура ОбработкаВыбора(ВыбранноеЗначение, ИсточникВыбора)
    Если ТипЗнч(ВыбранноеЗначение) = Тип("Структура") Тогда
        Если ВыбранноеЗначение.Свойство("Корзина") Тогда

            Для каждого Элемент Из ВыбранноеЗначение.Корзина Цикл
    
                Элементы.Товары.ДобавитьСтроку();
                ТД = Элементы.Товары.ТекущиеДанные;
                ТД.Номенклатура = Элемент.Номенклатура;
                ТД.Количество = Элемент.Количество;
                    
            КонецЦикла;
            
        КонецЕсли;
    КонецЕсли;
КонецПроцедуры

 

 Подбор в работе

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

См. также

Богатый редактор картинок, хранимых в базе, с возможностью РИСОВАНИЯ. Редактор внешних файлов картинок. Объект, расширяющий возможности работы с картинками из встроенного языка (Три в одном) + Обработка «Стандартизация картинок»

Работа с интерфейсом Рабочее место Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Обработка предназначена для редактирования картинок в режиме «Предприятие», с возможностью РИСОВАТЬ на них. Поддерживается работа как в обычных формах (толстый клиент) так и на управляемых формах (тонкий клиент). Обработка позволяет редактировать как картинки, хранимые в базе, так и графические файлы с диска на файловой системе. Помимо базовых функций (изменение размеров, преобразование формата, обрезание картинки, повороты и т.п.) – редактор имеет богатый набор инструментов для рисования. Доступна функция вставки изображения из буфера обмена. Также обработка может быть использована из встроенного языка как объект для редактирования картинок. Объект может быть использован: на стороне клиента, на стороне сервера, из внешнего соединения. Данная обработка будет особенно полезна тем, кто вносит картинки в базу (изображения номенклатуры, фотографии физических лиц и т.п.). Функционал реализуется с использованием JavaScript и бесплатного ПО ImageMagick (без использования внешних компонент).

6000 руб.

16.01.2015    61797    43    59    

80

[Расширения] Динамическое управление видимостью и доступностью элементов форм (УФ) (8.3.6+)

Работа с интерфейсом Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

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

5000 руб.

14.01.2016    54403    16    21    

42

Управление дашбордами

Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

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

2400 руб.

29.06.2020    16698    21    4    

35

Новогоднее оформление для 1С

Работа с интерфейсом Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 Бесплатно (free)

Добавьте новогоднего настроения! Расширение создает декорацию в виде гирлянды на некоторых формах объектов.

27.12.2023    10738    750    elcoan    45    

106

Конструктор HTML, CSS и javascript

Инструментарий разработчика Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

2 стартмани

10.04.2023    9617    151    acces969    31    

118

Модель состояния для MVC

Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

"MVC плохо применима в 1С" - познакомьтесь с моделью состояния и, возможно, ваше мнение поменяется! Представленное решение является эволюционным развитием идеи реализации MVC для 1С. В новой версии добавлены DSL для описания модели состояния, а также параметризация свойств параметров и элементов формы.

1 стартмани

05.07.2022    3666    kalyaka    2    

27

Табло очереди заказов на экран телевизора

WEB-интеграция Работа с интерфейсом Платформа 1С v8.3 1С:Розница 2 Платные (руб)

Связка из веб-приложения и расширения для 1С: Розница 2.3.

3600 руб.

29.04.2022    12082    1    5    

10
Вознаграждение за ответ
Показать полностью
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. turboatom 16.01.13 02:31 Сейчас в теме
Спасибо, очень доступно и наглядно, побольше бы таких публикаций!
2. TrinitronOTV 14 16.01.13 06:01 Сейчас в теме
Огромное спасибо автору за данную публикацию о динамических списках. Очень пригодится для освоения платформы 8.2
3. a.terentev 16.01.13 14:03 Сейчас в теме
Как лучше делать возврат значений:
1 вариант: В процедуре, которая открывает форму делать
СтруктураВозврата = ОткрытьФормуМодально("Справочник.Номенклатура.Форма.ФормаПодбора", ПараметрыПодбора, ЭтаФорма)

и следующей строкой
Если СтруктураВозврата <> Неопределено Тогда
......
тут обработка возвращенных значений
......
КонецЕсли;

А в форме подбора делать
Результат = Новый Структура;
Результат.Вставить("Корзина", Корзина);
Закрыть(Результат);

2 вариант, как у вас:
ФормаВыбора = ОткрытьФорму("Справочник.Номенклатура.Форма.ФормаПодбора", ПараметрыПодбора, ЭтаФорма)

В форме подбора:

Результат = Новый Структура;
Результат.Вставить("Корзина", Корзина);
ОповеститьОВыборе(Результат);

И потом в форме вызова:

Процедура ОбработкаВыбора(ВыбранноеЗначение, ИсточникВыбора)
......
тут обработка возвращенных значений
......
КонецПроцедуры


Во втором варианте есть неявный переход в отдельную процедуру ОбработкаВыбора(). В первом весь код идет "линейно" без лишних переходов - имхо отлаживать проще, да и просто взглянув на код открытия формы сразу же видно что дальше будет происходить с возвращаемым значением.
sergos3331; +1 Ответить
4. viddik 238 16.01.13 17:53 Сейчас в теме
(3) Спасибо. Наверное, вариант 1 действительно попроще при анализе кода. Вообще, чем больше вариантов, тем лучше.
Кстати, добавлю, что необязательно открывать форму подбора модально. Как вариант, может хватить установки свойства формы РежимОткрытияОкна в значение "Блокировать окно владельца". Тогда окно вызывающей формы будет недоступно до закрытия подбора, но можно будет работать в других формах.
CratosX; sergos3331; +2 Ответить
5. a.terentev 16.01.13 19:04 Сейчас в теме
(4) ОткрытьФормуМодально() возвращает произвольное значение, которые передали в Закрыть(<ВозвращаемоеЗначение>). ОткрытьФорму() возвращает форму или управляемую форму. Поэтому вариант 1 работает только с ОткрытьФормуМодально(). В этом есть небольшой минус...
6. viddik 238 16.01.13 19:43 Сейчас в теме
(5) Вы правы. Вариант с модальной формой более "железобетонный". Вариант с Обработкой выбора выглядит гибче. Хорошо, когда есть выбор :)
31. baracuda 2 25.12.15 10:45 Сейчас в теме
(4) viddik, Модальность платформы можно обойти вот так



&НаКлиенте
Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
	СтандартнаяОбработка = Ложь;
    
    Если ЗапрашиватьКоличество Тогда
        ДобавитьКоличество = 0;
		Коэффициент = 1;
        Оповещение = Новый ОписаниеОповещения("ДобавитьВПодборнаКлиенте", ЭтаФорма, ВыбраннаяСтрока); 
        ПоказатьВводЧисла(Оповещение, Коэффициент, "Введите количество", 10, 2);

	//	Если ВвестиЧисло(ДобавитьКоличество, "Введите количество единиц", 15, 3) Тогда
	//        ДобавитьВПодбор(ВыбраннаяСтрока, ДобавитьКоличество);
	//    КонецЕсли;
	Иначе
        ДобавитьВПодбор(1,ВыбраннаяСтрока);
    КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура ДобавитьВПодборнаКлиенте(Количество, ВыбраннаяСтрока)  Экспорт
	ДобавитьВПодбор(Количество, ВыбраннаяСтрока);
КонецПроцедуры	

Показать
jobkostya1c_ERP; +1 Ответить
7. nataon 17.01.13 11:56 Сейчас в теме
8. Andry.Boris 59 21.01.13 02:08 Сейчас в теме
Спасибо автору за статью...
9. Ksu 24.01.13 14:48 Сейчас в теме
Спасибо автору за интересную статью!
10. belochkaNN 29.01.13 15:56 Сейчас в теме
11. пользователь 04.04.13 12:31
Сообщение было скрыто модератором.
...
12. Aleskey_K 32 27.06.13 16:13 Сейчас в теме
13. kenza 28.06.13 12:05 Сейчас в теме
Спасибо! Долго правда мучился, никак остатки не хотели отображаться. В итоге переделал код запроса как в примере и все получилось, через конструктор запросов код запроса выходил почему то другой и поэтому не работал.
14. Agema 28.06.13 18:15 Сейчас в теме
Спасибо! полезная информация и статья.
15. candy_sk 28.06.13 22:10 Сейчас в теме
Очень полезная статья!!! спасибо тебе!
16. kenza 02.08.13 14:38 Сейчас в теме
Подскажите пожалуйста как можно организовать отображение остатков по разным складам. Т.е. например в столбце "остаток" видим остатки по фирме, а в нижней области идет что то вроде таблички со складами и остатками напротив них. Видел подобное на 8.1 "Управление торговлей". Больше нигде не встречалось. Может хотя бы как сделать, чтобы просто отображались остатки по определенному складу?
24. user_2010 871 26.03.15 15:39 Сейчас в теме
(16) kenza, Тоже столкнулась с тем, что конструктором результат запроса отображался верно. А вот при открытии формы с этим запросом - данные вообще отсутствовали. В чем суть не поняла. В запросе было объединение справочника и РегСв.ДополнительныеСведения - для записей справочника. Нужно было показывать для выбора записи справочника с определенным значением дополнительного сведения.
Получилось запустить только когда установила брать ВСЕ из таблицы справочника и добавила отбор по доп сведению на закладке Настройка.

Если автор, или кто-то еще знает - в чем тут соль - объясните, плз!

Автору спасибо - молодец! Полезно и доступно!
17. С.Беляков_Калининград 4 31.10.13 00:17 Сейчас в теме
Огромное спасибо за простоту и доступность изложения материала.
Прикрепленные файлы:
rail21111991; darkfrenchman; baracuda; sergos3331; +4 Ответить
18. artspeed 179 26.12.13 16:08 Сейчас в теме
Отличная статья. Долго не понимал, как УФ открывать с предустановленными параметрами (отбором)

Рекомендую.
19. cccp82 29.01.14 13:55 Сейчас в теме
спасибо за стать
Прикрепленные файлы:
20. rayastar 1459 25.04.14 08:44 Сейчас в теме
Огромное спасибо. Научили работать с отборами
21. wowkai 4 27.07.14 23:11 Сейчас в теме
Спасибо. в статье нашел ответ на то что искал!
22. sergos3331 17 22.10.14 09:38 Сейчас в теме
Очень хорошая статья. Все подробно и четко расписано.
23. grrus 07.11.14 09:00 Сейчас в теме
Всё это конечно хорошо, отобрали показали, а вот кто может сказать как узнать количество найденных позиций в Динамическом списке, полученный через вид сравнения(Элемент.ВидСравнения = ВидСравненияКомпоновкиДанных.Содержит)?
25. slawanix 9 03.07.15 23:05 Сейчас в теме
Приветствую.
Сейчас как раз работаю над похожей задачей. Ну и как начинающий 1с программер, столкнулся с тем, что в параметр формы подбора "Дата" передается не интервал дат, а именно дата. На практике лично у меня это приводит к тому, что в отбор попадают записи из регистра накопления не только по этой дате, но и те, период у которых раньше этой даты. Т.е. если у меня в документе стоит 28 июня, то в отбор попадают записи по этому числу. Но если в документе установить 27 июня, то записи от 28 июня из регистра все равно попадают в отбор. Вопрос, как установить именно границы интервала. Чтобы в отбор попадали только записи в пределах текущих суток (ну или рабочей смены как вариант)? Я думаю, что и в запросе можно установить интервал дат. Тогад вообще не надо будет мутить тему с параметрами и упростит отладку. Надо вот только придумать, как именно это сделать) Не силен в этом, налету сделать не получится. Надо будет завтра подумать над этим...
&НаКлиенте
Процедура Подбор(Команда)
ДатаПодбора = ?(ЗначениеЗаполнено(Объект.Ссылка), Объект.Дата, '00010101');
ПараметрыПодбора = Новый Структура;
ПараметрыПодбора.Вставить("Дата", ДатаПодбора);
ПараметрыПодбора.Вставить("ТипЦен", Объект.ТипЦен);
ФормаВыбора = ОткрытьФорму("Справочник.Номенклатура.Форма.ФормаПодбора", ПараметрыПодбора, ЭтаФорма);
КонецПроцедуры
26. miralisssa 27.08.15 17:40 Сейчас в теме
А я вот не поняла как работает закладка отбор. У меня есть документ с полем Партнер. Добавила это поле в качестве отбора в закладке, указала использование, включить в пользовательские настройки и т. д. При обычной работе все норм, но я не могу понять, как мне передать значение в этот отбор при открытии списка.
Как программно добавить элементы отбора, я знаю. Хочу сделать так, чтобы и пользователь видел настройки отбора с заполненным значением и мог потом изменить.
27. golod 14.09.15 11:45 Сейчас в теме
Спасибо за хорошую статью
28. stranger2014 22.09.15 17:07 Сейчас в теме
подскажите, плз, а можно как-то добавить строку в динамический список? что-то не могу найти ни одного метода для этого. пример для чего это нужно. в ут есть справочник видцен. в заказе можно на все позиции выбрать какой-нибудь вид цен. есть еще произвольный видцен, который является пустой ссылкой, так вот его на список строк не выбрать. хотелось бы его добавить в окне выбора видов цен отдельной строкой.
29. titilon 19.12.15 22:30 Сейчас в теме
Спасибо, очень доступно , побольше бы таких публикаций! Спасибо
30. baracuda 2 24.12.15 15:38 Сейчас в теме
1) А как будет правильно заполняться Цену и прочие реквизиты ТЧ.Товары в Документе в который переносятся товары из корзины?
Заполнять эти данные в корзине и передавать все также структурой?
2) При публикации базы на вебсервере если включить показывать количество выдается: "Использование модальных окон запрещено", возможно ли обойти как нибудь модальность?
32. jobkostya1c_ERP 100 08.02.16 21:19 Сейчас в теме
Тут пришлось экстренно к "старой" технологии вернуться с выгрузкой в таблицу значений на форме. Увы, нет объединений и еще кое-чего в произвольном запросе динамического списка.
А минус такой, что в списке по F9 можно сразу скопировать по текущему. Да и вообще работа удобнее (и сама платформа во всем помогает в т.ч. окошком поиска по строке, отборами, настройками.
33. IrinaKostroma 04.05.17 21:19 Сейчас в теме
Спасибо!!! Побольше бы таких публикаций!!!
34. Flipp 23.01.18 13:08 Сейчас в теме
Подскажите, вылетает вот такая ошибка
{Справочник.Номенклатура.Форма.ФормаСписка2.Форма(892,41)}: Переменная не определена (Объект)
ПараметрыПодбора.Вставить("ВидЦены",<<?>>Объект.ВидыЦен); (Проверка: Тонкий клиент)
35. baracuda 2 30.07.19 12:04 Сейчас в теме
36. mak1 11.09.20 13:06 Сейчас в теме
Спасибо большое!!! Очень помогло.

Побольше бы таких публикаций!!!
37. user1162836 14.11.20 23:23 Сейчас в теме
замечательная 1С....всё с зада наперед через ЖО
даже справка написана наоборот.
у нас в стране книжки со школы читают слева-направо и только 1совцы справа налево
Оставьте свое сообщение