1с как определить владельца формы

Поиск владельца формы

Из реквизита, расположенного на форме документа, открывается форма выбора справочника (стандартным механизмом 1С через поле ввода). Как в форме выбора справочника определить форму исходного документа, из которого открыта форма выбора?

Владелец формы возвращает поле ввода, но из него нельзя получить форму, на которой установлен этот элемент формы.

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

Пока вижу только перебор метаданных (документов) и всех форм, поиск отрытых форм и поиск в них указанного поля ввода.

в то время как для «ссылки» всегда существует только один объект в базе данных и форма получается одна (для одинаковой совокупности параметров

Вот 1С-цы сволочи. Есть в менеджера документов функция «ПолучитьФормуНовогоДокумента» для получения формы нового документа (хотя это можно было бы решить и просто созданием нового документа объекта и получения его формы). Но зачем же тогда ПолучитьФорму(«ФормаДокумента») тоже возвращает форму нового документа, вместо того, чтобы как и для других форм произвести поиск всех открытых форм (ибо Ключ по умолчанию = Ложь).

Тогда тут остаётся только дело за ручным отслеживанием открываемых форм. Можно ли это событие отловить из одного общего места?

Цитирование СП является ответом на него.

Смортрию типовые документы. В формах в обработчике события ПриОтркытии «везде» есть вот такой вот вызов
Тогда можно в этой процедуре общего модуля единожды разместить код регистрации открытия формы. Ведь вряд ли она будет вызвана для неоткрытой формы. Да и не критично это будет (всё равно формы будут проверяться методом Форма.Открыта()).

Источник

Программно определить тип формы и ее объект-владелец формы при открытии

Возникла необходимость определить тип и объект-владелец формы при открытии.
Например, «Форма списка» документа «Реализация товаров»

Объект = Неопределено;
Попытка
Объект = ЭтаФорма.ДокументОбъект;
Исключение
КонецПопытки;
Если Объект = Неопределено Тогда
Попытка
Объект = ЭтаФорма.ДокументСписок;
Исключение
КонецПопытки;
КонецЕсли;
Если Объект = Неопределено Тогда
Попытка
Объект = ЭтаФорма.СправочникОбъект;
Исключение
КонецПопытки;
КонецЕсли;
Если Объект = Неопределено Тогда
Попытка
Объект = ЭтаФорма.СправочникСписок;
Исключение
КонецПопытки;
КонецЕсли;

Если Объект <> Неопределено Тогда
ТипЗначения = ТипЗнч(Объект);
ТипЗначенияСтрока = Строка(ТипЗначения); //»ДокументСписок.РеализацияТоваров»

ПоложениеТочки = Найти(ТипЗначенияСтрока,»:»);
ДлинаСтроки = СтрДлина(ТипЗначенияСтрока);
ЛеваяЧастьСтроки = Лев(ТипЗначенияСтрока,ПоложениеТочки-1);

ТипОбъекта = СтрЗаменить(ЛеваяЧастьСтроки,» список»,»»);
ТипОбъекта = СтрЗаменить(ТипОбъекта,» объект»,»»);

ТипФормы = СтрЗаменить(ЛеваяЧастьСтроки,»Документ «,»»);
ТипФормы = СтрЗаменить(ТипФормы,»Справочник «,»»);

Возврат Структура;
Иначе
Возврат Неопределено;
КонецЕсли;

Но через попытку-исключение как-то некрасиво. Может кто подскажет более элегантный способ обращения к основному реквизиту формы и выдергивания из него необходимых мне сведений?

Источник

Особенности работы в формах с подчиненным справочником

При работе в формах с подчиненных справочниками имеется ряд особенностей.

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

Свойство ПараметрВыборПоВладельцу используется для инициализации формы выбора. В этом случае выбор будет выполняться только для элементов с указанным владельцем. Этот параметр используется системой при инициализации выбора значения подчиненного справочника в поле ввода из формы выбора.

В 1С:Предприятии 8 выбор в поле ввода значения подчиненного справочника не производит предварительного выбора владельца (такое поведение было реализовано в 1С:Предприятии 7.7). Если в момент выбора в поле ввода значение владельца для поля ввода не установлено (ни через связь по владельцу, ни через значение свойства ВыборПоВладельцу ), то форма будет открыта без установленного владельца. Таким образом, необходимо в форме выбора подчиненного справочника предусмотреть возможность выбора владельца.

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

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

Эффективным решением может быть размещение в форме выбора поля ввода, связанного с данными отбора по владельцу («Отбор.Владелец.Значение»). В этом случае пользователь сможет быстро установить отбор по владельцу и выбрать необходимый элемент.

Источник

Обработка Выбора в поле ввода формы

1С:Предприятие 8.3.14. Документация
Глава 7. Формы

Для демонстрации работы параметров формы рассмотрим реализацию выбора элемента в поле ввода. Сутью примера будет реализация механизма выбора элемента из списка на встроенном языке.

К моменту начала работы с примером нужно иметь конфигурацию, обладающую следующими свойствами:

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

Добавим дополнительный параметр, который будет управлять закрытием формы выбора после выбора элемента. Назовем этот параметр ЗакрыватьПослеВыбора (тип Булево). Добавим его в качестве параметра формы ФормаВыбора справочника Товары.

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

Следует отдельно остановиться на третьем параметре метода ОткрытьФорму(). Этот параметр определяет, кто будет владельцем формы выбора и кому будет приходить оповещение о сделанном выборе. В данном случае мы указали владельцем формы выбора сам элемент формы, но также мы можем указать этим параметром и саму форму. В этом случае будет необходимо реализовывать обработчик ОбработкаВыбора модуля формы и в нем решать, в какой реквизит формы помещать выбранные данные.

ПРИМЕЧАНИЕ. Если мы не будем реализовывать обработчик события НачалоВыбора, то его действия выполнит сама система. Это справедливо и для всех дальнейших обработчиков, которые использованы в примере.

Теперь необходимо обработать переданные параметры в форме выбора. Сделаем это в обработчике ПриСозданииНаСервере() модуля формы выбора.

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

ПРИМЕЧАНИЕ. Если у таблицы Список, отображающей список товаров, свойство РежимВыбора не будет установлено в значение Истина, то выбор товаров будет недоступен.

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

Нам осталось реализовать обработку выбора элемента в самом поле ввода. Для этого необходимо обработать событие ОбработкаВыбора нашего поля ввода ВыбранныйТовар.

Мы самостоятельно реализовали системный механизм выбора значения в поле ввода на форме.

ВНИМАНИЕ! Данный пример не является законченным. Его единственным назначением является демонстрация механизмов работы с параметрами формы.

Если при создании параметров (обработчик ВыбранныйТоварНачалоВыбора()) заменить строку:

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

Источник

Полные имена открытых форм

Вот перед нами управляемая форма. И как бы так быстро понять, «чья» она, откуда взялась, где искать в конфигураторе? Для решения этой несложной, но часто возникающей задачи была сделана обработка. Показывает и независимые, и блокирующие владельца формы, позволяет понять, что где смотреть, искать, отлаживать и дорабатывать. Простенько, но мне вот очень порой помогает. Надеюсь, пригодится ещё кому.

Тестировалось на 8.3.12.1685, но, по идее, начиная с 8.3.6, уже должно работать.

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

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

f71a8c4e70c0ff03708038e2b0210df8

9c2808762ec294cd4c55532520b9c521

895fb1e0f7afc3c0ed0d73bf5ee9d9d0

egais promo

b34b292ed32e9501f98cc31df406353e

789363929b9f37ddc5641a069a5fe52e

5b19cd6c4494a88b2abefce64a1b7565

199e2be4fd21dd8f4209d8ec34616c76

Обновление 06.08.19 16:15

См. также

Универсальный редактор данных (УРД) Промо

27.08.2021 5477 118 Adeptus 51

Конвертация данных 3 расширение: Редактор кода.

08.09.2020 11563 30 Viktor_Ermakov 32

Предлагаю широкой общественности расширение А1Э, используемое в нескольких продуктивных базах для выполнения широкого круга задач.

14.08.2020 13656 0 Enigma 47

Должно быть NULL в регистре бухгалтерии Хозрасчетный

Обработка проверяет наличие и решает проблему с ошибкой развернутого сальдо в Оборотно-сальдовой ведомости (регистр бухгалтерии Хозрасчетный) из-за ошибки Универсального редактора реквизитов или кода программиста, устанавливающего пустые ссылки в значениях Валюты, Подразделения, Направления деятельности не равными NULL. И пересчёт итогов тут точно не поможет.

21.10.2019 18329 74 sapervodichka 33

Программа Faster 9.4 позволяет ускорить процесс работы программиста (работает в любом текстовом редакторе). Подсказка при вводе текста на основе ранее введенного текста и настроенных шаблонов. Программа Faster позволяет делится кодом с другими программистами в два клика или передать ссылку через QR Код. Исправление введенных фраз двойным Shift (с помощью speller.yandex). Переводчик текста. Переворачивает текст случайно набранный на другой раскладке. Полезная утилита для тех, кто печатает много однотипного текста, кодирует в среде Windows на разных языках программирования. Через некоторое время работы с программой у вас соберется своя база часто используемых словосочетаний и кусков кода. Настройка любых шорткатов под себя с помощью скриптов. Никаких установок и лицензий, все бесплатно.

24.05.2012 84626 965 moolex 157

CF & SQL : конструктор прямых запросов к БД 1С

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

02.10.2019 30334 296 dmitrydemenew 63

Конвейер проверки качества кода

Jenkinsfile для выполнения проверки качества кода. Собирает информацию с АПК, EDT и BSL-LS. Сопоставляет ошибки с гит-репозиторием, выгруженным ГитКонвертором. Отправляет в Сонар.

04.09.2019 37615 27 Stepa86 46

Модель объекта

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

30.06.2019 16502 1 vadim1980 5

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

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

06.10.2014 169452 2757 ekaruk 170

Переводим рутину ручного тестирования 1C на рельсы Jenkins-а и ADD

Вы все еще тестируете свои конфигурации 1С вручную? Да вы просто тратите жизнь впустую! В данном туториале попробуем скрестить ADD и jenkins для автоматического запуска тестов.

03.06.2019 37011 9 ripreal1 92

Универсальный HTTP-сервис на платформе 1С, аля HTTP-сервер с примером

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

13.05.2019 38270 152 Diversus 44

Немного о графических файлах. Сжатие. Распознавание текста

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

06.05.2019 9857 12 tusv 6

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

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

17.08.2015 54692 170 ekaruk 32

Расширение «Быстрая проверка кода» для конфигурации 1С:Автоматизированная проверка конфигураций

Расширение для конфигурации «1С:Автоматизированная проверка конфигураций», позволяющее проверять произвольный код.

26.03.2019 26051 67 Bazil 34

Настройка отладки на сервере 1С

Обработка для настройки отладки на сервере, включение отладки COM-соединений и отладки Web-сервисов.

26.03.2019 37465 165 frkbvfnjh 44

Методика оптимизации программного кода 1С: проведение документов

Описание простого метода анализа производительности программного кода 1С, способов его оптимизации и оценки результатов в виде числовых показателей прироста производительности. Не требует сторонних программных продуктов, используются только типовые возможности платформ 1С. Методика проверена на линейке платформ начиная с 1С:Предприятие 8.2 (обычные формы, управляемые формы). Позволяет ускорить проведение проблемных документов в 3 и более раз, провести проверку корректности формирования проводок оптимизированным кодом и подтвердить результаты оптимизации реальными замерами производительности в режиме предприятия. К публикации приложены демонстрационные базы для режимов обычного и управляемого приложения на платформе 1С:Предприятие 8.3 (8.3.9.2033).

19.03.2019 31645 21 dmitrydemenew 85

[x1c.ru] 1CDBin: Работа с файлами *.1CD на низком уровне средствами языка 1С с возможностью чтения таблиц (поддерживается формат 8.3.8.0) Промо

Обработка позволяет просматривать файловые базы 1CD на низком уровне средствами встроенного языка. Реализована часть функциональности Tool_1CD, но на языке 1С Предприятия. Показываются таблицы, параметры таблиц, поля таблиц, записи таблиц, значения полей BLOB, есть 16-ричный просмотр страниц базы и консоль кода. Можно использовать для изучения структуры файлов 1CD, просмотра баз 1CD для выявления повреждений, создания своих обработок для выгрузки данных без открытия исследуемой базы в 1С:Предприятии.

07.10.2014 62896 392 GusevNA 78

Инструктор. Прототип инструмента создания быстрых пользовательских инструкций

Прототип дружелюбного и эффективного инструмента для написания пользовательских экспресс-инструкций. Задействована штатная утилита Windows, о существовании которой многие не знают и которая умеет делать огромную работу по логированию действий и снятию скриншотов на всех ПК с Windows (начиная с версии Win7). «Инструктор» не требует никакой установки и дополнительных библиотек! Это означает, что инструмент будет работать и на домашнем ПК и на «чужом ноутбуке» и на терминальном win-сервере у заказчика, где ваши права сильно ограничены. Вы просто подключаете легкую файловую базу 1С и получаете инструмент по снятию скриншотов с интересной функциональностью.

15.02.2019 18597 49 ROM_NN 11

Simple WMS Client – это визуальный конструктор мобильного клиента для терминала сбора данных(ТСД) или обычного телефона на Android. Приложение работает в онлайн режиме через интернет или WI-FI, постоянно общаясь с базой посредством http-запросов (вариант для 1С-клиента общается с 1С напрямую как обычный клиент). Можно создавать любые конфигурации мобильного клиента с помощью конструктора и обработчиков на языке 1С (НЕ мобильная платформа). Вся логика приложения и интеграции содержится в обработчиках на стороне 1С. Это очень простой способ создать и развернуть клиентскую часть для WMS системы или для любой другой конфигурации 1С (УТ, УПП, ERP, самописной) с минимумом программирования. Например, можно добавить в учетную систему адресное хранение, учет оборудования и любые другие задачи. Приложение умеет работать не только со штрих-кодами, но и с распознаванием голоса от Google. Это бесплатная и открытая система, не требующая обучения, с возможностью быстро получить результат.

09.01.2019 62163 269 informa1555 236

Источник

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