Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Ошибка - Значение не представляет агрегатный объект...
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 7.7
noskodua
Приветствую всех форумчан. Прошу помощи, поскольку в 1с новичёк...
Проблема такова - при попытке импорта из txt формата в обработке "обмен данными между ПП "1с:предприятие 7.7 и "клиент-банк"" вылазит ошибка что :
Если (ПлательщикСчет.Выбран()=1) и (ВидДокумента="ПлатежноеПоручение") Тогда
{E:\1CV77\BACKUP BASE\DUA\EXTFORMS\KLIENTBANK.ERT(1213)}: Значение не представляет агрегатный объект (Выбран)

Код формы куда ссылается ошибка прикрепляю ниже. Спасибо за ответ!
Платформа 7.70.027
Конфиг ПУБ для Украины 7.70.010

    Если (ПлательщикСчет.Выбран()=1) и (ВидДокумента="ПлатежноеПоручение") Тогда
        Если НашПП="Да" Тогда
        РасчетныйСчет=ПлательщикСчет;
        Корреспондент="Получатель";
        Иначе
        РасчетныйСчет=ПолучательСчет;
        Корреспондент="Плательщик";
        КонецЕсли;
        ДатаВып=?(СокрЛП(тВыписка.ДатаСписано)="",ПолучитьДатуПоФСтроке(тВыписка.Дата),ПолучитьДатуПоФСтроке(тВыписка.ДатаСписано));
    ИначеЕсли (ПолучательСчет.Выбран()=1) и (ВидДокумента="ПлатежноеТребованиеПоручение")  Тогда
        Если НашПП="Да" Тогда
        РасчетныйСчет=ПолучательСчет;
        Корреспондент="Плательщик";
        Иначе
        РасчетныйСчет=ПлательщикСчет;
        Корреспондент="Получатель";
        КонецЕсли;
        ДатаВып=?(СокрЛП(тВыписка.ДатаПоступило)="",ПолучитьДатуПоФСтроке(тВыписка.Дата),ПолучитьДатуПоФСтроке(тВыписка.ДатаПоступило));
    Иначе
        Возврат(ПолучитьПустоеЗначение("Документ"));
    КонецЕсли;
Naghual

 ! 

необходимо зарегистрироваться для просмотра ссылки: 16
 
pablo
Не тот кусок кода прислали. Нужен код до строки с ошибкой, а не после него...
Pepe
Версию ОС и региональные параметры в студию. (Должен быть русский язык).
CobraS
Судя по Вашему коду ПлательщикСчет должен быть ссылкой на справочник Контрагенты или Фирмы.
Чуть раньше происходит поиск элемента по реквизиту НомерСчета. Подозреваю, что в переменной ПлательщикСчет ничего не присваивается.
Соответственно для пустого значения метод Выбран() не применим, о чем Вам 1С и сообщает.
А вообще все телепаты уже давно покинули эту планету 61000000.gif .
noskodua
CobraS @ Вчера, 18:14 необходимо зарегистрироваться для просмотра ссылки ,
pablo @ Вчера, 15:22 необходимо зарегистрироваться для просмотра ссылки ,
извиняюсь, код до выкладывать сюда будет очень большое сообщение, поэтому вот выложил на обменник
необходимо зарегистрироваться для просмотра ссылки

Благодарю за ответы!
CobraS
Ваша обработка смесь бульдога с носорогом.
Судя по тому, что банк ищется по коду БИК, а не МФО, то это переделанная встроенная в ПУБ обработка КлиентБанк под росийские выписки.
А ошибка, как я и писал ранее, в том, что переменной ПлательщикСчет ничего не присваивается.
В функции ЗагрузитьПлатежныйДокумент() этой переменной присваивается ссылка на справочник НашиДенежныеСчета (НашиДенежныеСчета) только при обработке доков с видом "ПЛАТЕЖНОЕ ПОРУЧЕНИЕ" или "ПЛАТЕЖНОЕ ТРЕБОВАНИЕ-ПОРУЧЕНИЕ". А у Вас в колонке "Вид документа" таблицы импорта видимо что-то другое.
noskodua
CobraS @ Сегодня, 10:26 необходимо зарегистрироваться для просмотра ссылки ,
Спасибо.
Да это я уже менял мфо на бик. Что посоветуете с этим сделать? Если можно в деталях ибо я с 1с не дружу особо)
Макс1С
noskodua @ Сегодня, 11:41 необходимо зарегистрироваться для просмотра ссылки ,
на вскидку:
1) // создание ТЗ:
тВыписка.НоваяКолонка("ПлательщикРасчСчет",        "Число",    21,    ,    "Номер р/с плательщика в его банке",14);    // Номер р/с плательщика в его банке
........
2) //Функция ЗагрузитьПлатежныйДокумент() // та в которой у вас ошибка, перед строкой с ошибкой
........
ПлательщикСчет=НайтиРасчетныйСчет("Плательщик", "НашиДенежныеСчета");
........
3) //Функция НайтиРасчетныйСчет(Слово, Вид, Владелец=0)
........    
Счет=СокрЛП(тВыписка.ПолучитьЗначение(тВыписка.НомерСтроки, Слово+"Счет"));
........

а в п.3 должно быть
    Счет=СокрЛП(тВыписка.ПолучитьЗначение(тВыписка.НомерСтроки, Слово+"РасчСчет"));

детальней вечерком посмотрю, может ещё где-то есть ошибки
noskodua
Макс1С @ Вчера, 16:04 необходимо зарегистрироваться для просмотра ссылки ,
Спасбо за ответ, исправил ваши замечания)
volodya1122
Цитата(Макс1С @ 19.09.19, 17:04) необходимо зарегистрироваться для просмотра ссылки
тВыписка.НоваяКолонка("ПлательщикРасчСчет", "Число", 21, , "Номер р/с плательщика в его банке",14);

может уже нужно писать Строка и 29 символов?
Макс1С
volodya1122 @ Сегодня, 9:23 необходимо зарегистрироваться для просмотра ссылки ,
В целом верно, тоже заметил, но там загрузка не из украинского банка, насколько я понял..

пс. общий знакомый скинул пример файла выписки, можно его и здесь опубликовать, мне кажется, может кто-то быстрее подскажет
noskodua
Макс1С @ Сегодня, 8:34 необходимо зарегистрироваться для просмотра ссылки ,
Вот в принципе завелось, но осталось понять почему не находит контрагента. статус. договор.
Выложил новый вариант + пример файла выгрузки
необходимо зарегистрироваться для просмотра ссылки
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.