Имя: Пароль:
1C
1С v8
Ошибка платформы?
0 Alexey vip
 
06.08.13
11:52
Тема не совсем верная.
Кто сталкивался с ситуацией, если в конфигураторе ставлю точку остановки все действия выполняются без ошибок. Если точки остановки нет, то вываливается ошибка, что не может получить значение реквизита.
Кэш чистил. Кто решал такую проблему? Самое главное, как решал?
И что печально, это в регламентном задании(
1 mzelensky
 
06.08.13
11:57
(0) может просто ситуацию не отлавливаешь?
2 Maxus43
 
06.08.13
11:58
как отлаживал фоновое?
полностю текст ошибки есть?
3 Alexey vip
 
06.08.13
11:59
(1) Это как? Я бы и рад отловить, но понимаешь, с точкой остановки - нет ошибок. Как тут чего отловить?
4 Ёпрст
 
06.08.13
11:59
(2) вестимо как - на клиенте :))

а то, что половина г..а на сервере не работает, ТС - пофик..
:)
5 Defender aka LINN
 
06.08.13
12:00
(3) Свистишь
6 Maxus43
 
06.08.13
12:00
(4) ну я бы на сервере отладил, потому и спросил :)
7 mzelensky
 
06.08.13
12:00
(0) пиши платформу, давай участок кода, который якобы не работает.
8 Alexey vip
 
06.08.13
12:04
Обмен из УТ 11 в БП 3.0
описание ошибки:
Ошибка при загрузке данных: {ОбщийМодуль.ОбщегоНазначения.Модуль(130)}: Получение элемента по индексу для значения не определено
Платформа: 8.2.18.109
(4) В смысле?
функция элементарная
Функция ЗначениеРеквизитаОбъекта(Ссылка, ИмяРеквизита) Экспорт
    
    Результат = ЗначенияРеквизитовОбъекта(Ссылка, ИмяРеквизита);
    Возврат Результат[ИмяРеквизита];
    
КонецФункции
9 Maxus43
 
06.08.13
12:11
ЗначенияРеквизитовОбъекта - там чего? уже интересен смысл, коли туда ссылка передаётся...
10 Alexey vip
 
06.08.13
12:14
(9) Туда передается любая ссылка. Если смотреть обмен с начала, то там и договора контрагентов, и документы, и планы обмена. В общем всё подряд, из списка нужного.
Смысл то в том, что как ошибки быть не может при установке точки отладки, а если точки нет, то вываливается ошибка. Это как?
11 Alexey vip
 
06.08.13
12:14
(10)
*ошибки нет при установке точки отладки
12 Maxus43
 
06.08.13
12:16
(10) покажи что в функции ЗначенияРеквизитовОбъекта.
(11) возможно серверный кэш, но это редкость...
13 Alexey vip
 
06.08.13
12:16
Собственно, я поспрашивал у других людей. Иногда такое бывало в самых неожиданных местах, но им после чистки кэша помогало и ошибка эта один раз выскакивала
14 Alexey vip
 
06.08.13
12:17
(12) я же написал код функции. Может ты что-то ещё другое спрашиваешь?
15 Ёпрст
 
06.08.13
12:18
зачетная функция.. бесконечный цикл..
16 Maxus43
 
06.08.13
12:18
(14) я про эту: Результат = ЗначенияРеквизитовОбъекта(Ссылка, ИмяРеквизита);
17 Maxus43
 
06.08.13
12:18
(15) там буквы разные))
18 Maxus43
 
06.08.13
12:19
ЗначенияРеквизитовОбъекта
ЗначенияРеквизитаОбъекта

я бы оторвал руки програмеру
19 Ёпрст
 
06.08.13
12:21
(17) ага, увидел..

Из какого она модуля хоть ?.. видать с общего, с галкой "клиент"
:)
20 Alexey vip
 
06.08.13
12:22
Тоже не сразу понял, что там ещё одна функция. Отрывайте руки разработчикам ут 11.
вот функция
Функция ЗначенияРеквизитовОбъекта(Ссылка, Реквизиты) Экспорт
    
    Если ТипЗнч(Реквизиты) = Тип("Строка") Тогда
        СтруктураРеквизитов = Новый Структура(Реквизиты);
        
    ИначеЕсли ТипЗнч(Реквизиты) = Тип("Структура")
          ИЛИ ТипЗнч(Реквизиты) = Тип("ФиксированнаяСтруктура") Тогда
        
        СтруктураРеквизитов = Реквизиты;
        
    ИначеЕсли ТипЗнч(Реквизиты) = Тип("Массив")
          ИЛИ ТипЗнч(Реквизиты) = Тип("ФиксированныйМассив") Тогда
        
        СтруктураРеквизитов = Новый Структура;
        Для каждого Реквизит Из Реквизиты Цикл
            СтруктураРеквизитов.Вставить(Реквизит);
        КонецЦикла;
    Иначе
        ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
            НСтр("ru = 'Неверный тип второго параметра Реквизиты: %1'"),
            Строка(ТипЗнч(Реквизиты)));
    КонецЕсли;
    
    ТекстПолей = "";
    Для Каждого КлючИЗначение Из СтруктураРеквизитов Цикл
        
        ИмяПоля   = ?(ЗначениеЗаполнено(КлючИЗначение.Значение),
                      СокрЛП(КлючИЗначение.Значение),
                      СокрЛП(КлючИЗначение.Ключ));
        
        Псевдоним = СокрЛП(КлючИЗначение.Ключ);
        
        ТекстПолей  = ТекстПолей + ?(ПустаяСтрока(ТекстПолей), "", ",") + "
        |    " + ИмяПоля + " КАК " + Псевдоним;
        
    КонецЦикла;
    
    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("Ссылка", Ссылка);
    Запрос.Текст =
    "ВЫБРАТЬ
    |" + ТекстПолей + "
    |ИЗ
    |    " + Ссылка.Метаданные().ПолноеИмя() + " КАК ПсевдонимЗаданнойТаблицы
    |ГДЕ
    |    ПсевдонимЗаданнойТаблицы.Ссылка = &Ссылка
    |";
        Выборка = Запрос.Выполнить().Выбрать();

    Выборка.Следующий();
    
    Результат = Новый Структура;
    Для Каждого КлючИЗначение Из СтруктураРеквизитов Цикл
        Результат.Вставить(КлючИЗначение.Ключ);
    КонецЦикла;
    ЗаполнитьЗначенияСвойств(Результат, Выборка);
    
    Возврат Результат;
    
КонецФункции


галки клиент, разумеется, там нет
21 Maxus43
 
06.08.13
12:26
какого типа элемент Реквизиты? и отладь на сервере лучше сразу
22 Ёпрст
 
06.08.13
12:35
пустая строка поди передается..
23 Ёпрст
 
06.08.13
12:35
заместо реквизитов
24 pessok
 
06.08.13
12:38
шутки шутками, а я видел галюны обратного характера в зупе.
поставил точку остановА, пошел отлаживать, там, как все знают, дофейхоа временных таблиц, и вот бывает, что при выполнении выборки в очередную таблицу идут отвалы, а если без отладки - то все ок. есть подозрение, что временные таблицы просто умирают, пока я долго всматриваюсь в труды инопланетян, писавших ЗУП
25 Alexey vip
 
06.08.13
12:41
С помощью всемогущей сообщить, узнал, что передается пустая ссылка справочника пользователи. Получить пытается значение ИдентификаторПользователяИБ. Теперь осталось понять, почему передается пустая ссылка
26 Alexey vip
 
06.08.13
12:43
Правда один чёрт не понятно, почему с точкой остановки ошибок нет.
27 Ёпрст
 
06.08.13
12:45
(25) дык фоновое задание обычно под usr1cv82 запущается.. там нет пользователя
28 Maxus43
 
06.08.13
12:45
ответь по существу:
база клиент-серверная, файловая?
От точки останова врятли что-то зависит
29 Alexey vip
 
06.08.13
12:47
Файловая
30 Maxus43
 
06.08.13
13:21
(29) из под какого юзера выполняется фоновое задание?
31 Infsams654
 
06.08.13
14:18
(0) так заверни в попытку и выведи сообщение в Исключение что и как, запусти не фоновым. Видать, там много в цикле обрабатывается, в отладчике не поймаешь...
32 Alexey vip
 
06.08.13
14:21
(30) юзерами с полными правами, плюс администратор
Оно не фоновое.
(31) Не фоновое, вывел уже, именно так и узнал про пользователя.
Независимо от того, куда вы едете — это в гору и против ветра!