Имя: Пароль:
1C
 
Ошибка 'ПриУстановкеНовогоНомера' Поле объекта не обнаружено (Организация)
,
0 osipov11789
 
02.05.17
16:24
Добрый день! У меня такая проблема. Перестали проводится документы в 1 с предприятие. При попытке провести документы пишет  
Ошибка при выполнении обработчика - 'ПриУстановкеНовогоНомера'
по причине:
{ОбщийМодуль.ПрефиксацияОбъектовСобытия.Модуль(77)}: Поле объекта не обнаружено (Организация)
        ПрефиксОрганизации = ПолучитьФункциональнуюОпцию("ПрефиксыОрганизаций", Новый Структура("Организация", Источник.Организация));
Привожу полный код модуля



////////////////////////////////////////////////////////////////////////////////
// ЭКСПОРТНЫЕ ВНЕШНИЕ ПРОЦЕДУРЫ

// Устанавливает префикс источника подписки в соответствии с префиксом организации.
// Источник подписки должен содержать
// обязательный реквизит шапки "Организация", тип: "СправочникСсылка.Организации"
//
// Параметры:
//  Источник - Источник события подписки.
//             Любой объект из множества [Справочник, Документ, План видов характеристик, Бизнес процесс, Задача]
// СтандартнаяОбработка - Булево - флаг стандартной обработки подписки
// Префикс - Строка - префикс объекта, который нужно изменить
//
Процедура УстановитьПрефиксОрганизации(Источник, СтандартнаяОбработка, Префикс) Экспорт
    
    УстановитьПрефикс(Источник, Префикс, Ложь, Истина);
    
КонецПроцедуры

// Устанавливает префикс источника подписки в соответствии с префиксом информационной базы.
// Ограничения на реквизиты источника не накладываются
//
// Параметры:
//  Источник - Источник события подписки.
//             Любой объект из множества [Справочник, Документ, План видов характеристик, Бизнес процесс, Задача]
// СтандартнаяОбработка - Булево - флаг стандартной обработки подписки
// Префикс - Строка - префикс объекта, который нужно изменить
//
Процедура УстановитьПрефиксИнформационнойБазы(Источник, СтандартнаяОбработка, Префикс) Экспорт
    
    УстановитьПрефикс(Источник, Префикс, Истина, Ложь);
    
КонецПроцедуры

// Устанавливает префикс источника подписки в соответствии с префиксом информационной базы и префиксом организации.
// Источник подписки должен содержать
// обязательный реквизит шапки "Организация", тип: "СправочникСсылка.Организации"
//
// Параметры:
//  Источник - Источник события подписки.
//             Любой объект из множества [Справочник, Документ, План видов характеристик, Бизнес процесс, Задача]
// СтандартнаяОбработка - Булево - флаг стандартной обработки подписки
// Префикс - Строка - префикс объекта, который нужно изменить
//
Процедура УстановитьПрефиксИнформационнойБазыИОрганизации(Источник, СтандартнаяОбработка, Префикс) Экспорт
    
    УстановитьПрефикс(Источник, Префикс, Истина, Истина);
    
КонецПроцедуры

////////////////////////////////////////////////////////////////////////////////
// ПРОЦЕДУРЫ

Процедура УстановитьПрефикс(Источник, Префикс, УстановитьПрефиксИнформационнойБазы, УстановитьПрефиксОрганизации)
    
    ПрефиксИнформационнойБазы = "";
    ПрефиксОрганизации        = "";
    
    // устанавливаем привилегированный режим
    УстановитьПривилегированныйРежим(Истина);
    
    Если УстановитьПрефиксИнформационнойБазы Тогда
        
        ПрефиксИнформационнойБазы = ПолучитьФункциональнуюОпцию("ПрефиксИнформационнойБазы");
        
        // если функциональная опция ПрефиксИнформационнойБазы не найдена (подсистема Обмен данными не встроена)
        Если ПрефиксИнформационнойБазы = Неопределено Тогда
            
            ПрефиксИнформационнойБазы = "";
            
        КонецЕсли;
        
    КонецЕсли;
    
    Если УстановитьПрефиксОрганизации Тогда
        
        ПрефиксОрганизации = ПолучитьФункциональнуюОпцию("ПрефиксыОрганизаций", Новый Структура("Организация", Источник.Организация));
        
        // если функциональная опция ПрефиксОрганизации не найдена (подсистема Организации не встроена)
        Если ПрефиксОрганизации = Неопределено Тогда
            
            ПрефиксОрганизации = "";
            
        // если задана пустая ссылка на организацию
        ИначеЕсли ТипЗнч(ПрефиксОрганизации) <> Тип("Строка") Тогда
            
            ПрефиксОрганизации = "";
            
        КонецЕсли;
        
    КонецЕсли;
    
    // отключаем привилегированный режим
    УстановитьПривилегированныйРежим(Ложь);
    
    ОсновнойПрефикс = ПрефиксОрганизации + ПрефиксИнформационнойБазы;
    
    Разделитель = ?(ПустаяСтрока(ОсновнойПрефикс), "", "-");
    
    Префикс = ОсновнойПрефикс + Разделитель + Префикс;
    
    // если префикс не задан, то устанавливаем значение по умолчанию
    Если ПустаяСтрока(Префикс) Тогда
        
        Префикс = "";
        
    КонецЕсли;
    
КонецПроцедуры
Очень обидно то, что модуль писал не сам, а разработчик 1 с
Как решить эту проблему
2 FIXXXL
 
02.05.17
16:29
ставь точку останова и смотри что приходит в Источнике в процедуру
3 Asmody
 
02.05.17
16:30
Наверняка источник ошибки кроется вот в этой строке
// Источник подписки должен содержать
// обязательный реквизит шапки "Организация", тип: "СправочникСсылка.Организации"
4 Волшебник
 
модератор
02.05.17
16:30
Источник подписки должен содержать
// обязательный реквизит шапки "Организация", тип: "СправочникСсылка.Организации"
5 Ц_У
 
02.05.17
16:31
В составе подписки объект без реквизита Организация
6 osipov11789
 
02.05.17
16:42
Отладка показывает другое.
Ошибка кроется в строке
Если УстановитьПрефиксОрганизации Тогда
ПрефиксОрганизации = ПолучитьФункциональнуюОпцию("ПрефиксыОрганизаций", Новый Структура("Организация", Источник.Организация));
Пишет поле объекта не обнаружено в данной строке
7 Волшебник
 
модератор
02.05.17
16:43
(6) Значит так и есть
8 osipov11789
 
02.05.17
16:46
Как исправить эту ошибку.
9 Волшебник
 
модератор
02.05.17
16:48
(8)
варианты:
1. добавить реквизит Организация в Источник
2. исключить документ из подписки
3. исправить модуль подписки, предусмотреть такой случай
10 osipov11789
 
02.05.17
17:00
В какой истиочник. Во все документы что ли. Модуля подписки в конфигурации нет. Ошибка происходит при проведении любых документов. Ошибка происходит в общем модуле, который не имеет источников. Модуль называется ПрефиксацияОбъектовСобытия а не модуль подписки.
Как все же решить проблему. Модуля подписки в конфигурации нет.
11 h-sp
 
02.05.17
17:12
(10) вы подписки смотрите, а не модули
12 osipov11789
 
02.05.17
18:46
Сбойный модуль необходимо отключить. Сняв с него все флажки.
Что я и сделал. Докумен6ты стали проводится нормально.
Вообще же существует правило. Если имеется сбойный модуль и Вы не можите найти в нем ошибку самое лучшее его отклчить от системы сняв все флажки.
Тогда сбойный модуль не будет мешать работе системы.
Вот и все.
13 Неверный Параметр И
 
02.05.17
18:52
Спасибо! Старший научный сотрудник херни не посоветует!
14 Волшебник
 
модератор
02.05.17
18:53
(10) У подписки нет модуля, но есть обработчик подписки
15 Волшебник
 
модератор
02.05.17
18:53
(13) Херня получилась. Теперь префиксация по организациям не работает.
16 Неверный Параметр И
 
02.05.17
18:55
(15) Старшему научному сотруднику видней!
17 h-sp
 
02.05.17
19:03
(16) ну, правильно. Если в машине руль не работает, то нужно снять его нахрен. Ездить без руля.
18 FIXXXL
 
04.05.17
15:02
(12) "а чё, так можно было?"
19 JesteR
 
04.05.17
15:13
(12)Спасибо, Михаил Юрьевич. Отличная разминка к пятнице.
20 Лефмихалыч
 
04.05.17
15:17
(0) у какого-то документа нет поля "организация". Надо, чтобы было. Или надо, чтобы не вызывался стандартный метод установки нового номера - ему организация нужна
21 YFedor
 
04.05.17
15:23
(20) Нет, это лишнее. Человек уже решил проблему радикально в (12)
22 Лефмихалыч
 
04.05.17
15:27
(10) >В какой истиочник
это повод пригласить специалиста
23 Ц_У
 
04.05.17
16:00
(21) я бы еще и модуль удалил для верности