1с изменить режим просмотра программно
Имеется иерархический справочник. Нужно вывести его в управляемой форме в виде иерархии. Выводится все подряд. ВТФ. В управляемых формах слабоват - надо сделать как в обычном приложении.
(1) vladshnurkoff, в открой те в конфигураторе форму списка там в свойствах выберите отображать как иерархический список
Да вроде по умолчанию должно в иерархии выводиться.
Попробуйте меню "Все действия - Режим просмотра - Иерархический список".
Речь ведь о форме списка справочника идет? Я правильно понял?
Такое бывает при включенном поиске по списку.
Попробуйте отключить поиск (меню Все действия - Отменить поиск).
Либо когда форма открывается не стандартно, а программно.
Если отключение поиска не приводит к нужному результату, значит скорее всего так оно и есть.
Т.е. разработчик (или программист, внесший изменение в конфигурацию) специально сделал, чтобы список при открытии формы отображался именно так. Может смысл в этом какой-то есть :))
Или здесь можно выкладывать?
Понятно.
Ваш справочник "Задачи" - ПОДЧИНЕННЫЙ.
Подчиненные справочники в иерархии можно просматривать только в пределах владельца.
Т.е. если в списке установить отбор по владельцу, тогда можно будет настроить иерархический просмотр.
Если отбор по владельцу не установлен, все элементы располагаются списком.
Добрый день! А вот меня наоборот интересует вопрос как сделать режим просмотра в списке у формы выбора иерархического справочника, которую я открываю программно. В параметрах формы нет "РежимПросмотра". При открытии самой формы извращаться как-то нужно? Справочник не подчиненный. Устанавливаю отбор по одному из реквизитов справочника. Вместе с отобранными элементами в списке есть еще куча групп. Из-за того, что режим просмотра "Дерево".
Да, и я смог настроить только при открытии самой формы:
//Условие
Элементы.Список.Отображение = ОтображениеТаблицы.Список;
//КонецУсловия
С помощью команды ОткрытьФорму() хотелось бы. Но не вздюжил.
(17) 1cUserAndrew, может вы и мне поможете.
Делаю как вы показали,
только у меня ещё стоит отбор
форма открывается с отображением в виде списка, но не срабатывает отбор, а без использования оформления отбор работал
(17) 1cUserAndrew, вопрос снят. Парилась 3 часа, кто бы мог подумать, что достаточно сначала открыть форму, а уж потом отбор устанавливать. Но всё равно спасибо!
(17) 1cUserAndrew, вопрос снова возник.
Тот же код, только теперь открыть форму выбора нужно модально.
Форма открывается, но отбор не работает (((
(17) 1cUserAndrew, может вы и мне поможете.
Делаю как вы показали,
только у меня ещё стоит отбор
23. Kitri 17.04.13 17:49
(17) 1cUserAndrew, вопрос снят. Парилась 3 часа, кто бы мог подумать, что достаточно сначала открыть форму, а уж потом отбор устанавливать. Но всё равно спасибо!
24. Kitri 18.04.13 10:12
(17) 1cUserAndrew, вопрос снова возник.
Тот же код, только теперь открыть форму выбора нужно модально.
Форма открывается, но отбор не работает (((
25. Kitri 18.04.13 11:41
Нашла решение, если кому-то интересно
(32) 71nasm, вам можно намного проще, когда сравнение на "равно", через открыть форму с передачей туда параметров через структуру, что то типа
Нашла решение, если кому-то интересно
вроде как рабочий только не срабатывает, причем при открытии "Настройки отбора" есть строка с отбором, и остается только нажать ОК, но как сделать программно, или как то можно обновить динамический список?
Как заполнить табличную часть формы программно? 8
Нужно по кнопке Заполнить - сформировать данные для заполнения табличных частей и заполнить их. Форма имеет вид: Рядом с кнопкой Записать и закрыть добавлена кнопка Заполнить документ , код ее команды: // Код заполнения ТЧ НаСервере П 1С Предприятие что это? 12
Что такое 1С? 1С — это фирма , у которой одно из направлений деятельности — разработка программного обеспечения для автоматизации бизнес-процессов предприятий. « 1С:Предприятие » - конкретный продукт, который выпускает компания 1С . Что такое COM-соединение не обнаружило свободной лицензии / ключ защиты 0
Иногда при подключении к 1С возникает ошибка: COM-соединение не обнаружило свободной лицензии! COM-соединение не обнаружило ключ защиты программы! https://helpf.pro/uploads/img/_1-UsuyAg6E2P.jpg В таких случаях, иногда, может помочь следующий с PostgreSQL: установка, настройка, обслуживание 11
PostgreSQL напрямую "из коробки" применяться для использования с 1С Предприятем не может. Необходима именно адаптированная версия от 1С, превращающая PostgreSQL в блокировочник, причем нужно понимать, что блокировки будут накладываться на всю таблиц ZIP-архив Создание 0
Для того чтобы записать файлы в ZIP-архив необходимо выполнить несколько простых действий: * Создать архив с необходимыми параметрами, в который будут помещаться файлы. * Поместить в архив необходимые файлы. * Записать архив. Создание объекта За Посмотреть все результаты поиска похожих
Еще в этой же категории
Конвертация базы 1С из версии Проф в Базовую 65
Можно просто перенести все данные из Проф версии в базовую используя обработку ЗагрузкаВыгрузкаXML. Но мы пойдем другим путем: 1. Версии проф и базовой версии должны быть одинаковыми 2. Сохраняем конфигурацию Базовой версии в файл. 3. В конфигура Сравнение и проверка на NULL 5
Для проверки на NULL во встроенном языке 1С достаточно написать: Если ДанныеСтроки.Задача = Null Тогда //. КонецЕсли; В запросах: ЕСТЬNULL(Ном.БазоваяЕдиницаИзмерения," шт." ) Более подробно об этом здесь: Значения NULL ( ЕСТЬ NULL и Как запустить внешнюю обработку из справочника дополнительных внешних отчетов или обработок? 5
Откроем внешнюю обработку из справочника дополнительных внешних отчетов или обработок: ТекСсылка=Справочники.ВнешниеОбработки.НайтиПоНаименованию(" РеестрЦфо" ); ИмяФайла = ПолучитьИмяВременногоФайла(); ДвоичныеДанные = ТекСсылка.ХранилищеВнеш При работе в терминале не печатает на принтер Windows SERVER 2
Решение проблем с печатью 1C терминально: Собственно решение данной проблемы простое, не выбран принтер по умолчанию , или выбран принтер по умолчанию который отключен, нужно зайти в СИСТЕМУ и там выбрать принтер и тогда все ОК. Еще возможная Новый объект или нет - Как проверить в УФ? 0
В версиях 8.х достаточно было написать: ЭтоНовый() В управляемом приложение проверка на Новый объект осуществляется так: НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) ДокументОбъект = РеквизитФормыВЗначение(" Объект" ); Посмотреть все в категории Прочие вопросы
Программный объект КлиентскоеПриложение позволяет управлять такими настройками клиентского приложения, запускаемого на рабочем месте пользователя, как:
- заголовок главного окна приложения
- отображение панели заголовка ОС
- режим отображения окна (обычное или рабочее место)
Однако, объект доступен только для новых версий платформы 1С:Предприятие 1С 8.3.10+
Доступ к функциям данного объекта осуществляется через предопределенное свойство глобального контекста КлиентскоеПриложение , доступное как на клиенте, так и на сервере (закономерно, что данное свойство недоступно в режиме внешнего соединения).
Заголовок главного окна приложения
Получение и установка заголовка главного окна (системного заголовка) производится методами ПолучитьЗаголовок() и УстановитьЗаголовок() на стороне клиента:
Выглядеть это будет примерно так (обычное и управляемое приложение):
Как видите, от надписи «1С:Предприятие» избавиться полностью не удалось, но теперь, хотя бы, в управляемом приложении она не мелькает в панели задач Windows.
Кроме системного заголовка можно установить краткий заголовок, который будет выводиться перед системным и отделяться от него точкой. Для этого предназначены соответственно методы ПолучитьКраткийЗаголовок() и УстановитьКраткийЗаголовок(), также на стороне клиента:
Однако на практике оказывается, что это работает только в режиме управляемого приложения:
Если вывести эту функцию под настройку, то можно предоставить пользователям самостоятельно идентифицировать программу в панели задач.
Отображение панели заголовка ОС
Если Вы застали ранние версии управляемого приложения, то помните, что привычная панель заголовка диалогового окна исчезла вместе с его появлением. И только в версии 8.3.10 разработчики решили устранить эту недоработку. Для управляемых приложений появилась возможность отображать панель заголовка окна ОС. Для этого предназначен метод УстановитьОтображениеЗаголовкаОС():
Теперь наше приложение выглядит так:
Думаю, владельцам макбуков это только на руку))
Режим отображения окна
Программистам, которые «съели собаку» на разработке рабочих мест известно, что режим рабочего стола был недоступен с самого появления управляемого приложения на платформе 1С:Предприятие 8.2. Наконец-то и это недоразумение было устранено: объект КлиентскоеПриложение теперь позволяет его реализовать даже в управляемом приложении. Всего есть четыре режима работы:
- Обычное — внешний вид клиентского приложения не отличается от тех, что Вы видели обычно
- РабочееМесто — открывается рабочая область начальной страницы без привычных панелей разделов, истории и избранного. При этом пользователь все еще может закрыть приложение
- ПолноэкранноеРабочееМесто — аналогично предыдущему режиму, но в полноэкранном режиме
- Киоск — открывается рабочая область начальной страницы в полноэкранном режиме без панелей и без возможности закрыть окно приложения
В предыдущей статье мы научились создавать подсистемы 1С, а в этой статье научимся, как при помощи подсистем можно настраивать интерфейс пользовательского приложения.
Ссылка на предыдущую статью: подсистемы в 1С.
Для написания статьи я использовал учебную базу из книги «Основы разработки в 1С: Такси» со следующими подсистемами.
Свойство конфигурации «Командный интерфейс»
Мы можем самостоятельно конфигурировать расположение подсистем в пользовательском режиме. Делается это в свойстве конфигурации «Командный интерфейс». Для того, чтобы попасть в это свойство, необходимо вызвать контекстное меню конфигурации (выделить самый верхний узел конфигурации, и вызвать правой кнопкой мышки контекстное меню), в этом контекстном меню интересует команда «Свойства».
После выполнения команды «Свойства» контекстного меню, откроется палитра свойств конфигурации, где нас интересует свойство «Командный интерфейс».
После нажатия гиперссылки «Открыть» этого свойства, откроется окно командного интерфейса. В этом окне мы можем передвигать иконки подсистем, настраивать общее отображение (колонка Видимость), и настраивать отображение по ролям (колонка соответствующей роли).
Заметьте, у колонок ролей могут быть «серые» флажки, это значит, что если у роли установлен такой «серый» флажок, то для данной роли у подсистемы будет такая же видимость, которая установлена в колонке Видимость.
В этом случае роль Администратор будет видеть подсистему Закупки
Если мы отключим видимость подсистемы в свойстве Командный интерфейс, то ее в пользовательском режиме по умолчанию видно не будет (мы отключили подсистему Закупки).
Но пользователь, может включить её. Для этого нужно зайти в настройку панелей разделов.
Для платформы версий 8.15 и выше
Для платформы версий ниже 8.15.
И в открывшемся окне «Настройка панелей разделов», при помощи кнопки «Добавить» переместить нужный раздел в список «Выбранные раздел». В этом же списке вы можете перемещать разделы между собой по своему усмотрению.
Если же мы хотим, чтобы подсистема вообще не была доступна пользователю. То необходимо отключить у нужной роли право на просмотр этой подсистемы.
Для этого открываем дополнительные настройки отключаемой для роли подсистемы.
В этих дополнительных настройках нас интересует закладка Права, где у нужной роли необходимо снять флаг с права Просмотр.
После этого, пользователь не увидит эту подсистему, и не сможет добавить её, используя настройку панелей разделов.
Командный интерфейс подсистемы
Мы можем настраивать видимость нужной нам подсистемы при помощи командного интерфейса. Есть два способа попасть в командный интерфейс подсистемы.
Используя кнопку «Командный интерфейс» в редакторе подсистемы.
Используя команду «Открыть командный интерфейс» контекстного меню подсистемы.
В командном интерфейсе подсистемы по умолчанию существует всего 6 групп: три группы команд навигации (панель навигации), и три группы команд действий (панель действий).
Вы можете перемещать команды навигации между группами команд навигации, и перемещать команды действий между группами команд действий. Но команду навигации нельзя переместить в группу команд действий. И наоборот, команду действия нельзя переместить в команду навигации.
Перемещать команду внутри группы можно при помощи кнопок контекстного меню (для этого нужно выделить нужную команду).
После перемещения команды, в названии группы команд появится словосочетание «Ручной порядок».
Если вы хотите вернуть расположение команд, как было по умолчанию, то необходимо выделить нужную группу, вызвать контекстное меню и выполнить команду «Восстановить автоматический порядок».
Если вы хотите, чтобы команда располагалась в другой группе, то можно мышкой «перетащить» эту команду в нужную группу.
Или воспользоваться командной «Переместить команду». Для этого нужно выделить перемещаемую команду и, или вызвать контекстное меню, где расположена команда.
Или воспользоваться иконкой команды на верхней панели.
После выполнения команды «Переместить команду», откроется окно выбора групп команды, где нужно выбрать группу, в которую вы хотите переместить команду.
После тех или иных действий, команда переместится в нужную группу.
В командном интерфейсе подсистемы имеются также колонка Видимость и колонки видимости по ролям.
Флажки в этих колонках отвечают за видимостью команд подсистемы.
Если флаг снят у соответствующей команды в колонке Видимость, то пользователь не увидит эту команду в интерфейсе подсистемы. У колонок ролей имеется возможность установить «серый» флаг. Это значит, что видимость этой команды для данной роли будет такая, какая установлена по умолчанию в колонке «Видимость».
Например, в этом случае, роль не будет видеть команду.
В случае остальных состояний флага, все точно также как и для колонки Видимость.
Стоит флаг – пользователь с этой ролью видит команду.
Флаг снят – не видит.
Если у вас обычный (не «серый») флаг у колонки видимости роли (снят или установлен), то не играет ни какой роли состояние флага в колонке Видимость!
Но в тоже время, если видимость на какую-либо команду снята в командном интерфейсе подсистемы в конфигураторе 1С, то её можно установить обратно в пользовательском режиме.
Для этого необходимо зайти либо в настройки навигации, либо в настройки действий подсистемы в пользовательском режиме, в зависимости от того видимость какой команды (навигации или действий) вы хотите установить.
Откроется окно настроек, где можно переместить выбранную команду или при помощи кнопки «Добавить», или мышкой.
После перемещения команды
Она появится в командном интерфейсе подсистемы.
Команда «Все подсистемы»
У разработчика имеется возможность посмотреть на командный интерфейс всех подсистем сразу. Для этого необходимо выделить корневой узел ветки Подсистемы, вызвать контекстное меню, в котором выполнить команду «Все подсистемы»
После этого откроется окно «Все подсистемы», где вы можете работать со всеми подсистемами сразу.
Заметьте, если у подсистемы имеются подчиненные подсистемы, то в этом окне вы можете посмотреть, как всё выглядит в иерархии. На скрине выше это наглядно показано. Что нельзя сделать в командном интерфейсе отдельной подсистемы.
Также, в этом окне вы можете редактировать состав нужной вам подсистемы.
В остальном настройки похожи: можно перемещать команды между группами внутри подсистемы, устанавливать видимость и т.д.
Другие статьи по вопросам конфигурирования
Подробно вопросы разработки подсистем рассмотрены в книге «Основы разработки в 1С: Такси. Разработка управляемого приложения за 12 шагов». Эта книга станет настоящим подспорьем для тех, кто только начал знакомиться с разработкой управляемого приложения.
Книга «Основы разработки в 1С: Такси» отлично подойдёт тем, кто уже начал программировать и испытывает определенные сложности с этой темой и тем, кто уже давно программирует, но ни разу еще не работал с управляемыми формами 1С
- Без сложных технических терминов;
- Более 600 страниц практического материала;
- Каждый пример сопровождается рисунком (скриншот);
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
Промо-код на скидку в 15% — 48PVXHeYu
Изучайте программирование в 1С в месте с моей книгой «Программировать в 1С за 11 шагов»
- Книга написана понятным и простым языком — для новичка.
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Научитесь понимать архитектуру 1С;
- Станете писать код на языке 1С;
- Освоите основные приемы программирования;
- Закрепите полученные знания при помощи задачника;
Эти книги плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog
Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму:
Очень часто возникает необходимость программно открыть какую-то форму выбора (документа, справочника), выбрать нужное значение, и передать это значение на форму, которая инициализировала открытие формы выбора. Давайте разберемся, как это делать.
А делается это при помощи уже знакомого нам метода ОткрытьФорму.
Для тех, кто не знаком с вышеприведенным методом, рекомендую первым делом ознакомиться с моими статьями, где я подробно о нем рассказываю:
Открытие управляемой формы 1С с передачей параметров
Открытие управляемой формы 1С в отдельном окне
Для этой статьи я в конфигураторе 1С создам обработку, на форму этой обработки помещу команду, при выполнении которой, откроется форма выбора справочника Номенклатура, и запишу выбранное значение в реквизит формы обработки.
Здесь и далее приведена конфигурация из книги «Основы разработки в 1С: Такси».
Замечу, что в моей конфигурации нет формы выбора
т.е. мы будем открывать автоматически сгенерированную форму выбора.
Поэтому в методе ОткрытьФорму, когда мы будем выбирать нужную управляемую форму 1С, то просто выбираем ФормаВыбора.
Для того, чтобы получить какое-то значение с формы нужно использовать шестой параметр метода ОткрытьФорму – ОписаниеОповещенияОЗакрытии, который имеет тип ОписаниеОповещение.
Алгоритм такой: первым делом мы создаем новый объект с типом ОписаниеОповещения, в параметрах конструктора объекта указываем экспортную процедуру формы, которая сработает после выбора нужного значения с открытой формы. Создаем эту процедуру, где будем обрабатывать выбранное значение. Она должна иметь два параметра: РезультатВыбора и ДополнительныеПараметры. Вот такой должен получиться код:
&НаКлиенте
Процедура ВыбратьНоменклатуру ( Команда )
ОписаниеВыбора = Новый ОписаниеОповещения ( «ОбработатьВыборНоменклатуры» , ЭтаФорма );
Процедура ОбработатьВыборНоменклатуры ( РезультатЗакрытия , ДопПараметры ) Экспорт
Если Не ЗначениеЗаполнено ( РезультатЗакрытия ) Тогда
Возврат;
КонецЕсли;
Где ВыбраннаяНоменклатура это реквизит формы.
Заметьте, процедура ОбработатьВыборНоменклатуры, которую мы указали в описании оповещения, обязательно должна быть экспортной.
Теперь нам осталась указать объект описание выбора в шестом параметре метода ОткрытьФорму
&НаКлиенте
Процедура ВыбратьНоменклатуру ( Команда )
ОписаниеВыбора = Новый ОписаниеОповещения ( «ОбработатьВыборНоменклатуры» , ЭтаФорма );
ОткрытьФорму ( «Справочник.Номенклатура.ФормаВыбора» .
ОписаниеВыбора ,
РежимОткрытияОкнаФормы . БлокироватьОкноВладельца );
И всё! Сейчас при выполнении команды, откроется форма выбора, и если какая-то номенклатура будет выбрана, то она запишется в реквизит формы в процедуре ОбработатьВыборНоменклатуры.
Изучайте управляемые формы 1С с моими статьями:
Открытие управляемой формы существующего объекта
Открытие управляемой формы 1С на основании другого объекта
Открытие обычной формы в управляемом приложении 1С
Очень подробно вопросы по работе с управляемыми формами в частности и с управляемым приложением в целом рассмотрены в книге «Основы разработки в 1С: Такси. Разработка управляемого приложения за 12 шагов». Эта книга станет настоящим подспорьем для тех, кто только начал знакомится с разработкой управляемого приложения.
Многие начинающие думают, что изучить язык программирование в 1С сложно и трудно. В действительности программировать в 1С — легко. Помогут Вам легко и быстро освоить программирование в 1С мои книги: «Программировать в 1С за 11 шагов» и «Основы разработки в 1С: Такси»
Книга «Основы разработки в 1С: Такси» отлично подойдёт тем, кто уже начал программировать и испытывает определенные сложности с этой темой и тем, кто уже давно программирует, но ни разу еще не работал с управляемыми формами 1С
- Без сложных технических терминов;
- Более 600 страниц практического материала;
- Каждый пример сопровождается рисунком (скриншот);
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
Промо-код на скидку в 15% — 48PVXHeYu
Книга «Программировать в 1С за 11 шагов»
Изучите программирование в 1С с помощью моей книги «Программировать в 1С за 11 шагов»
- Без сложных технических терминов. Написана понятным и простым языком — для новичка.
- Более 700 страниц практического материала.
- Каждое задание сопровождается рисунком (скриншот).
- Сборник задач для домашней проработки.
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
Если Вам помог этот урок решить какую-нибудь проблему, понравился или оказался полезен, то Вы можете поддержать мой проект, перечислив любую сумму:
Читайте также: