|
Обработка получения данных выбора | ☑ | ||
---|---|---|---|---|
0
VoditelKobyly
27.06.24
✎
11:52
|
Добрый день!
Есть задача: ограничить список выбора элементов справочника, при наборе букв в поле документа. Допустим, находимся в документе поступления, стоим в табличной части и в колонке номенклатура начинаем писать первые буквы наименования. Происходит поиск номенклатуры, отрабатывает событие ОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбработка). Все по плану как надо...И теперь возникает вопрос - как отсюда докопаться до владельца формы в которой пишем буквы? Как узнать, что мы находимся именно в документе поступления, а не расходной накладной? |
|||
1
Инстанс
27.06.24
✎
11:53
|
Мммм. ИмяФормы, не? Ну ты тему задвинул.
|
|||
2
Волшебник
27.06.24
✎
11:54
|
<Параметры>
Тип: Структура. Содержит параметры выбора. Их можно дополнительно настроить в обработчике события. Добавьте туда ВладелецФормы |
|||
3
Инстанс
27.06.24
✎
11:55
|
ЭтотОбъект.ВладелецФормы.Имя
Типа тонго |
|||
4
Инстанс
27.06.24
✎
11:56
|
*тонго = того. Простите за безграмотность
|
|||
5
VoditelKobyly
27.06.24
✎
11:56
|
(2) Можете пример дать? В какой момент и что туда подкинуть?
|
|||
6
Инстанс
27.06.24
✎
11:57
|
Уговорил. Открываю бухгалтерию
|
|||
7
VoditelKobyly
27.06.24
✎
11:57
|
(3) не подходит
|
|||
8
Волшебник
27.06.24
✎
11:58
|
||||
9
VoditelKobyly
27.06.24
✎
12:00
|
(2) В параметрах, как я понял, можно только дополнительные какие-то нюансы поиска для платформы задать. А как заставить ее туда подсунуть ВладелцаФормы?
|
|||
10
Инстанс
27.06.24
✎
12:01
|
ЭтотОбъект.ВладелецФормы.ИмяФормы = "Документ.ПоступлениеТоваровУслуг.Форма...."
|
|||
11
Инстанс
27.06.24
✎
12:02
|
Почему не подходит
|
|||
12
Инстанс
27.06.24
✎
12:02
|
Спрашивай ясней
|
|||
13
Инстанс
27.06.24
✎
12:03
|
Событие на клиенте же? И свойства на клиенте. Причём тут параметры.
|
|||
14
VoditelKobyly
27.06.24
✎
12:04
|
(8) Интересно, сработает или нет, но при этом придется все документы конфигурации дорабатывать, в каждом прописывать дополнительные параметры...
|
|||
15
VoditelKobyly
27.06.24
✎
12:06
|
(10) Отладчик не показывает:
ЭтотОбъект.ВладелецФормы {<Неизвестный модуль>(1,1)}: Переменная не определена (ЭтотОбъект) ЭтотОбъект {<Неизвестный модуль>(1,1)}: Переменная не определена (ЭтотОбъект) |
|||
16
AlexeyKh
27.06.24
✎
12:08
|
в самой форме документа перехватывайте событие подбора!
СтандартнаяОбработка = Ложь; и свой запрос... |
|||
17
VoditelKobyly
27.06.24
✎
12:08
|
(10) Если в бухгалтерии показывает - это хорошо. Но у меня ЕРПУХ на 25 платформе не показывает.
|
|||
18
VoditelKobyly
27.06.24
✎
12:08
|
(16) Проблема с количеством документов, где это придется прописывать...
|
|||
19
Инстанс
27.06.24
✎
12:11
|
Так-с
|
|||
20
Инстанс
27.06.24
✎
12:14
|
ааааа. у тебя же модуль манагера. сорян
|
|||
21
Инстанс
27.06.24
✎
12:17
|
Не выудить
|
|||
22
Инстанс
27.06.24
✎
12:18
|
Меняй логику решения
|
|||
23
AlexeyKh
27.06.24
✎
12:21
|
(18) остается форма выбора, или что там у вас по кнопке "Подбор товара"?
еще в событии ПриИзменении вызывайте процедуру общего модуля которая будет проверять и при необходимости очищать запрещенный товар. |
|||
24
Инстанс
27.06.24
✎
12:22
|
Да на клиенте нельзя что ли выудить имя формы. Это если так.
|
|||
25
Инстанс
27.06.24
✎
12:24
|
ааааа
|
|||
26
Инстанс
27.06.24
✎
12:29
|
Я понял задачу
|
|||
27
VoditelKobyly
27.06.24
✎
12:30
|
(23) В форме выбора задача уже реализована.Теперь нужно, что-то с поиском по строке...
Там я докопался до ВладельцаФормы в цикле как предлагал Инстанс. Она на клиенте открывается... |
|||
28
VoditelKobyly
27.06.24
✎
12:32
|
(26) Поиск номенклатуры идет во многих документах. Для некоторых типов документов нужно сделать недоступным выбор номенклатуры из определенных групп. Все настройки в регистре.
|
|||
29
VoditelKobyly
27.06.24
✎
12:34
|
Хочется сделать в одном месте, чтобы не менять все формы документов...
|
|||
30
Мультук
гуру
27.06.24
✎
12:37
|
(28)
1) Просто запрети запись/проведение документа с "плохой" номенклатурой 2) Для особо одаренных условное оформление для такой номенклатуры в таб.части товары Иначе а) Ищем документ с "плохой номенклатурой" копируем б) Если его нет, создаем документ, где "плохая" номенклатура может быть, используем типовой механизм копирование/вставка строк в) Импорт г) Я уверен пользователи еще что-нибудь придумают |
|||
31
VoditelKobyly
27.06.24
✎
12:42
|
(30) Что пункт 1, что 2 -это опять же исправления во всех документах
|
|||
32
Инстанс
27.06.24
✎
12:42
|
Не, не могу через ДанныеВыбора сделать
|
|||
33
Инстанс
27.06.24
✎
12:43
|
Логику надо делать
|
|||
34
Повелитель 1С
27.06.24
✎
12:53
|
(27) В принципе тебе не нужно передавать владельца формы. Просто в нужных элементах форм / реквизитах объектов пропиши в параметры выбора МойХитрыйПараметрВыбора. Его в обработчике события обрабатывай.
|
|||
35
Мультук
гуру
27.06.24
✎
12:54
|
(31)
1) Есть такая хрень как подписка на события, слышали ? 2) В ЕРП копать в сторону вызова СобытияФорм.ПриСозданииНаСервере(..) а далее в МодификацияКонфигурацииПереопределяемый.ПриСозданииНаСервере(..) и модифицируйте формы "почти какие хотите" в одном месте. |
|||
36
alex_kld_2024
27.06.24
✎
13:48
|
Можно сделать так:
В Форме документа на поле наложить параметры выбора Отбор.МоиОграничения В Модуле менеджера Процедура ОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбработка) Если Параметры.Отбор.Свойство("МоиОграничения") Тогда СтрокаПоиска = Параметры.СтрокаПоиска; СтандартнаяОбработка = Ложь; ...... |
|||
37
VoditelKobyly
28.06.24
✎
04:01
|
Спасибо всем кто поучаствовал. Похоже задача решается только исправлением кодов всех документов. Решение (31) тоже не совсем то, так как не учитывает, что одновременно может быть открыто несколько разных типов документов и ввод идет поочередно, то в один, то в другой. Перспектива заводить глобальные переменные и пытаться отслеживать активный документ, в котором происходит ввод меня тоже не очень вдохновляет. Скорее всего соберу весь список необходимых типов и буду вносить изменения в каждый из них, ну или по мере надобности. Благо, что есть механизм расширений...
|
|||
38
VoditelKobyly
28.06.24
✎
05:24
|
(35) Пошел по этому пути.
(36) и по этому.. В процедуре СобытияФорм.ПриСозданииНаСервере(..) устанавливаю свой дополнительный параметр выбора для элемента формы. Если во всех формах названия полей Номенклатуры будет одинаковым, то вроде как проблем не возникнет. Если нет, то потом будем добавлять названия полей... |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |