Имя: Пароль:
1C
1С v8
План обмена. Выдается ошибка как отловить где она?
Ø (Волшебник 28.09.2017 21:17)
,
0 Босечка
 
28.09.17
11:40
Ошибка при вызове метода контекста (ВыполнитьВыгрузку): Произошла исключительная ситуация (1C:Enterprise 8.3.8.2054): Ошибка инициализации модуля: Документ.ЗаказПоставщику.МодульОбъекта
{Документ.ЗаказПоставщику.МодульОбъекта(1897,127)}: Переменная не определена (РежимДиалогаВопрос)
Захожу в модуль,  а там пустая строка. В обработке заполнения.  Как быть без этого не работает план обмена.
1 Волшебник
 
модератор
28.09.17
11:41
Не в тот модуль заходите
2 Босечка
 
28.09.17
11:43
А в какой надо заходить?
3 Волшебник
 
модератор
28.09.17
11:44
Документ.ЗаказПоставщику.МодульОбъекта
4 Босечка
 
28.09.17
11:44
Как это найти отладчик туда не входит.
5 Босечка
 
28.09.17
11:45
(3)туда и захожу
6 Босечка
 
28.09.17
11:45
там вообще нет РежимДиалогаВопрос
7 aka AMIGO
 
28.09.17
11:47
Щелчок по строке сообщения об ошибке не открывает конфигуратор?
8 Ёпрст
 
28.09.17
11:47
(0)
>>>Захожу в модуль,  а там пустая строка. В обработке заполнения

Куда заходишь ?
Что за пустая строка и хде ?
9 aka AMIGO
 
28.09.17
11:48
(6) Глоб.поиском поищи этот текст в конфигурации
10 Ёпрст
 
28.09.17
11:49
в модуле документа нажимаешь Ctrl+G и вводищь номер строки из ошибки, позиционируешься на ней, исправляешь.
И, задавать вопросы в модуле, не комильфо
11 Босечка
 
28.09.17
11:50
(8)В Документ.ЗаказПоставщику.МодульОбъекта захожу и в 1897,127 пустая строка.
12 Босечка
 
28.09.17
11:50
там ничего нет. Если бы так просто все было.
13 Босечка
 
28.09.17
11:51
в этом модуле это вообще нет.
14 Босечка
 
28.09.17
11:54
Как отладчик там запустить?
15 Numerus Mikhail
 
28.09.17
11:54
(13) почисти кеш
16 aka AMIGO
 
28.09.17
11:58
(14) Не "отладчик", а "отладку"

в левом обрезе/рамке окна модуля пару раз кликаешь мышкой напротив нужной строки останова, появится сфера - точка останова.
Далее запускаешь свой обмен/отчет/обработку/ЧтоУтебяТам..
17 aka AMIGO
 
28.09.17
11:58
ИМХО 100% не тот модуль открыт..
18 drcrasher
 
28.09.17
12:02
(0) кэш, не та конфа, не тот конфигуратор
19 h-sp
 
28.09.17
12:20
(13) может вы к другой базе подключаетесь? а не к этой. Что за процедура "ВыполнитьВыгрузку?
20 ColonelAp4u
 
28.09.17
12:44
Как происходит обмен? подключением к другой базе?
Если да то возможно ошибка на стороне приемника, поищите эту строку в базе куда выгружаете.
21 Босечка
 
28.09.17
12:58
да. Там и ищу. Но все бесполезно.
22 h-sp
 
28.09.17
13:13
(21) ну покажите этот модуль

Документ.ЗаказПоставщику.МодульОбъекта(1897,127)

строка 1897. и в той и в этой базе.
23 aka AMIGO
 
28.09.17
13:35
24 Босечка
 
28.09.17
13:40
(23)Да.
(22)Вот сюда курсор переходит по ошибке
Процедура ПроизвестиОбменДаннымиПоНастройке(СтруктураНастроекОбменаДанными)
    
    // начальные функции инициализации обмена
    РезультатаНачалаОбмена = ВыполнитьДействияПередНачаломОбменаДанными(СтруктураНастроекОбменаДанными);
    Если Не РезультатаНачалаОбмена Тогда
        Возврат;
    КонецЕсли;
    
    // ВЫПОЛНЕНИЕ ОБМЕНА ДАННЫМИ
    ОбработкаОбменаПриемника = Неопределено;
    Попытка
        
        Если СтруктураНастроекОбменаДанными.ДанныеНастройки.OnLineОбмен
            И СтруктураНастроекОбменаДанными.ДанныеНастройки.ТипНастройки = Перечисления.ТипыАвтоматическогоОбменаДанными.ОбменЧерезComСоединение Тогда
            
            // обмен через com соединение
            // выполняем и выгрузку и загрузку данных
            ВыполнитьОбменДаннымиЧерезComСоединение(СтруктураНастроекОбменаДанными, ОбработкаОбменаПриемника);
            
        Иначе
        
            ВыполнитьОбычныйОбменДанными(СтруктураНастроекОбменаДанными);    
            
        КонецЕсли;
        
        // оставшееся действия после обмена данными выполняем
        ВыполнитьДействияПослеЗавершенияОбменаДанными(СтруктураНастроекОбменаДанными, ОбработкаОбменаПриемника);
                
    Исключение
        
        СтрокаОписанияОшибки = ОписаниеОшибки();
        // отмечаем то что обмен произведен
        ЗафиксироватьЗавершениеОбмена(СтруктураНастроекОбменаДанными, СтрокаОписанияОшибки, , ОбработкаОбменаПриемника);
        
        #Если Клиент Тогда
        ЗакрытьФормуОбработкиДанных(СтруктураНастроекОбменаДанными);
        #КонецЕсли
        
        ОбработкаОбменаПриемника = Неопределено;
        
        // прокидываем ошибку дальше
        ВызватьИсключение СтрокаОписанияОшибки;
        
    КонецПопытки;
    
    ОбработкаОбменаПриемника = Неопределено;
        
    #Если Клиент Тогда
        Состояние("");
    #КонецЕсли
    
КонецПроцедуры
25 Босечка
 
28.09.17
13:44
Процедура ОбработкаЗаполнения(Основание)

    ДокументОснование = Основание;
    Если ТипЗнч(Основание) = Тип("ДокументСсылка.Событие") Тогда
        // Заполнение шапки
        КонтактноеЛицоКонтрагента = Основание.КонтактноеЛицо;
        Контрагент     = Основание.Контрагент;
        Организация =     УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "ОсновнаяОрганизация");
        
        ДоговорКонтрагента     = ЗаполнениеДокументов.ПолучитьДоговорПоОрганизацииИКонтрагенту(Организация, Контрагент, мСтруктураПараметровДляПолученияДоговора);
    ИначеЕсли ТипЗнч(Основание) = Тип("ДокументСсылка.ЗаказПокупателя") Тогда
        
        // Заполнение шапки
        ВалютаДокумента                   = Основание.ВалютаДокумента;
        ИспользоватьПлановуюСебестоимость = Основание.ИспользоватьПлановуюСебестоимость;
        ИтогПлановаяСебестоимость         = Основание.ИтогПлановаяСебестоимость;
        Комментарий                       = Основание.Комментарий;
        КратностьВзаиморасчетов           = Основание.КратностьВзаиморасчетов;
        КурсВзаиморасчетов                = Основание.КурсВзаиморасчетов;
        Подразделение                     = Основание.Подразделение;
        СтруктурнаяЕдиница                = Основание.СтруктурнаяЕдиница;
        СуммаВключаетНДС                  = Основание.СуммаВключаетНДС;
        СуммаДокумента                    = Основание.СуммаДокумента;
        УчитыватьНДС                      = Основание.УчитыватьНДС;
        
        Склад = ?(ТипЗнч(Основание.СкладГруппа) = Тип("СправочникСсылка.Склады"), Основание.СкладГруппа, Неопределено);
        Если НЕ ЗначениеЗаполнено(Склад) Тогда
            Склад = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "ОсновнойСклад");
        КонецЕсли;
        #Если Клиент Тогда
        Если НЕ ЗначениеЗаполнено(Склад) Тогда
            ВвестиЗначение(Склад, "Выберите склад", Тип("СправочникСсылка.Склады"));
        КонецЕсли;
        #КонецЕсли
        ОрганизацияКонтрагента = ЗаполнениеДокументов.ПолучитьОрганизациюПоКонтрагенту(Основание.Контрагент);
        Если ЗначениеЗаполнено(ОрганизацияКонтрагента) Тогда
            Контрагент  = ЗаполнениеДокументов.ПолучитьКонтрагентаПоОрганизации( Основание.Организация);
            Организация = ЗаполнениеДокументов.ПолучитьОрганизациюПоКонтрагенту( Основание.Контрагент);
        
            ЗаполнениеДокументов.ПриИзмененииЗначенияКонтрагента(ЭтотОбъект, мСтруктураПараметровДляПолученияДоговора);
            
            СкопироватьТабличнуюЧасть(Основание, "ВозвратнаяТара");
            СкопироватьТабличнуюЧасть(Основание, "Товары");
            СкопироватьТабличнуюЧасть(Основание, "Услуги");

        Иначе
            Организация = Основание.Организация;

            //переносим в документ необеспеченную часть заказа покупателя
            ЗаполнитьТабличнуюЧастьНеобеспеченнойЧастьюЗаказа(Товары, Основание);
            ЗаполнитьТабличнуюЧастьНеобеспеченнойЧастьюЗаказа(ВозвратнаяТара, Основание);

        КонецЕсли;
        
    ИначеЕсли ТипЗнч(Основание) = Тип("ДокументСсылка.СчетНаОплатуПоставщика") Тогда

        // Заполнение шапки
        ВалютаДокумента                   = Основание.ВалютаДокумента;
        ДатаОплаты                        = Основание.ДатаОплаты;
        ДатаПоступления                   = Основание.ДатаПоступления;
        ДоговорКонтрагента                = Основание.ДоговорКонтрагента;
        ИспользоватьПлановуюСебестоимость = Основание.ИспользоватьПлановуюСебестоимость;
        ИтогПлановаяСебестоимость         = Основание.ИтогПлановаяСебестоимость;
        КратностьВзаиморасчетов           = Основание.КратностьВзаиморасчетов;
        Комментарий                       = Основание.Комментарий;
        КонтактноеЛицоКонтрагента         = Основание.КонтактноеЛицоКонтрагента;
        Контрагент                        = Основание.Контрагент;
        КурсВзаиморасчетов                = Основание.КурсВзаиморасчетов;
        Организация                       = Основание.Организация;
        Ответственный                     = Основание.Ответственный;
        Подразделение                     = Основание.Подразделение;
        Склад                             = Основание.Склад;
        СтруктурнаяЕдиница                = Основание.СтруктурнаяЕдиница;
        СуммаВключаетНДС                  = Основание.СуммаВключаетНДС;
        СуммаДокумента                    = Основание.СуммаДокумента;
        ТипЦен                            = Основание.ТипЦен;
        УчитыватьНДС                      = Основание.УчитыватьНДС;
        
        УправлениеЗаказами.УстановитьДатуОплатыПоДоговору(ЭтотОбъект);

        Для Каждого ТекСтрокаВозвратнаяТара Из Основание.ВозвратнаяТара Цикл
            НоваяСтрока = ВозвратнаяТара.Добавить();
            ЗаполнитьЗначенияСвойств(НоваяСтрока, ТекСтрокаВозвратнаяТара);
        КонецЦикла;
        Для Каждого ТекСтрокаТовары Из Основание.Товары Цикл
            НоваяСтрока = Товары.Добавить();
            ЗаполнитьЗначенияСвойств(НоваяСтрока, ТекСтрокаТовары);
        КонецЦикла;
        Для Каждого ТекСтрокаУслуги Из Основание.Услуги Цикл
            НоваяСтрока = Услуги.Добавить();
            ЗаполнитьЗначенияСвойств(НоваяСтрока, ТекСтрокаУслуги);
        КонецЦикла;
    // Слепанов Р.И. 2016.10.11. Начало
    ИначеЕсли ТипЗнч(Основание) = Тип("ДокументСсылка.ЗаказТранспорта") Тогда
        
        // Заполнение шапки
        Организация                       = Основание.Организация;
        Контрагент                        = Основание.Контрагент;
        ВалютаДокумента                   = мВалютаРегламентированногоУчета;
        ЗаполнениеДокументов.ПриИзмененииЗначенияКонтрагента(ЭтотОбъект, мСтруктураПараметровДляПолученияДоговора);
        
        ЗаполнениеДокументов.ЗаполнитьШапкуДокумента(ЭтотОбъект, глЗначениеПеременной("глТекущийПользователь"), мВалютаРегламентированногоУчета, "Покупка", Основание, Основание, мСтруктураПараметровДляПолученияДоговора);
        
        НоваяСтрока = ЭтотОбъект.Услуги.Добавить();
        НоваяСтрока.Номенклатура = Справочники.Номенклатура.НайтиПоКоду("00000000929");
        ОбработкаТабличныхЧастей.ЗаполнитьСтавкуНДСТабЧасти(НоваяСтрока, ЭтотОбъект, "Приобретение");
        
        НоваяСтрока.Содержание = "Заказ транспорта № " + СокрЛП(Основание.Номер) + " от " + Формат(Основание.Дата, "ДЛФ=Д");
        НоваяСтрока.Количество = 1;
        НоваяСтрока.Цена = Основание.СуммаДокумента;
        
        ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти(НоваяСтрока, ЭтотОбъект);
        ОбработкаТабличныхЧастей.РассчитатьСуммуНДСТабЧасти(НоваяСтрока, ЭтотОбъект);
        
    // Слепанов Р.И. 2016.10.11. Окончание
    КонецЕсли;

