Имя: Пароль:
1C
1С v8
Не отрабатывает код
,
0 MIV 91
 
11.01.22
15:41
Добрый день, подскажите почему код в тестовой базе работает на ура, переношу его на рабочую, а он не отрабатывает в принципе?

&Перед("ПередЗаписью")
Процедура РасшАвтоподстановки_ПередЗаписью(Отказ)
    Если ВидДокумента = Справочники.ВидыИсходящихДокументов.НайтиПоНаименованию("Исходящее письмо") Тогда
        Если НЕ ЗначениеЗаполнено(Подписал) Тогда
            Отказ = Истина;
            Сообщение = Новый СообщениеПользователю;
            Сообщение.Текст = "Заполните поле ""Подписал""";
            Сообщение.Сообщить();
        КонецЕсли;
        Если БДопСогласующие.Количество() < 1 Тогда
            Отказ = Истина;
            Сообщение = Новый СообщениеПользователю;
            Сообщение.Текст = "Укажите хотя бы одного дополнительного согласующего!";
            Сообщение.Сообщить();    
        КонецЕсли;
    КонецЕсли;
        
КонецПроцедуры
1 dubolom
 
11.01.22
15:42
У расширения безопасный режим в рабочей отключен?
2 MIV 91
 
11.01.22
15:44
(1) Ага
3 MIV 91
 
11.01.22
15:45
(1) На тестовой, которая в файловом варианте все на ура, рабочая точно такая же, но только клиент-серверная. Почему код игнорится, не пойму
4 dubolom
 
11.01.22
15:46
(3) Может, просто отладка на сервере не настроена?
5 MIV 91
 
11.01.22
15:48
(4) Допустим, но она мне и не нужна, я знаю что код исправен, мне не зачем его отлаживать
6 dubolom
 
11.01.22
15:49
(5) Справочники.ВидыИсходящихДокументов.НайтиПоНаименованию("Исходящее письмо") - неплохо бы посмотреть, чему это равно в отладчике.
7 dubolom
 
11.01.22
15:52
Вообще с поиском по наименованию всегда всё ненадёжно.
8 MIV 91
 
11.01.22
15:54
Ссылку возвращяет, я смотрел по консольке
9 dubolom
 
11.01.22
15:55
(8) В любом случае отладчиком ошибка, скорее всего, поймается.
10 acht
 
11.01.22
15:55
Это в модуле чего код?
11 MIV 91
 
11.01.22
16:00
(9) ее нет в том то и дело
12 MIV 91
 
11.01.22
16:00
(10) справочник исходящие докумены
13 Мультук
 
гуру
11.01.22
16:00
(0) Сократите код до

&Перед("ПередЗаписью")
Процедура РасшАвтоподстановки_ПередЗаписью(Отказ)
     Отказ = Истина;
КонецПроцедуры

Работает ?
14 acht
 
11.01.22
16:02
(12) Модуль объекта или формы?
15 MIV 91
 
11.01.22
16:03
(14) Объекта
16 dubolom
 
11.01.22
16:03
(11) Не отрабатывает же.
Значит, есть.
17 MIV 91
 
11.01.22
16:04
Вроде разобрался, сменил на запрос

Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ВидыИсходящихДокументов.Ссылка КАК Ссылка
        |ИЗ
        |    Справочник.ВидыИсходящихДокументов КАК ВидыИсходящихДокументов
        |ГДЕ
        |    ВидыИсходящихДокументов.Наименование = &Наименование";
    
    Запрос.УстановитьПараметр("Наименование", "Исходящее письмо");
    
    Выборка = Запрос.Выполнить().Выбрать();    
    Выборка.Следующий();    
    
    Если ВидДокумента =  Выборка.Ссылка Тогда
18 MIV 91
 
11.01.22
16:04
(16) Согласен, но!!!! в тестовой нет проблем, сам не пойму
19 MIV 91
 
11.01.22
16:05
(16) Может меня обманули, и на каникулах что то в базе поменяли
20 dubolom
 
11.01.22
16:05
(17) Два одноименных элемента "Исходящее письмо"?
21 acht
 
11.01.22
16:07
(19) У НайтиПоНаименованию есть еще и второй параметр
22 MIV 91
 
11.01.22
16:09
(21) Знаю, но раньше не было таких проблем никогда
23 acht
 
11.01.22
16:11
(22) Теперь есть. Этого достаточно.
24 dubolom
 
11.01.22
16:12
(22) Всё когда-нибудь бывает в первый раз:)
К наименованию лучше по возможности вообще не привязываться, а, если уж привязываешься, исключить все двусмысленности.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн