Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

заимствовать переменную в расширение?

заимствовать переменную в расширение?
Я
   tired
 
25.06.20 - 07:25
в начале модуля формы:

&НаКлиенте
Перем ОткрытаФормаВыбораИсполнителя;  // Признак того, что исполнитель выбирается из формы, а не быстрым вводом

эта переменная используется в том числе в одной из процедур этого же модуля.

пытаюсь изменить эту процедуру в расширении конфигурации, но вылазит ошибка:

Переменная не определена (ОткрытаФормаВыбораИсполнителя)

и как тут быть?
   ASU_Diamond
 
1 - 25.06.20 - 07:56
Добавь префикс к имени переменной для расширения
   Галахад
 
2 - 25.06.20 - 08:11
Код, наверное стоит показать.
   МимохожийОднако
 
3 - 25.06.20 - 08:18
Переменную размести не в процедуре, а в модуле.
   Вафель
 
4 - 25.06.20 - 08:19
а если на переменой нажать пкм и добавить в расширение
   Галахад
 
5 - 25.06.20 - 08:28
(4) Гм. А чо так можно было?
   tired
 
6 - 25.06.20 - 08:28
(1) Переменная не определена (Правка_ОткрытаФормаВыбораИсполнителя)

Или переменную тоже надо каким-то образом заимствовать?
   tired
 
7 - 25.06.20 - 08:31
(4) "Добавить в расширение" неактивно.
   tired
 
8 - 25.06.20 - 08:35
(3) я переменную не размещаю. она - в основной конфигурации (только для чтения). я делаю изменения через расширение.
   PuhUfa
 
9 - 25.06.20 - 08:39
(0) >>но вылазит ошибка: Переменная не определена (ОткрытаФормаВыбораИсполнителя)
Вылазит когда?
   tired
 
10 - 25.06.20 - 08:51
(9) при попытке сохранения изменений в расширение. если я её игнорирую, и изменения всё равно сохраняю и обновляю конфигурацию, то и в обычном режиме при открытии формы жалуется на то же и форма не появляется.
   PuhUfa
 
11 - 25.06.20 - 09:04
(10) Сделал сейчас у себя на 8.3.15.1830. Даже синтаксис не выдал ошибок.
   tired
 
12 - 25.06.20 - 09:47
(11) у нас 8.3.16.1148
   tired
 
13 - 25.06.20 - 10:26
(2) &Вместо("ИсполнителиИсполнительПриИзменении")
Процедура Правка_ИсполнителиИсполнительПриИзменении(Элемент)
    Если ОткрытаФормаВыбораИсполнителя = Истина Тогда
        Возврат;
    КонецЕсли;
    
    СтрокаТЧ = Элементы.ИсполнителиПроведенияМО.ТекущиеДанные;
    ОсновнойОбъектАдресации = Неопределено;
    ДополнительныйОбъектАдресации = Неопределено;
    
    Если ТипЗнч(СтрокаТЧ.Исполнитель) = Тип("СправочникСсылка.РолиИсполнителей") И ЗначениеЗаполнено(СтрокаТЧ.Исполнитель) Тогда 
        Если ИспользуетсяСОбъектамиАдресации(СтрокаТЧ.Исполнитель) Тогда 
            КонтекстВыбора = "ИсполнительПриИзменении";
            ПараметрыФормы = Новый Структура;
            ПараметрыФормы.Вставить("РольИсполнителя", СтрокаТЧ.Исполнитель);
            ПараметрыФормы.Вставить("ОсновнойОбъектАдресации", ОсновнойОбъектАдресации);
            ПараметрыФормы.Вставить("ДополнительныйОбъектАдресации", ДополнительныйОбъектАдресации);
            ОткрытьФорму("ОбщаяФорма.ВыборРолиИсполнителя", ПараметрыФормы, ЭтотОбъект);
            Возврат;
        КонецЕсли;
    КонецЕсли;
КонецПроцедуры
   tired
 
14 - 25.06.20 - 10:28
почему-то первая строка исчезла:

&Вместо("ИсполнителиИсполнительПриИзменении")
   tired
 
15 - 25.06.20 - 11:39
кстати, ещё жалуется на это:

Процедура или функция с указанным именем не определена (ОткрытьФорму)
   Галахад
 
16 - 25.06.20 - 12:01
А если вставить:
#Если Сервер Тогда

Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Тут что-то не так;
Сообщение.Поле = Сообщить();
#КонецЕсли
   tired
 
17 - 25.06.20 - 12:27
(16) Обращение к процедуре как к функции (Сообщить)
   Галахад
 
18 - 25.06.20 - 12:43
(16) Прогнал.

#Если Сервер Тогда


Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Тут что-то не так;
Сообщение.Сообщить();
#КонецЕсли
   tired
 
19 - 25.06.20 - 12:50
короче, я заимствовал обработчик как процедуру, а надо было на обработчике основной конфигурации из контекстного меню "добавить в расширение". проблема решена. всем - спасибо за участие!

Список тем форума
Рекламное место пустует  Рекламное место пустует
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух.
Фредерик Брукс-младший
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.