Имя: Пароль:
1C
1С v8
Глобальная переменная не определена ...
,
0 zsergey
 
14.06.18
09:37
Всем привет!
Конфа УПП для Казахстана 1.3.15.5
Платформа 8.3.9.2309
Режим: клиент-серверный.

Наткнулся на такой баг, не могу понять в чем дело..

Ситуация такая: при проведении самописного документа создается типовой  документ. Процедура создания/перезаполнения находиться в общем привилегированном модуле, и вызывается в обработке проведения самописного дока. Все нормально, но вылетают ошибки, когда из самописного дока создается типовое "Перемещение ТМЗ":

{Документ.ПеремещениеТоваров.МодульОбъекта(2681,82)}: Переменная не определена (глСписокПрефиксовУзлов)
    Шапка.Параметры.НомерДокумента = ОбщегоНазначения.ПолучитьНомерНаПечать(Ссылка, <<?>>глСписокПрефиксовУзлов);
{Документ.ПеремещениеТоваров.МодульОбъекта(3079,77)}: Переменная не определена (глСписокПрефиксовУзлов)
    Шапка.Параметры.Номер = ОбщегоНазначения.ПолучитьНомерНаПечать(ЭтотОбъект, <<?>>глСписокПрефиксовУзлов);
{Документ.ПеремещениеТоваров.МодульОбъекта(2698,29)}: Процедура или функция с указанным именем не определена (ПолучитьТаблицуСтоимостиТоваров)
        ТаблицаСтоимости        = <<?>>ПолучитьТаблицуСтоимостиТоваров(Ссылка);            
{Документ.ПеремещениеТоваров.МодульОбъекта(2728,13)}: Процедура или функция с указанным именем не определена (ПолучитьСтоимостьТовара)
                Сумма = <<?>>ПолучитьСтоимостьТовара(ТаблицаСтоимости,

Ошибку " Переменная не определена (глСписокПрефиксовУзлов)" я еще могу понять, но какого фига не найдены функции в модуле дока?
но это еще не все.. прикол в том, что таких проблем нет с доком "Оприходование ТМЗ"! Доки типовые не меняли, процедура общая. Что не так?
1 hhhh
 
14.06.18
09:43
(0) ну копай в режимы клиент, сервер.
2 zsergey
 
14.06.18
09:44
Отладка на сервере отключена, могу лишь предположить, что проблема возникает в момент обращения к объекту (Создать/Получить). Переменная "глСписокПрефиксовУзлов" создана на клиенте, тут вроде ошибка объяснима. Но почему такого нет с Оприходыванием?
3 zsergey
 
14.06.18
09:45
"создана на клиенте" т.е. в модуле обычного приложения.
4 hhhh
 
14.06.18
09:46
(3) ну значит  Оприходование ТМЗ работает на клиенте тоже
5 arsik
 
гуру
14.06.18
09:47
Ну я так полагаю, что ты это все без контекста клиента делаешь. А все эти гл... при начале работы приложения в контексте клиента заполняются и существуют.
6 zsergey
 
14.06.18
09:47
(1) что тут копать? если ОМ сделать клиентским, то все гуд, иного не дано.
7 zsergey
 
14.06.18
09:59
(4) не может быть такого
8 Cool_Profi
 
14.06.18
10:01
(7) В толстом - запросто
9 zsergey
 
14.06.18
10:03
(8) Я проверил место вызова привилегированной функции директивами (#Если Клиент/Сервер Тогда ...), контекст в обоих случаях КЛИЕНТСКИЙ !
10 zsergey
 
14.06.18
10:04
ну в сама привилегированная функция работает на сервере ...
11 Cool_Profi
 
14.06.18
10:05
У глСписокПрефиксовУзлов Экспорт есть?
12 zsergey
 
14.06.18
10:05
конэш
13 Cool_Profi
 
14.06.18
10:07
Похоже, в теме появилась черепашка....
14 zsergey
 
14.06.18
10:10
(13) и не говори, даже кэш почистил...
15 unregistered
 
14.06.18
10:11
правильный ответ в посте (1)
я чего-то не понял - а что собственно обсуждаем? проблема в чём?
16 zsergey
 
14.06.18
10:15
в том, что глобальная клиентская переменная в одном случае почему-то доступна на сервере!
17 dezss
 
14.06.18
10:28
(16) ну значит в том случае ее инициализировали на сервере...
18 unregistered
 
14.06.18
10:54
(16) Вот и разберись - где, когда, как и какой код выполняется.
Вместо тебя, не видя самого кода, на форуме сделать это никто не сможет.
19 zsergey
 
14.06.18
11:24
Разобрался...
В общем нифига модули не типовые... были добавлены функции печати самописных печаток,где было обращение к глобальной переменной и эти функции находились не в клиентской части модуля! ) Всем спасибо!
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший