|
Расширения. Аннотация &Вместо. | ☑ | ||
---|---|---|---|---|
0
kachesov
03.10.16
✎
21:23
|
1С:Предприятие 8.3 (8.3.9.1818)
Управление торговлей, редакция 11.2 (11.2.3.189) Создал расширение. Добавил в него общий модуль "ПодключаемоеОборудованиеOfflineВызовСервера". Добавил код для перехвата функции "ПриЗагрузкеОтчетаОРозничныхПродажах (Устройство, МассивДанных)": &Вместо("ПриЗагрузкеОтчетаОРозничныхПродажах") Функция Расширение1_ПриЗагрузкеОтчетаОРозничныхПродажах(Устройство, МассивДанных, СуммаД) Экспорт ... КонецФункции В результате получаю ошибку: {Расширение1 ОбщийМодуль.ПодключаемоеОборудованиеOfflineВызовСервера.Модуль(1,9)}: Ожидается определение процедуры/функции &Вместо <<?>>("ПриЗагрузкеОтчетаОРозничныхПродажах") (Проверка: Сервер) Подскажите, в чем может быть проблема? P.S.: Совместимость отключена. |
|||
1
vde69
03.10.16
✎
21:25
|
&Вместо
Функция ПриЗагрузкеОтчетаОРозничныхПродажах(Устройство, МассивДанных, СуммаД) Экспорт ... КонецФункции |
|||
2
kachesov
05.10.16
✎
12:31
|
(1) Так оно просто игнорируется.
Заявлен же формат: &Вместо("Функция") Функция Расш1_Функция(параметры) ... КонецФункции |
|||
3
Fragster
гуру
05.10.16
✎
12:33
|
учитывая Расширения. Режим совместимости. - вероятно режим совместимости расширения < чем 8.3.9
|
|||
4
kachesov
05.10.16
✎
12:38
|
(3) Да, стоит 8.3.6 как и у конфигурации.
Если менять на "Не использовать", получаю ошибку: "РАНЖирение: Режим совместимости расширения конфигурации больше режима совместимости основной конфигурации" |
|||
5
Fragster
гуру
05.10.16
✎
12:39
|
(4) и рыбку съесть и на лошадке покататься не получится
|
|||
6
kachesov
05.10.16
✎
12:41
|
(5) Т.е. для использования аннотации &Вместо необходимо менять режим конфигурации и расширения на "Не использовать"?
|
|||
7
Fragster
гуру
05.10.16
✎
12:43
|
и иметь платформу 8.3.9
|
|||
8
Fragster
гуру
05.10.16
✎
12:44
|
вообще режим совместимости 8.3.9, только он в этой платформе отображается как "не использовать". в 8.3.10 будет выглядеть как 8.3.9
|
|||
9
Feunoir
05.10.16
✎
12:44
|
(4) У тебя должно стоять совместимость "Не использовать" в трёх местах. В самой конфигурации, в расширении и в заимствованном свойстве расширения.
|
|||
10
kachesov
05.10.16
✎
12:51
|
(7) Это само собой)
(9) Всё взлетело! Огромное спасибо! Один побочный эффект: при закрытии программы вылетает окно ошибки "Серверные вызовы при завершении работы запрещены" |
|||
11
kachesov
05.10.16
✎
20:36
|
(9) Подскажите пожалуйста, возможно ли аннотацией &Возврат изменить колличество передаваемых переменных?
Я пишу для замены функции ПриЗагрузкеОтчетаОРозничныхПродажах(Устройство, МассивДанных): &Вместо("ПриЗагрузкеОтчетаОРозничныхПродажах") Функция РАНЖ_ПриЗагрузкеОтчетаОРозничныхПродажах(Устройство, МассивДанных, СуммаД) Экспорт И получаю ошибку: Слишком много фактических параметров ОтчетОРозничныхПродажах = ПодключаемоеОборудованиеOfflineВызовСервера.ПриЗагрузкеОтчетаОРозничныхПродажах( Или есть ли возможность как-то ещё передать переменную в функцию? |
|||
12
Feunoir
05.10.16
✎
20:40
|
(11) Если я правильно понял вопрос, то нет. Количество параметров в замещаемой и замещающей функции должно быть одинаковое.
|
|||
13
kachesov
05.10.16
✎
20:42
|
(12) А передать его иначе незьзя?
Нет ли возможности куда-то записывать переменную в одной функции и вытаскивать её оттуда из другой? |
|||
14
kachesov
05.10.16
✎
20:47
|
(12) Можно конечно записывать её в файл, но это какая-то дикость..
|
|||
15
oleg_km
05.10.16
✎
20:50
|
(13) Один из параметров превратить в структуру. Собственно это и способствовало созданию ООП, когда разрабочики поняли что они гоняют из процедуры в процедуру структуры.
|
|||
16
kachesov
05.10.16
✎
21:09
|
(15) Отлично! Это работает. Спасибо!
|
|||
17
Torquader
05.10.16
✎
21:33
|
(15) Вообще-то, так появился "контекст исполнения".
|
|||
18
oleg_km
05.10.16
✎
23:18
|
(17) Тебе виднее. Я из "фундаментальных" вещей читал только Страуструпа, он примерно так объяснял один из мотивов, побудившие создать классы.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |