Имя: Пароль:
1C
1С v8
Ошибка которой "нет"
0 ammorf
 
28.08.17
12:03
Не типовая БП 1.6. Доработаная и переработанная. Платформа 8.3.7.2008. Клиент-Сервер.
Столкнулся с такой странной ошибкой. При вызове из документа или из списка любого вида стандартной команды показать Структуру подчиненности, вылетает ошибка которая ссылается на процедуру в общем модуле что она не определена, хотя она явно указана в том же модуле. При попытке отловить ее режимом остановки по ошибке, она снова вылетает останов не срабатывает. Устанавливаю точку останова, но опять же на точке не останавливается вылетает ошибка. Причем эта процедура никак по идее не завязана на работу структуры подчиненности. Я даже прошелся глобальным поискам на всякий случай, проверил.
Более того, возникает она под любым пользователем. Чистка кеша в AppData/Local/1C не дала результатов. Может кто сталкивался с подобным? Подскажите куда рыть?)))
1 VladZ
 
28.08.17
12:04
Либо общий модуль недоступен. Либо процедура недоступна.
2 ammorf
 
28.08.17
12:07
(1) А за каким он ее вызывает вообще? Да и нет ни одного места в коде (кроме модуля справочник одного) который вызывал бы эту процедуру..
3 aka AMIGO
 
28.08.17
12:10
ИМХО - процедура указана в Свойствах: либо кнопки, либо реквизита, либо еще чего на форме.
4 ammorf
 
28.08.17
12:12
Вот тут он заваливается. В процедуру в модуле не заходит. Просто валится в ошибку.

Таблица = ПолныеПрава.ПолучитьСписокПодчиненныхДокументов(ТекущийДокумент,мКэшПраваДоступаКМетаданным);

Ошибка которая валит вот:
{ОбщийМодуль.ОбщегоНазначения(4574,8)}: Процедура или функция с указанным именем не определена (ПолучитьSIDСтудента)
    SID = <<?>>ПолучитьSIDСтудента(Студ);
5 FIXXXL
 
28.08.17
12:35
(4) клиент-сервер проверь, кто на ком стоит, откуда вызов идет
6 Numerus Mikhail
 
28.08.17
12:36
(4) возможно там кто-то поставил какие-нибудь директивы типа &НаКлиенте или &НаСервере? Убери их
7 arishkaKlimova
 
28.08.17
12:38
(4) Может быть так, что в модуле документа указана эта функция. И когда идёт инициализация, то он застревает на этой функции.

Был у меня такой косяк: в модуле справочника было обращение к функции, которой не существовало, но это не мешало, видимо, работе до тех пор, пока я не попыталась получить ссылку в виде строки (т.е. вызвать функцию Строка(СсылкаНаСправочник)). Вот тут то он у меня и выдал ошибку.
8 Serg_1960
 
28.08.17
12:41
(4) Не обязательно "заходить" в процедуру. Достаточно того, что эта ошибка зафиксирована при компиляции модуля - любое обращение к модулю --> сообщение об ошибке. В конфигураторе зайди в модуль и проверь.
9 ammorf
 
28.08.17
13:01
Кажется нащупал. У меня сама функция в модуле была завернута в препроцессор #Если Клиент Тогда. А процедура из которой вызывалась нет. Видимо по этому такая байда и получилась. Странно конечно, раньше такого не наблюдалось. Правда в начале года обновили платформу. Но пожаловались только сейчас...
10 Адинэснег
 
28.08.17
14:38
(9) раньше файловая была, не?
11 ammorf
 
28.08.17
15:22
(10) Давно уже не файловая. Лет 5-6.
12 Numerus Mikhail
 
28.08.17
15:22
(11) режим совместимости меняли?
13 Митяйский
 
28.08.17
16:01
ПолучитьSIDСтудента

полюбас Студента где-то начинается с английской C вместо русской С
14 oslokot
 
28.08.17
16:11
(0) [Чистка кеша в AppData/Local/1C не дала результатов.]

здесь тоже почистил?  \AppData\Roaming\1C
15 ammorf
 
28.08.17
17:41
Убрал Препроцессор проблема исчезла..
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший