Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Значение не представляет агрегатный объект (НомерIBAN)

v7: Значение не представляет агрегатный объект (НомерIBAN)
Я
   Peltik
 
27.07.18 - 15:48
Доброго времени суток всем!

Док = СоздатьОбъект("Документ.ПлатежноеПоручение");
    
    СчББ = 0;
    СчАБ = 0;
    СчПр = 0;
    
    а = СписокПП.РазмерСписка();
    б = " ";
    Пока а > 0 Цикл
        НомерПлатежки = Лев(СписокПП.ПолучитьЗначение(а,б),Найти(СокрЛП(СписокПП.ПолучитьЗначение(а,б))," "));
        Если СписокПП.Пометка(а) = 1 Тогда
            Док.НайтиПоНомеру(НомерПлатежки);
            Если Найти(Док.РасчетныйСчет.НомерIBAN, "AKBB") <> 0 Тогда
                ЗагрузкаББ(Док);
                СчББ = СчББ + 1;
            ИначеЕсли Найти(Док.РасчетныйСчет.НомерIBAN, "PJCB") <> 0 Тогда
                ЗагрузкаПриор(Док);
                СчПр = СчПр + 1;
            ИначеЕсли Найти(Док.РасчетныйСчет.НомерIBAN, "BAPB") <> 0 Тогда
                ЗагрузкаБАПБ(Док);
                СчАБ = СчАБ + 1;
            Иначе
                Сообщить("Платежное поручение №"+Док.НомерДок+ " не импортировано");
            КонецЕсли;
        КонецЕсли;
        а = а - 1;
    КонецЦикла;


Что-то не могу понять, если запускаю это, то выдает ошибку:
Если Найти(Док.РасчетныйСчет.НомерIBAN, "AKBB") <> 0 Тогда
{Обработка.ПлатежныеПоручения.Форма.Модуль(163)}: Значение не представляет агрегатный объект (НомерIBAN)

Но если это  же запустить через отладчик, с точкой останова в строке которая ниже, то всё работает ОК. В чем прикол?
 
 
   HawkEye
 
1 - 27.07.18 - 15:59
(0) ничего нового.... как обычно дело не бобине...
   trdm
 
2 - 27.07.18 - 15:59
Перезагрузись
   Peltik
 
3 - 27.07.18 - 16:10
(1) так я про старое не вкурсе :(
   HawkEye
 
4 - 27.07.18 - 16:13
(3) работает так, как написано....
но вообще не мешает проверить, нашелся ли документ и заполнен ли у него реквизит, а потом уже к нему обращаться....
   Peltik
 
5 - 27.07.18 - 16:15
(4) Конечно нашелся и заполнен, написано же с Оиладчиком всё работает
   HawkEye
 
6 - 27.07.18 - 16:17
(5) написано: "Значение не представляет агрегатный объект (НомерIBAN)"

а значит или не заполнен или заполнен ни тем типом...
то, что в отладчике что-то работает, не показатель.... отладчиком тоже надо уметь пользоваться....
   Peltik
 
7 - 27.07.18 - 16:25
(6) и что я могу сделать такого в отладчике, что может повлиять на исполнение программы? Я там только точку останова ставлю, при чем только в определенном месте
   HawkEye
 
8 - 27.07.18 - 16:32
(7) откуда я знаю, перед тобой же открыто...
напиши код по человечески и не надо будет играть в угадайку...

Если  Док.НайтиПоНомеру(НомерПлатежки) = 1 Тогда
Если ПустоеЗначение(Док.РасчетныйСчет) = 0 Тогда
....
   Peltik
 
9 - 27.07.18 - 16:50
(8) и что в моем коде нечеловеческого?
   Kigo_Kigo
 
10 - 27.07.18 - 17:05
(9) поставь 2 проверки из 8
а вообще как то цикл криво организован
 
 Рекламное место пустует
   hhhh
 
11 - 27.07.18 - 17:16
(9) вот это надо без пробела чтобы номер платежки
НомерПлатежки = Лев(СписокПП.ПолучитьЗначение(а,б),Найти(СокрЛП(СписокПП.ПолучитьЗначение(а,б))," ") - 1);
   Peltik
 
12 - 31.07.18 - 07:57
(11) не то :(
   Peltik
 
13 - 31.07.18 - 10:53
Док.НайтиПоНомеру(НомерПлатежки, КонДата);

и всё заработало, Платежка оказалось с переодической нумерацией в пределах года :(
но почему оно работало через отладчик, я так и не понял :(

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует