1С 8.x : Табличное поле ~ Как реализовать в дереве значений флажок с тремя состояниями?
8.2 УП Необходимо реализовать трехпозиционный флажок в ДеревеЗначений на управляемой форме 1С предприятия 8.2, который работает по следующему алгоритму:
* Если у элемента ДереваЗначений нет подчиненных элементов, то флажок может быть либо “включен”, либо “выключен”.
* Если у элемента есть подчиненные, то флажок “включен”, если ВКЛЮЧЕНЫ флажки у ВСЕХ подчиненных элементов, “выключен” если ВЫКЛЮЧЕНЫ флажки у ВСЕХ подчиненных элементов.
Если у некоторых подчиненных элементов флажки включены, а у некоторых выключены, то флажок родительского элемента имеет значение “неопределенно”.
* При включении флажка у родительского элемента, включаются флажки ВСЕХ подчиненных, при выключении флажка у родительского элемента, выключаются флажки ВСЕХ подчиненных.
Возьмем из первой статьи процедуру построения дерева значений и доработаем ее, добавив в дерево еще одну колонку, которая будет содержать элемент управления флажок и реализуем для него обработчик события “ПриИзменении”. Весь алгоритм сводится к обработке изменения флажка: у всех подчиненных элементов необходимо включить/выключить флажки в зависимости от состояния флажка текущего элемента, а у всех родителей текущего элемента (которые расположены на верхних уровнях иерархии) проставить флажки в состояния “включен”/”выключен”/”неопределенно” в соответствии с вышеописанным алгоритмом. Пример - Скачивать файлы может только зарегистрированный пользователь!
8.х
На форме имеется табличное поле, источником данных для которого является дерево значений. В одной из колонок расположен элемент управления «Флажок». Необходимо что бы он мог принимать три состояния «Включен», «Выключен» и «Неопределено». При этом состояние «Неопределено» или так называемый «серый флажок», т.е. выбранный частично, устанавливается в том случае, если не у всех подчиненных строк состояние флажка одинаковое. Так же если строка имеет подчиненные строки, то при изменении её флажка, соответствующим образом должны изменяться флажки и всех подчиненных строк.
Во-первых, добавим нашу колонку с флажком в дерево значений:
Во-вторых, при изменении флажка нужно устанавливать соответствующие значения в подчиненных строках и контролировать значение флажка в «строке-родителе»:
Здесь процедура УстановкаФлажков() рекурсивно устанавливает флажки в подчиненных строках:
А функция УстановленноДляВсех() проверяет установлено ли одинаковое значение для всех строк на текущем уровне:
Google maps, поиск оптимального маршрута 5 В данном посте хочу коснуться основных аспектов построения оптимального маршрута с использованием API Google maps. Исходные данные для построения маршрута:
* Географические координаты объектов, которые хранятся в базе;
* Координаты начальной и конеБаза 1С вылетает, виснет, не грузится, падает с ошибкой? 0 Есть ряд методов, которыми можно попытаться " поднять" упавшую базу 1С 8.х Но сперва нужно сделать резервную копию! Сделайте резервную копию простым копированием папки базы, выгрузка не всегда может быть корректна.
Удалить все файлы в папке базы,Выгрузка / Загрузка данных посредством XML файлов? 1 В основе работы с XML-файлами лежит технология доступа SAX, которая осуществляет считывание по одному тегу. Для этого существует два типа данных – ЗаписьXML и ЧтениеXML .
Запись данных справочника в XML-файл:
Запись = Новый ЗаписьXML;
Запись.ОЕсть ли у текущего элемента подчиненные 0 Выборка = Справочники.Номенклатура.Выбрать( , Владелец);
Если Выборка.Следующий() = Истина Тогда
// Есть подчиненные элементы.
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст = " ВЫБРАТЬ ПЕРВЫЕ 1
| ЕдиницыИзмерения.Ссылка
|ИЗ
| СправочКак открыть форму подчиненного Реквизиту Контрагент справочника "ДоговорыКонтрагентов"? 0 Если Не Контрагент.Пустая() Тогда
ФормаПодчиненныхДоговоров = Справочники.ДоговорыКонтрагентов.ПолучитьФормуСписка();
ФормаПодчиненныхДоговоров.ПараметрОтборПоВладельцу = Контрагент;
ФормаПодчиненныхДоговоров.Открыть();
КонецЕсли; Посмотреть все результаты поиска похожих
Форма ~ Программное создание таблицы значений с условным оформлением 14 Как создать на форме таблицу и сделать для нее подсветку содержимого колонки в строке по условию?
Итак для начала нам надо добавить реквизиты в форму. Для этого у нас есть метод: ИзменитьРеквизиты(). Перед тем как его использовать мы сформируем маПоле выбора ~ Заполнение списка значений в элементе поле выбора на форме 12 //Заполнение списка перебором данных
// Элемент формы МетаданныеВыбор имеет тип - Произвольный, Использование - Режим выбора из Списка, кнопка списка
Для Каждого Метаданное из Метаданные.РегламентныеЗадания Цикл
ЭлементыФормы.МетаданныеВыбор.СпиТабличное поле ~ Как установить текущую строку в табличном поле? 11 Схема программной установки нужной нам строки активной.
Для начала хочу напомнить, что данные табличной части документа(или таблицы значений) и табличное поле – это разные объекты. Для того чтобы сделать какие-то визуальные действия мы работаем с таФорма ~ Как активизировать, перевести фокус на необходимый элемент на форме? 10 //Текущему Элементу формы присваиваем элемент котровый необходимо активизировать
ЭтаФорма.ТекущийЭлемент = ЭлементыФормы.ТабличноеПоле; Поле ввода ~ Маска 8 Для 1с поле ввода с типом строка можно применить маску ввода. В 1с маска задает формат представления данных и ограничивает вводимой информации. Это очень удобно бывает во многих жизненных задачках, например ввод телефона, ввод специального кода или пПосмотреть все в категории Работа с Формой (Диалог) и её элементами