КонецПроцедуры // ОбработкаЗаполнения()

В предпоследней процедуре встает.
26 Босечка
 
28.09.17
13:44
извиняюсь строке
27 Волшебник
 
модератор
28.09.17
13:50
Чистить кэш
28 Босечка
 
28.09.17
13:54
уже почистили. Все тоже самое.
29 h-sp
 
28.09.17
13:56
(26) Слепанов Р.И. виноват
30 h-sp
 
28.09.17
13:57
(28) запустите  Конфигурация-Проверка конфигурации с галкой "внешнее соединение" и "внешнее соединение Клиент-Сервер"
31 Tateossian
 
28.09.17
14:04
РежимДиалогаВопрос = это клиентская процедура, а обмен на сервере происходит.

И однозначно компилируется весь модуль.

Смотрите, есть ли вообще в модуле РежимДиалогаВпрос. По хорошему ее нужно убрать, ну или завернуть в директивы препроцессора #Если Клиент
32 aka AMIGO
 
28.09.17
14:11
И я бы посмотрел еще, что найдет глоб.поиск по конфигурации текста "РежимДиалогаВопрос"
33 Босечка
 
28.09.17
14:16
Я это уже делала. Но везде стоит если клиент
34 Галахад
 
гуру
28.09.17
14:22
А закомментить весь модуль. Временно?
35 Босечка
 
28.09.17
14:51
попробую...
36 mmmarat
 
28.09.17
14:53
(0) Попробуйте весь модуль документа ЗаказПоставщику убрать в условие:

#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда

//код модуля

#КонецЕсли
37 Босечка
 
28.09.17
15:03
(36) Это тоже не помогло.
38 Босечка
 
28.09.17
15:04
комментировала весь модуль все равно не работает
39 h-sp
 
28.09.17
15:07
(38) а в другой базе?
40 mmmarat
 
28.09.17
15:08
(37) Отладка - подключение - автоматическое подключение... галка на фоновые задания.
далее отладка - остановка по  ошибке - останавливаться по ошибке.
Запускаем обмен, смотрим ошибку и место вызова.
41 Босечка
 
28.09.17
15:24
делала так, все равно не работает. Ошибка неизвестно где.
42 Босечка
 
28.09.17
15:25
подставила там в одном месте
#Если клиент
#КонецЕсли
43 h-sp
 
28.09.17
15:52
(41) как это неизвестно? известно. При попытке открыть модуль объекта Заказ Поставщику.
44 h-sp
 
28.09.17
15:53
(41) вы (30) запускали?
45 vicof
 
28.09.17
15:53
Пригласить специалиста уже предлагали?
46 Лефмихалыч
 
28.09.17
16:01
(41) не в той конфигурации смотрите.
47 Босечка
 
28.09.17
17:29
Проблема решилась так. Обмен настроила в другой базе. Там было хоть понятно по каким ошибкам идти, не было пустых строк. Все исправила и все выгрузилось успешно.
48 Босечка
 
28.09.17
17:32
(45) Ты, что ли, главный специалист? Так что же ты ничего не посоветовал? Хамить все могут. А вот дельный совет дают на форумах единицы. Но это не вы.
49 Волшебник
 
модератор
28.09.17
21:17
(48) Не грузите общественность магией.