Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Поле ввода подчинённого справочника , Обработка событий поля ввода подчинённого справочника          
andrew76 Подменю пользователя
сообщение 28.03.17, 7:00
Сообщение #1

Оратор
*****
Группа: Пользователи
Сообщений: 437
Из: Казахстан
Спасибо сказали: 43 раз
Рейтинг: 43

Доброе утро !

Возникла следующая проблема. В конфигурации определены следующие справочники: Области и Районы. Справочник Районов( Районы) подчинён справочнику Областей.
На форме есть 2 поля ввода .1-е поле ввода-области,2-е поле ввода-районы.
В свойствах поля ввода Район –определена связь по владельцу –ОбластьРождения:


При работе пользователя с полями ввода всё в принципе работает, правда только когда пользователь меняет область рождения на другую, список района рождения не обновляется ,остаётся привязанным к предыдущей записи справочника Областей.
Пользователю нужно принудительно выбирать и район рождения. Можно ли как-нибудь после выбора Области принудительно открывать список значений Районов рождения. Это нужно для того , чтобы ввод данных происходил корректно. А то пользователи народ мечтательный и могут этот момент запросто пропустить -получится следующее : район рождения останется привязанным на поле ввода не к своей области.

candrey Подменю пользователя
сообщение 28.03.17, 8:09
Сообщение #2

Завсегдатай
****
Группа: Пользователи
Сообщений: 155
Спасибо сказали: 6 раз
Рейтинг: 0

Добрый день.

Какая 1С , какой релиз? Оформите тему согласно требованием форума!!!


Принскрин бы улучшил поминание об проблеме.

Прикрутите к полям которые пользователь должен заполнить- контроль на заполнение этого поля+ уведомление пользователя.
Или условие при изменение одного поля проверка второго поля.

Условие при изменение одного поля второе поле очищается (такое не делал но думаю можно).

Тут уже как вам веднее.

Vofka Подменю пользователя
сообщение 28.03.17, 8:12
Сообщение #3

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

Я бы в ПриИзменении поля Область просто очищал Район.

Спасибо сказали: andrew76,

andrew76 Подменю пользователя
сообщение 28.03.17, 8:27
Сообщение #4

Оратор
*****
Группа: Пользователи
Сообщений: 437
Из: Казахстан
Спасибо сказали: 43 раз
Рейтинг: 43

Платформа : 8.2, релиз 8.2.19.106

Рад бы прикрутить "принтскрины", у нас интернет "несколько" заблокирован (политика ИБ нашей компании).Прикручу их позже-из дома.
Можно ли при Изменении поля ввода Области сэмулировать нажатие клавиши выбора из меню Районов ,предварительно назначив ему (поле ввода Районы)
фокус ввода?

Bernet Подменю пользователя
сообщение 28.03.17, 8:35
Сообщение #5

Ветеран
Иконка группы
Группа: Местный
Сообщений: 858
Из: Місто щасливих людей
Спасибо сказали: 317 раз
Рейтинг: 0

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


Signature
Дописываю конфигурации на платформе 8.х.
- Управление торговым предприятием для Украины
- Управление производственным предприятием для Украины
- Управление небольшой фирмой для Украины
- Бухгалтерия для Украины;
- Общепит для Украины
- Ресторан (Рарус)
- Розница

Petre Подменю пользователя
сообщение 28.03.17, 8:41
Сообщение #6

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2903
Из: Київ, Україна
Спасибо сказали: 1144 раз
Рейтинг: 1225

andrew76 @ Сегодня, 8:27 * ,
Эти поля разве не последовательно идут? Выбрали область, в "ПриИзменении" проверяем заполненность района, если заполнен и не подчинен текущей области, обнуляем. Если все же пользователи ленятся дополнительного нажатия кнопки, сделайте там же обработку выбора района.


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

andrew76 Подменю пользователя
сообщение 28.03.17, 9:30
Сообщение #7

Оратор
*****
Группа: Пользователи
Сообщений: 437
Из: Казахстан
Спасибо сказали: 43 раз
Рейтинг: 43

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

На поле ввода Область (при изменении) передаю фокус на поле ввода Район.
Фокус передаётся нормально.Осталось узнать- как сэмулировать нажатие клавиши F4?

Процедура Область_рождПриИзменении(Элемент)
    
    ЭтаФорма.ТекущийЭлемент=ЭлементыФормы.Район_рож;

КонецПроцедуры


Срабатывает,при получении фокуса список районов открывается с корректным подчинением областям страны.
Средствами 1с 8.2 сэмулировать нажатие клавиши F4 можно ?

Процедура Область_рождПриИзменении(Элемент)

  ЭтаФорма.ТекущийЭлемент=ЭлементыФормы.Район_рож;  
  Shell= Новый COMОбъект("Wscript.Shell");
  Shell.SendKeys("{F4}");

КонецПроцедуры

Petre Подменю пользователя
сообщение 28.03.17, 10:49
Сообщение #8

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2903
Из: Київ, Україна
Спасибо сказали: 1144 раз
Рейтинг: 1225

andrew76 @ Сегодня, 9:30 * ,
Зачем использовать сторонние объекты, если все можно сделать встроенными средствами, например, как-то так:
Процедура Область_рождПриИзменении(Элемент)
    
    Если ЗначениеЗаполнено(Область_рожд) И Район_рож.Владелец <> Область_рожд Тогда
        Район_рож = Неопределено;
        Параметры = Новый Структура;
        Отбор = Новый Структура;
        Отбор.Вставить("Владелец", Область_рожд);
        Параметры.Вставить("Отбор", Отбор);
        ОткрытьФорму("Справочник.Районы.ФормаВыбора", Параметры, ЭлементыФормы.Район_рож);
    КонецЕсли;
    
КонецПроцедуры


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

Спасибо сказали: andrew76,

andrew76 Подменю пользователя
сообщение 28.03.17, 11:33
Сообщение #9

Оратор
*****
Группа: Пользователи
Сообщений: 437
Из: Казахстан
Спасибо сказали: 43 раз
Рейтинг: 43

Можно и так-но так открывается форма Выбора.Тут основная проблема- с пользователями.Если прут окна какие-то ,то их это очень пугает.
В общем "Восток-дело тонкое".

Процедура Область_рождПриИзменении(Элемент)
    
    Если ЗначениеЗаполнено(Область_рожд) И Район_рож.Владелец <> Область_рожд Тогда
        Район_рож = Неопределено;
        Параметры = Новый Структура;
        Отбор = Новый Структура;
        Отбор.Вставить("Владелец", Элемент.Значение);  //в вашем варианте ругается-"переменная не найдена-Область_рожд   Отбор.Вставить("Владелец",  Область_рожд);
        Параметры.Вставить("Отбор", Отбор);
        ОткрытьФорму("Справочник.Районы.ФормаВыбора", Параметры, ЭлементыФормы.Район_рож);
    КонецЕсли;
    
КонецПроцедуры

Petre Подменю пользователя
сообщение 28.03.17, 11:48
Сообщение #10

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2903
Из: Київ, Україна
Спасибо сказали: 1144 раз
Рейтинг: 1225

Цитата(andrew76 @ 28.03.17, 11:33) *
Можно и так-но так открывается форма Выбора.Тут основная проблема- с пользователями.Если прут окна какие-то ,то их это очень пугает.

Ок. Проэмулируете вы нажатие "F4" в элементе района. Что по-вашему произойдет? Не окно ли выбора районов откроется? В чем разница?


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

andrew76 Подменю пользователя
сообщение 28.03.17, 11:58
Сообщение #11

Оратор
*****
Группа: Пользователи
Сообщений: 437
Из: Казахстан
Спасибо сказали: 43 раз
Рейтинг: 43

Для нас -никакой разницы.Что в лоб,что по лбу.Но пользователям-так удобнее.Против этого у нас не попрёшь.Привыкли они так-шаг влево,вправо считается,что
программа не так работает.Долго объяснять...

Vofka Подменю пользователя
сообщение 28.03.17, 12:53
Сообщение #12

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

Цитата(andrew76 @ 28.03.17, 12:58) *
Но пользователям-так удобнее.

Как так? Если в поле ввода нажать Ф4, то открывается форма. Но вы говорите, что форму открывать нельзя, надо нажимать Ф4. icon_revenant7.gif

Petre Подменю пользователя
сообщение 28.03.17, 13:07
Сообщение #13

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2903
Из: Київ, Україна
Спасибо сказали: 1144 раз
Рейтинг: 1225

Цитата(andrew76 @ 28.03.17, 11:58) *
Но пользователям-так удобнее.

Вариант 1. Как реализовываем: после выбора области программно открываем форму выбора района.
Как видит пользователь: открывается форма выбора района.

Вариант 2. Как реализовываем: после выбора области программно назначаем текущий элемент и эмулируем нажатие F4.
Как видит пользователь: открывается форма выбора района.

Тут дело не в востоке, а в чем-то более тяжелом, чтобы понять разницу для пользователя... crazy.gif


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

andrew76 Подменю пользователя
сообщение 28.03.17, 16:07
Сообщение #14

Оратор
*****
Группа: Пользователи
Сообщений: 437
Из: Казахстан
Спасибо сказали: 43 раз
Рейтинг: 43

Да не,в данном конкретном уникальном случае предпочтительнее будет вариант с использованием эмуляции нажатия клавиши F4.

Скрины-шоТЫ:

Настройка связи по владельцу;




Состояние полей ввода до смены области (правильный вариант ввода данных)



Состояние полей ввода после смены области (неправильный вариант ввода данных)
Хивинский район на самом деле принадлежит Хорезмской области:





Цитата(andrew76 @ 28.03.17, 18:50) *
Тут дело не в востоке, а в чем-то более тяжелом, чтобы понять разницу для пользователя...


Если бы разработчики платформы 1с придумали метод РаскрытьСписок у поля ввода я бы эту тему и не открывал.
Разница для пользователя есть -в этом конкретном уникальном случае с эмуляцией нажатия -вариант изящнее (даже с визуальной точки зрения).

А вообще в першу чэргу-"Восток-дело тонкое..".

Petre Подменю пользователя
сообщение 28.03.17, 17:01
Сообщение #15

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2903
Из: Київ, Україна
Спасибо сказали: 1144 раз
Рейтинг: 1225

andrew76 @ Сегодня, 16:07 * ,
Вот только сейчас понял, что у вас установлен режим быстрого выбора. Тогда можно использовать метод "ВыбратьИзСписка".


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

Спасибо сказали: andrew76,

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 29.03.24, 7:49
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!