Группа: Пользователи
Сообщений: 443
Из: Казахстан
Спасибо сказали: 43 раз
Рейтинг: 43
Доброе утро !
Возникла следующая проблема. В конфигурации определены следующие справочники: Области и Районы. Справочник Районов( Районы) подчинён справочнику Областей. На форме есть 2 поля ввода .1-е поле ввода-области,2-е поле ввода-районы. В свойствах поля ввода Район –определена связь по владельцу –ОбластьРождения:
При работе пользователя с полями ввода всё в принципе работает, правда только когда пользователь меняет область рождения на другую, список района рождения не обновляется ,остаётся привязанным к предыдущей записи справочника Областей. Пользователю нужно принудительно выбирать и район рождения. Можно ли как-нибудь после выбора Области принудительно открывать список значений Районов рождения. Это нужно для того , чтобы ввод данных происходил корректно. А то пользователи народ мечтательный и могут этот момент запросто пропустить -получится следующее : район рождения останется привязанным на поле ввода не к своей области.
Группа: Пользователи
Сообщений: 155
Спасибо сказали: 6 раз
Рейтинг: 0
Добрый день.
Какая 1С , какой релиз? Оформите тему согласно требованием форума!!!
Принскрин бы улучшил поминание об проблеме.
Прикрутите к полям которые пользователь должен заполнить- контроль на заполнение этого поля+ уведомление пользователя. Или условие при изменение одного поля проверка второго поля.
Условие при изменение одного поля второе поле очищается (такое не делал но думаю можно).
Группа: Пользователи
Сообщений: 443
Из: Казахстан
Спасибо сказали: 43 раз
Рейтинг: 43
Платформа : 8.2, релиз 8.2.19.106
Рад бы прикрутить "принтскрины", у нас интернет "несколько" заблокирован (политика ИБ нашей компании).Прикручу их позже-из дома. Можно ли при Изменении поля ввода Области сэмулировать нажатие клавиши выбора из меню Районов ,предварительно назначив ему (поле ввода Районы) фокус ввода?
Группа: Местный
Сообщений: 858
Из: Місто щасливих людей
Спасибо сказали: 320 раз
Рейтинг: 0
Можно конечно, посмотрите как в типовых конфигурациях реализована связка Контрагент-Договор, принцип тот же, при изменении договора, автоматически подставляется контрагент и наоборот, при изменении контрагента договор либо очищается либо если есть основной то подставляется основной.
Дописываю конфигурации на платформе 8.х. - Управление торговым предприятием для Украины - Управление производственным предприятием для Украины - Управление небольшой фирмой для Украины - Бухгалтерия для Украины; - Общепит для Украины - Ресторан (Рарус) - Розница
Группа: Местный
Сообщений: 2905
Из: Київ, Україна
Спасибо сказали: 1147 раз
Рейтинг: 1228.9
andrew76 @ Сегодня, 8:27
, Эти поля разве не последовательно идут? Выбрали область, в "ПриИзменении" проверяем заполненность района, если заполнен и не подчинен текущей области, обнуляем. Если все же пользователи ленятся дополнительного нажатия кнопки, сделайте там же обработку выбора района.
Допрацьовую: - "Бухгалтерія для України 2.1"; - "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".
Группа: Пользователи
Сообщений: 443
Из: Казахстан
Спасибо сказали: 43 раз
Рейтинг: 43
У меня пока нет возможности ознакомиться с тем, как это сделано в типовых конфигурациях.Поэтому отсебятина :
На поле ввода Область (при изменении) передаю фокус на поле ввода Район. Фокус передаётся нормально.Осталось узнать- как сэмулировать нажатие клавиши F4?
Процедура Область_рождПриИзменении(Элемент)
ЭтаФорма.ТекущийЭлемент=ЭлементыФормы.Район_рож;
КонецПроцедуры
Срабатывает,при получении фокуса список районов открывается с корректным подчинением областям страны. Средствами 1с 8.2 сэмулировать нажатие клавиши F4 можно ?
Процедура Область_рождПриИзменении(Элемент)
ЭтаФорма.ТекущийЭлемент=ЭлементыФормы.Район_рож; Shell= Новый COMОбъект("Wscript.Shell"); Shell.SendKeys("{F4}");
Группа: Местный
Сообщений: 2905
Из: Київ, Україна
Спасибо сказали: 1147 раз
Рейтинг: 1228.9
andrew76 @ Сегодня, 9:30
, Зачем использовать сторонние объекты, если все можно сделать встроенными средствами, например, как-то так:
Процедура Область_рождПриИзменении(Элемент)
Если ЗначениеЗаполнено(Область_рожд) И Район_рож.Владелец <> Область_рожд Тогда Район_рож = Неопределено; Параметры = Новый Структура; Отбор = Новый Структура; Отбор.Вставить("Владелец", Область_рожд); Параметры.Вставить("Отбор", Отбор); ОткрытьФорму("Справочник.Районы.ФормаВыбора", Параметры, ЭлементыФормы.Район_рож); КонецЕсли;
КонецПроцедуры
Допрацьовую: - "Бухгалтерія для України 2.1"; - "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".
Группа: Пользователи
Сообщений: 443
Из: Казахстан
Спасибо сказали: 43 раз
Рейтинг: 43
Можно и так-но так открывается форма Выбора.Тут основная проблема- с пользователями.Если прут окна какие-то ,то их это очень пугает. В общем "Восток-дело тонкое".
Процедура Область_рождПриИзменении(Элемент)
Если ЗначениеЗаполнено(Область_рожд) И Район_рож.Владелец <> Область_рожд Тогда Район_рож = Неопределено; Параметры = Новый Структура; Отбор = Новый Структура; Отбор.Вставить("Владелец", Элемент.Значение); //в вашем варианте ругается-"переменная не найдена-Область_рожд Отбор.Вставить("Владелец", Область_рожд); Параметры.Вставить("Отбор", Отбор); ОткрытьФорму("Справочник.Районы.ФормаВыбора", Параметры, ЭлементыФормы.Район_рож); КонецЕсли;
Группа: Пользователи
Сообщений: 443
Из: Казахстан
Спасибо сказали: 43 раз
Рейтинг: 43
Для нас -никакой разницы.Что в лоб,что по лбу.Но пользователям-так удобнее.Против этого у нас не попрёшь.Привыкли они так-шаг влево,вправо считается,что программа не так работает.Долго объяснять...
Группа: Местный
Сообщений: 2905
Из: Київ, Україна
Спасибо сказали: 1147 раз
Рейтинг: 1228.9
Цитата(andrew76 @ 28.03.17, 11:58)
Но пользователям-так удобнее.
Вариант 1. Как реализовываем: после выбора области программно открываем форму выбора района. Как видит пользователь: открывается форма выбора района.
Вариант 2. Как реализовываем: после выбора области программно назначаем текущий элемент и эмулируем нажатие F4. Как видит пользователь: открывается форма выбора района.
Тут дело не в востоке, а в чем-то более тяжелом, чтобы понять разницу для пользователя...
Допрацьовую: - "Бухгалтерія для України 2.1"; - "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".
Группа: Пользователи
Сообщений: 443
Из: Казахстан
Спасибо сказали: 43 раз
Рейтинг: 43
Да не,в данном конкретном уникальном случае предпочтительнее будет вариант с использованием эмуляции нажатия клавиши F4.
Скрины-шоТЫ:
Настройка связи по владельцу;
Состояние полей ввода до смены области (правильный вариант ввода данных)
Состояние полей ввода после смены области (неправильный вариант ввода данных) Хивинский район на самом деле принадлежит Хорезмской области:
Цитата(andrew76 @ 28.03.17, 18:50)
Тут дело не в востоке, а в чем-то более тяжелом, чтобы понять разницу для пользователя...
Если бы разработчики платформы 1с придумали метод РаскрытьСписок у поля ввода я бы эту тему и не открывал. Разница для пользователя есть -в этом конкретном уникальном случае с эмуляцией нажатия -вариант изящнее (даже с визуальной точки зрения).
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!