|
Альфа-Авто Процедура ОрганизацияПодразделениеПриИзменении(Элемент) | ☑ | ||
---|---|---|---|---|
0
Mikhail Volkov
17.11.19
✎
15:31
|
В формах документов Альфа-Авто есть элемент для открытия формы общих реквизитов: Организация, подразделение компании, документа-основания, менеджер и автор документа. Его тип значения СписокЗначений: СправочникСсылка.Организации, СправочникСсылка.ПодразделенияКомпании. Имеется событие при изменении и Процедура ОрганизацияПодразделениеПриИзменении(Элемент), но она срабатывает только при изменении Организации или подразделении компании. А при изменении документа-основания нет. Как сделать чтобы срабатывала?
|
|||
1
Mikhail Volkov
18.11.19
✎
08:06
|
В СписокЗначений добавлял основание ДокументСсылка.ЗаказНаряд - не помогло.
|
|||
2
_stay true_
18.11.19
✎
08:15
|
(1) Вангую: вывести на форму этот реквизит и определить ему событие "ПриИзменении"?
|
|||
3
Mikhail Volkov
18.11.19
✎
09:23
|
(2) Это самое простое. Но не хотелось бы, тогда придется его убрать (запретить доступ) с формы общих реквизитов.
Почему событие "ПриИзменении" не срабатывает при изменении элемента формы ОрганизацияПодразделение, по которому открывается форма общих реквизитов? |
|||
4
hhhh
18.11.19
✎
09:53
|
(3) наверно потому что в элементе формы ОрганизацияПодразделение прописано это событие. ПОэтому оно срабатывает.
|
|||
5
HawkEye
18.11.19
✎
10:27
|
(0) определить событие ПриИзменении документаОснования, в чем проблема то?
|
|||
6
Mikhail Volkov
18.11.19
✎
10:45
|
(5) Реквизита ДокументОснование нет на форме, он на форме общих реквизитов.
(4) Срабатывает только при изменении реквизитов Организация и Подразделение, а при изменении других общих реквизитов нет. |
|||
7
hhhh
18.11.19
✎
11:15
|
(6) значит там прописано это событие. чудес не бывает
|
|||
8
HawkEye
18.11.19
✎
11:17
|
(6) я в курсе, за тебя открыл и посмотрел...
|
|||
9
Mikhail Volkov
18.11.19
✎
11:31
|
(7) Вопрос: почему событие "ПриИзменении" не срабатывает при изменении элемента формы ОрганизацияПодразделение? Ставлю в процедуру ОрганизацияПодразделениеПриИзменении(Элемент) точку останова, и никакой реакции!?
|
|||
10
HawkEye
18.11.19
✎
12:03
|
(9) может потому, что ПриНачалеИзменения стоит СтандартнаяОбработка = Ложь;?
|
|||
11
Mikhail Volkov
18.11.19
✎
13:06
|
(10) Да, процедуре дкОрганизацияПодразделениеНачалоВыбора(Элемент, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; Но при изменении Организации или подразделении компании она же срабатывает!?
|
|||
12
Kondarat
18.11.19
✎
13:09
|
(11) А общую форму "ВыборОбщихРеквизитов" уже смотрел?
|
|||
13
HawkEye
18.11.19
✎
13:09
|
(11) ну так у тебя же есть отладчик )))
|
|||
14
Mikhail Volkov
18.11.19
✎
14:25
|
(12) Да, по нажатию ОК измененные общие реквизиты передаются в документ. Но мне еще кое что надо сделать при изменении ДокументОснование, при чем только в этом типе документа.
(13) Им и смотрю (9). |
|||
15
Ёпрст
18.11.19
✎
14:28
|
расширения есть ?
|
|||
16
Ёпрст
18.11.19
✎
14:29
|
события в свойствах формы назначены хоть ?
|
|||
17
Kondarat
18.11.19
✎
14:32
|
(14) И в чем проблема?
Попытка Если ВладелецФормыДокументОснование<>ДокументОснование Тогда ВладелецОбъект.ДокументОснование=ДокументОснование; ВладелецОбъект.ОбработкаРеквизита("ДокументОснование",,ВладелецФорма); КонецЕсли; Исключение КонецПопытки; Сделай в модуле документа твоего типа в процедуре ОбработкаРеквизита(...) реакцию на ДокументОснование |
|||
18
Mikhail Volkov
18.11.19
✎
14:56
|
(15) Нет
(16) События всей формы? Или только элемента формы ОрганизацияПодразделение: НачалоВыбора и ПриИзменении. (17) Пришлось так и сделать, но вопрос остался... |
|||
19
Mikhail Volkov
19.11.19
✎
11:04
|
(10) Значит основная причина СтандартнаяОбработка = Ложь в обработчике НачалоВыбора этого элемента формы? Но не смотря на это в других документах обработчик события ПриИзменении срабатывает, правда при изменении только организации или подразделении. Например, в Выписке:
// изменение "Организации" и "Подразделения" Процедура ОрганизацияПодразделениеПриИзменении(Элемент) Если обЗначениеНеЗаполнено(БанковскийСчет) Тогда БанковскийСчет = Организация.ОсновнойБанковскийСчет; ИначеЕсли БанковскийСчет.Владелец <> Организация Тогда БанковскийСчет = Организация.ОсновнойБанковскийСчет; КонецЕсли; КонецПроцедуры // ОрганизацияПодразделениеПриИзменении() |
|||
20
Mikhail Volkov
22.11.19
✎
12:12
|
(10) Странно, во многих формах в обработчиках НачалоВыбора СтандартнаяОбработка = Ложь; например, при использовании Отбора, но обработчики ПриИзменении срабатывают!?
|
|||
21
Mikhail Volkov
22.11.19
✎
13:57
|
А еще вопрос: обработчике НачалоВыбора делаю отбор:
СтандартнаяОбработка = Ложь; ФормаВыбора = Документы.ЗаказНаряд.ПолучитьФормуВыбора(,Элемент); ФормаВыбора.Отбор.Ссылка.Использование = Истина; ФормаВыбора.Отбор.Ссылка.ВидСравнения = ВидСравнения.ВСписке; ФормаВыбора.Отбор.Ссылка.Значение = СписокЗаказНарядов; ФормаВыбора.Открыть(); Как в ФормаВыбора отключить/включить видимость некоторых колонок? |
|||
22
Mikhail Volkov
22.11.19
✎
18:07
|
Так работает:
СтандартнаяОбработка = Ложь; ФормаВыбора = Документы.ЗаказНаряд.ПолучитьФормуВыбора(,Элемент); ФормаВыбора.ЭлементыФормы.Список.Колонки.Комментарий.Видимость = Ложь; ФормаВыбора.ЭлементыФормы.Список.Колонки.РаботыСтороннихОрганизаций.Видимость = Истина; ФормаВыбора.Отбор.Ссылка.Использование = Истина; ФормаВыбора.Отбор.Ссылка.ВидСравнения = ВидСравнения.ВСписке; ФормаВыбора.Отбор.Ссылка.Значение = СписокЗаказНарядов; ФормаВыбора.Открыть(); Но неприятность: отключенные колонки в ФормаВыбора остаются отключенными в ФормаСписка. Где-то эти настройки сохраняются? Надо бы сделать, чтобы после открытия ФормаВыбора не сохранялись... |
|||
23
Mikhail Volkov
23.11.19
✎
09:30
|
Ответ v8: v8: Где хранятся настройки форм в серверной 1С ничего не дал. Отключать видимость колонок не обязательно, отключал для того, чтобы добавленная в конце колонка РаботыСтороннихОрганизаций видна была. Просто передвинул ее ближе к началу, и снял с нее Видимость, ИзменятьНастройку, ИзменятьВидимость. Теперь в ФормаСписка она не видна, только в ФормаВыбора.
|
|||
24
Mikhail Volkov
27.11.19
✎
12:13
|
(20) Все же, отчего зависит срабатывание обработчика ПриИзменении? Специально комментирую СтандартнаяОбработка = Ложь; в обработчике НачалоВыбора, но обработчик ПриИзменении не срабатывает!?
|
|||
25
hhhh
27.11.19
✎
12:30
|
(24) ОбработкаВыбора пробуйте. Вообще-то надо на оба события заморочиться
|
|||
26
Mikhail Volkov
27.11.19
✎
14:02
|
(25) ОбработкаВыбора в моем случае отсутствует.
|
|||
27
Mikhail Volkov
28.11.19
✎
07:39
|
А вот другой случай: документ Заказ-наряд имеет табличную часть Исполнители. Поле ввода Исполнитель имеет события: НачалоВыбора и ПриИзменении:
//Изменение исполнителя Процедура ИсполнителиИсполнительПриИзменении(Элемент) Если обЗначениеНеЗаполнено(ЭлементыФормы.Исполнители.ТекущаяСтрока.Цех) Тогда Если НЕ обЗначениеНеЗаполнено(Элемент.Значение.Цех) Тогда ЭлементыФормы.Исполнители.ТекущаяСтрока.Цех=Элемент.Значение.Цех; Иначе ЭлементыФормы.Исполнители.ТекущаяСтрока.Цех=Цех; КонецЕсли; КонецЕсли; КонецПроцедуры //Начало выбора исполнителя Процедура ИсполнителиИсполнительНачалоВыбора(Элемент, СтандартнаяОбработка) СтандартнаяОбработка=Ложь; : Не я их вставлял, Рарус! Процедура ИсполнителиИсполнительПриИзменении(Элемент) не работает, даже при комментировании СтандартнаяОбработка=Ложь; Тогда зачем она? |
|||
28
Mikhail Volkov
28.11.19
✎
14:53
|
По поводу СтандартнаяОбработка = Ложь отключает обработку ответили на https://forum.infostart.ru/forum9/topic96591/ (18):
СтандартнаяОбработка=Ложь; подразумевает, что форма будет открыта через "ОткрытьФорму(.....) с какими нибудь доп.параметрами, при этом подразумевается, что параметр ВЛАДЕЛЕЦ будет заполнент т.е "ОткрытьФорму(ИмяФормы, Параметры, Элемент, .....)" , что бы система знала куда вернуться... Если ВЛАДЕЛЕЦ пустой то и вызова "ПриИзменении" не будет. |
|||
29
Mikhail Volkov
29.11.19
✎
12:28
|
Сделал как подсказали https://forum.infostart.ru/forum9/topic96591/#message2341294, и процедура ИсполнителиИсполнительПриИзменении(Элемент) заработала!!! Не ожидал таких косяков от Раруса.
Но это одна из причин не срабатывания обработчика ПриИзменении. А как по 1-му вопросу (0), там нет никакого ВЛАДЕЛЕЦа. В одних документах процедура ОрганизацияПодразделениеПриИзменении(Элемент) работает, в других нет? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |