![]() |
|
v7: Напомните, как победить фичу 77 при выборе реквизита ТЧ ссылочного типа | ☑ | ||
---|---|---|---|---|
0
2S
15.03.20
✎
21:43
|
срабатывает дважды. Первый раз - при выборе как и положено, второй - перед окончанием редактирования строки, когда пытаюсь снять фокус с поля таблицы
вот элементарный код Процедура ПриВыбореПартии() Если Материал.Выбран() = 1 Тогда Если Вопрос("Какой-то нужный вопрос. Продолжить?", "Да+Нет") = "Да" Тогда ТекМатериал = СоздатьОбъект("Справочник.Материалы"); ТекМатериал.НайтиЭлемент(Материал); //чего-то делаем ТекМатериал.Записать(); Форма.Обновить(); КонецЕсли; КонецЕсли; КонецПроцедуры |
|||
1
Garykom
гуру
15.03.20
✎
22:07
|
(0) Условием победи
|
|||
2
Garykom
гуру
15.03.20
✎
22:07
|
(1)+ Через Перем
|
|||
3
Злопчинский
15.03.20
✎
22:08
|
пока немного в сторону...
меня напрочь вымораживают много этажные конструкции. в которых не поймешь что делается пока не дойдешь до конца. я (имхо) пишу линейнее . Процедура ПриВыбореПартии() Если Материал.Выбран() = 0 Тогда Возврат; КонецЕсли; //уже все ясно Если Вопрос("Какой-то нужный вопрос. Продолжить?", "Да+Нет") <> "Да" Тогда Возврат; КонецЕсли; //уже все ясно ТекМатериал = СоздатьОбъект("Справочник.Материалы"); ТекМатериал.НайтиЭлемент(Материал); //чего-то делаем ТекМатериал.Записать(); Форма.Обновить(); //это мне сильно не нравится КонецПроцедуры |
|||
4
Злопчинский
15.03.20
✎
22:09
|
"перед оконанием" - нет такого, есть после окончания редактирования, когда фокус ушел
|
|||
5
Злопчинский
15.03.20
✎
22:10
|
(0) ПриВыбореПартии() - отрабатывает на последнем реквизите ввода по строке?
|
|||
6
2S
15.03.20
✎
22:13
|
(3) Сергей, те же яйца
Форма.Обновить не влияет, проверено. Нужно программно менять наименование ТМЦ, поэтому и обновляем форму. (5) Да, крайний реквизит в ТЧ, но это тоже не панацея. |
|||
7
2S
15.03.20
✎
22:13
|
(1) не, я помню, была какая-то микстура
|
|||
8
Сияющий в темноте
15.03.20
✎
22:19
|
а почему при выборе,а не при начале выбора?
|
|||
9
Злопчинский
15.03.20
✎
22:21
|
(6) это ж понятно что те же яйца, это ж не по сути проблемы замечание...
|
|||
10
Злопчинский
15.03.20
✎
22:22
|
проверил, действительно 2 раза срабатывает.. занятно, никогда не сталкивался...
. я вообще по строке ввоожу только тривиальные вещи типа "классификаторов". . вводить в форме элемента - не выход? |
|||
11
2S
15.03.20
✎
22:23
|
(8) вооот, что-то похожее на отмену стандартной обработки было...
но уже сделано в лоб, как Garykom посоветовал Процедура ПриНачалеРедактированияСтроки() ПартияВыбрана = 0; КонецПроцедуры Процедура ПриВыбореПартии() Если (ПартияВыбрана = 0) И (Материал.Выбран() = 1) Тогда и т.д. закрываем, спасибо |
|||
12
Злопчинский
15.03.20
✎
22:24
|
(8) тут хз, ТС же не указывает ПриВыбореПартии() - на каком реквизите и когда отрабатывает и как связан с другими реквизитами.
Если ПриВыбореПартии() - на реквизите "Материал" - то ПриНачале - очевидно - не покатит.. ибо материал еще не выбран/не изменен. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |