Имя: Пароль:
1C
 
Не срабатывает процедура
,
0 retrowave
 
08.02.24
15:18
Добрый день. Писал обработку для загрузки файлов из Excel в 1С. В обработке есть 2 кнопки: (1) Загрузить - читает excel файл и переносит данные оттуда в таблицу значений на форме. (2) Заполнить номенклатуру - проходится по всем строкам таблицы значений, находит номенклатуру в справочнике по артикулу и заполняет её значениями из этой таблицы значений.
Проблема заключается в следующем: у себя на компьютере у меня всё срабатывает отлично, я с отладкой могу влезть в любую мою процедуру, а номенклатура заполняется, как я и хотел. После многочисленных тестов на своей базе, я перенес своё расширение с обработкой в рабочую базу на сервере 42clouds.
Решил протестировать, (1)  кнопка "Загрузить" сработала как надо, таблица значений заполнилась данными из excel файла, а вот после нажатия на (2) кнопку ничего не произошло. Полез в конфигуратор поставил точки остановы. Отладка меня пускает только в процедуру &НаКлиенте, но в процедуру &На сервере не переходит, причем что в (1) кнопке, что во второй, хотя серверная процедуру вызываемая 1 кнопкой всё же отрабатывает своё, а вот вторая кнопка ничего не делает.
Подскажите, почему такое может быть? Ниже приведу часть кода, чтобы было легче воспринимать мою писанину
1 retrowave
 
08.02.24
15:21
//(1) КНОПКА
&НаКлиенте
Процедура Загрузить(Команда)
    ЗагрузитьНаСервере();    
КонецПроцедуры

&НаСервере
Процедура ЗагрузитьНаСервере()  
    табДок = Новый ТабличныйДокумент;
    табДок.Прочитать(ИмяФайла);

И ТД..
КонецПроцедуры
//(1) КНОПКА
//(2) КНОПКА
&НаКлиенте
Процедура ЗаполнитьНоменклатуру(Команда)
    ЗаполнитьНоменклатуруНаСервере();
КонецПроцедуры

&НаСервере
Процедура ЗаполнитьНоменклатуруНаСервере()
    Если Выгрузка = Перечисления.ПеречисленияДляВыгрузкиЗагрузки.Этикетки Тогда
        ЗаписатьЭтикетки();
    КонецЕсли;
КонецПроцедуры
//(2) КНОПКА
2 Волшебник
 
08.02.24
15:23
видимо, в облаке отключена отладка на сервере.
добавьте вывод отладочных сообщений в журнал регистрации
3 DGorgoN
 
08.02.24
15:27
(0) Если клиент сервер то см (2) Иначе в конфигураторе "Отладка/подключение" см кнопку "автоматическое подключение" и нужные галочки
4 retrowave
 
08.02.24
15:29
(2) а почему выполняется 1 процедура, а 2 не выполняется? В коде ошибок не может быть, так как я делал выгрузку базы с сервера и на своем компе всё тестил на этой копии
5 retrowave
 
08.02.24
15:30
(4) меня просто даже больше не отладка волнует, а то что процедура не выполняется
6 Волшебник
 
08.02.24
15:30
(4) У Вас во второй процедуре идёт обращение к "Выгрузка". Может в облаке реквизит не так заполняете
7 Волшебник
 
08.02.24
15:31
Кроме того, функция ЗаписатьЭтикетки() непонятно, что делает. Может ничего.

Ваш код может выполняться, а может нет.
Добавьте отладочные сообщения и всё станет ясно.
8 retrowave
 
08.02.24
15:33
(6) Я на всякий случай даже обходил условие и сразу вставлял вызов функции заполнения, по типу такого:
Процедура ЗаполнитьНоменклатуру(Команда)
     ЗаписатьЭтикетки();
КонецПроцедуры

Но результата никакого не было. Также пытался вставлять вызов процедуры в первую кнопку, так как вдруг что то не так с второй кнопкой, но почему то процедуры заполнения полностью игнорировались
9 retrowave
 
08.02.24
15:34
(7) Сейчас попробую добавить сообщения
10 retrowave
 
08.02.24
15:48
Я решил проблему. Проблема была в том что я перебирал не ту таблицу значений. Перепутал названия. Не знаю как это получилось, ведь в тестовой базе у меня правильные названия стоят. Видимо как то поменял случайно.
Спасибо за ответы и за совет пойти проставить сообщения)
Хорошего дня, (2) и (3)
11 Волшебник
 
08.02.24
15:52
(10) 👍
12 AlexeyKh
 
08.02.24
17:08
"Проблема была в том что я перебирал не ту таблицу значений."

просто удивительно! Ведь дома все работает!!!! (ржунемогу)
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn