Содержание:
- 1 CF & SQL : конструктор прямых запросов к БД 1С 144
- 2 Конвейер проверки качества кода 122
- 3 Просмотр и анализ структуры базы данных (отчет на СКД) 103
- 4 Модель объекта 7
- 5 Переводим рутину ручного тестирования 1C на рельсы Jenkins-а и ADD 138
- 6 Универсальный HTTP-сервис на платформе 1С, аля HTTP-сервер с примером 193
- 7 Групповая проверка доработок 104
- 8 Расширение "Быстрая проверка кода" для конфигурации 1С:Автоматизированная проверка конфигураций 92
- 9 Настройка отладки на сервере 1С 93
- 10 Методика оптимизации программного кода 1С: проведение документов 84
- 11 Отчет по подпискам на события 83
- 12 Инструктор. Прототип инструмента создания быстрых пользовательских инструкций 70
- 13 Коннектор: удобный HTTP-клиент для 1С:Предприятие 8 532
- 14 Редактор объектов информационной базы 8.3 40
- 15 Конструктор мобильного клиента Simple WMS Client: способ создать полноценный ТСД без мобильной разработки. Теперь новая версия — Simple UI (обновлено 14.11.2019) 174
- 16 Управление задачами в 1С — готовая подсистема с открытым кодом и широким базовым функционалом. Версия 1.0.6 93
- 17 Навигатор по конфигурации базы 1С 8.3 106
Из основной формы (обработка, документ, справочник. ) необходимо вызвать форму отбора элементов справочника.
Форма Отбора должна иметь табличное поле, ДеревоЗначений. При открытии, дерево должно заполнится элементами справочника например Спецификации Номенклатуры. Пользователь должен иметь возможность проставить напротив нужных элементов флажок. После выбора элементов, нажать на кнопку Выполнить, в результате форма должна закрыться, а выбранные спецификации вернуться в исходну форму.
Создаем форму выбора, размещаем Табличное поле, в свойствах выбираем тип ДеревоЗначений. Добавляем Поле (СправочникСсылка.СпецификацииНоменклатуры).
Форму надо Окрыть Модально и заполнить данными.
Теперь необходимо написать процедуру действия кнопки Выполнить. Надо обойти все дерево и отобрать выделенные элементы но с условием, папки нам не нужны, только их содержимое. Заполнить Таблицу значений для передачи данных в исходну форму и закрыть форму выбора. Для этого используем рекурсивный метод обхода дерева.
Как реализовать в дереве значений флажок с тремя состояниями?
8.2 УП
Необходимо реализовать трехпозиционный флажок в ДеревеЗначений на управляемой форме 1С предприятия 8.2, который работает по следующему алгоритму:
* Если у элемента ДереваЗначений нет подчиненных элементов, то флажок может быть либо “включен”, либо “выключен”.
* Если у элемента есть подчиненные, то флажок “включен”, если ВКЛЮЧЕНЫ флажки у ВСЕХ подчиненных элементов, “выключен” если ВЫКЛЮЧЕНЫ флажки у ВСЕХ подчиненных элементов.
Если у некоторых подчиненных элементов флажки включены, а у некоторых выключены, то флажок родительского элемента имеет значение “неопределенно”.
* При включении флажка у родительского элемента, включаются флажки ВСЕХ подчиненных, при выключении флажка у родительского элемента, выключаются флажки ВСЕХ подчиненных.
Возьмем из первой статьи процедуру построения дерева значений и доработаем ее, добавив в дерево еще одну колонку, которая будет содержать элемент управления флажок и реализуем для него обработчик события “ПриИзменении”. Весь алгоритм сводится к обработке изменения флажка: у всех подчиненных элементов необходимо включить/выключить флажки в зависимости от состояния флажка текущего элемента, а у всех родителей текущего элемента (которые расположены на верхних уровнях иерархии) проставить флажки в состояния “включен”/”выключен”/”неопределенно” в соответствии с вышеописанным алгоритмом. Пример — Скачивать файлы может только зарегистрированный пользователь!
Код 1C v 8.2 УП
8.х
На форме имеется табличное поле, источником данных для которого является дерево значений. В одной из колонок расположен элемент управления «Флажок». Необходимо что бы он мог принимать три состояния «Включен», «Выключен» и «Неопределено». При этом состояние «Неопределено» или так называемый «серый флажок», т.е. выбранный частично, устанавливается в том случае, если не у всех подчиненных строк состояние флажка одинаковое. Так же если строка имеет подчиненные строки, то при изменении её флажка, соответствующим образом должны изменяться флажки и всех подчиненных строк.
Во-первых, добавим нашу колонку с флажком в дерево значений:
Код 1C v 8.х
Во-вторых, при изменении флажка нужно устанавливать соответствующие значения в подчиненных строках и контролировать значение флажка в «строке-родителе»:
Код 1C v 8.х
Здесь процедура УстановкаФлажков() рекурсивно устанавливает флажки в подчиненных строках:
Код 1C v 8.х
А функция УстановленноДляВсех() проверяет установлено ли одинаковое значение для всех строк на текущем уровне:
Код 1C v 8.х
Похожие FAQ
Еще в этой же категории
Заполнение списка значений в элементе поле выбора на форме 9
//Заполнение списка перебором данных // Элемент формы МетаданныеВыбор имеет тип — Произвольный, Использование — Режим выбора из Списка, кнопка списка Для Каждого Метаданное из Метаданные.РегламентныеЗадания Цикл ЭлементыФормы.МетаданныеВыбор.Спи Форма
Программное создание таблицы значений с условным оформлением 6
Как создать на форме таблицу и сделать для нее подсветку содержимого колонки в строке по условию? Итак для начала нам надо добавить реквизиты в форму. Для этого у нас есть метод: ИзменитьРеквизиты(). Перед тем как его использовать мы сформируем ма Форма
Как активизировать, перевести фокус на необходимый элемент на форме? 6
//Текущему Элементу формы присваиваем элемент котровый необходимо активизировать ЭтаФорма.ТекущийЭлемент = ЭлементыФормы.ТабличноеПоле; Форма
Программное добавление элементов на форму 6
ЭлементыФормы (Controls) . Добавить (Add) — Добавляет элемент управления на форму. Синтаксис: Добавить( Тип , Имя , Видимость , ПоместитьНа ) Параметры: Тип (обязательный) Тип: Тип. Тип добавляемого элемента управления: Индикатор; П Поле выбора
Как ограничить список выбора? 5
Ограничим список элементов, установив отбор в открываемой форме //Пример 1 Процедура СтатьяПДРНачалоВыбора(Элемент, СтандартнаяОбработка) ФормаВыбора = Справочники.ПрочиеДоходыИРасходы.ПолучитьФормуВыбора(, Элемент); ЭлементОтбораВидПДР = Форма Посмотреть все в категории Работа с Формой (Диалог) и её элементами
Дерево значений и флажки на нем. Обычные формы.
Поставили такую задачу выгрузить в дерево значений иерархический справочник.
При постановки флажка на верхнем уровне проставлять флажки у всех подчинённых элементов дерева.
Все ясно, но столкнулся с проблемой. Красивый флажок не появлялся. Вместо флажка были да и нет.
Добавляем Табличное поле с Тип значения ДеревоЗначений. Больше ничего можно не менять
Создаем событие у формы ПриОткытии, у ТабличногоПоля ПередОкончаниемРедактирования
Тестировал на платформе 1С:Предприятие 8.3 (8.3.13.1513).
Скачать файлы
Наименование | Файл | Версия | Размер |
---|---|---|---|