Помощь - Поиск - Пользователи - Календарь
Полная версия: Справочник Банки
"1C-PRO" - форум по 1C > Форумы по платформе "1С:Предприятие 8.x" > (8.х) Отчеты и обработки для платформы "1С:Предприятие 8.x"
Adminspb
Есть справочкик БАНКИ заполненный через Классификатор банков.

В процессе написания внешней обработки создается контрагент,
Код

Справочник = Справочники.Контрагенты;
        
РезультатПоиска = Справочники.Контрагенты.НайтиПоРеквизиту("ИНН", Контрагент.ПолучательИНН);
Если РезультатПоиска.Пустая() Тогда
    // Выполняю действия, предусмотренные в случае, когда элемент не найден.  
                НовыйЭлемент = Справочники.Контрагенты.СоздатьЭлемент();
    НовыйЭлемент.Записать();
        
    НомерСчета      = Контрагент.ПолучательСчет;
    КодВалюты=Сред(НомерСчета,6,3);
    ВалютаСчета=Справочники.Валюты.НайтиПоКоду(КодВалюты);

    Если НЕ ВалютаСчета=Справочники.Валюты.ПустаяСсылка() Тогда // Знаем валюту счета и можем создать элемент.
        
        НовыйСчет = Справочники.БанковскиеСчета.СоздатьЭлемент();
        НовыйСчет.Наименование    = "Основной расчетный счет";
        НовыйСчет.НомерСчета      = Контрагент.ПолучательСчет;
        НовыйСчет.Владелец        = НовыйЭлемент.Ссылка;
        НовыйСчет.ВидСчета        = "Расчетный";
        НовыйСчет.ВалютаДенежныхСредств = ВалютаСчета;
        
// И вот тут возникает проблемка.
// В справочнике БАНКИ надо найти по БИКу (хранимому в Контрагент.ПолучательБИК)
// банк и выбрать банк сопоставив его расч. счету

//        НовыйСчет.Банк           = Справочники.Банки.НайтиПоКоду( Контрагент.ПолучательБИК  );
        
        //-----------------
        
        НовыйСчет.Записать();
                        
        НовыйЭлемент.ОсновнойБанковскийСчет =НовыйСчет.Ссылка;
        НовыйЭлемент.Записать();

Подскажите пожалуйста, как правильно реализовать в Справ. банки выбор банка по БИКу и сопоставить его Счету?.

Используйте тэг [CODE]
BabySG
Использовать запрос, а не объектную модель
Adminspb
Цитата(BabySG @ 28.11.2007, 12:58) *

Использовать запрос, а не объектную модель

А не моглиб вы подсказать это...визуальнее?

// Код = Контрагент.ПолучательБИК;
// НовыйСчет.Банк = Справочники.Банки.НайтиПоКоду( Контрагент.ПолучательБИК );


// Запрос = Новый Запрос;
// Запрос.Текст = "ВЫБРАТЬ
// | Банки.Ссылка,
// | Банки.Код
// |ИЗ
// | Справочник.Банки КАК Банки
// |ГДЕ
// | Банки.Код = &БИК" ;
//
// Запрос.УстановитьПараметр("БИК",Контрагент.ПолучательБИК );

// Результат = Запрос.Выполнить();
// Выборка = Результат.Выбрать();

// Пока Выборка.Следующий() Цикл
// НовыйСчет.Банк = Выборка.Ссылка; // Тут предполагаю что найден всего один
// КонецЦикла ;


Так...тоже не работает =( aua.gif
(Без комментариев конечно же)
BabySG
Попробуй так:
Код

Запрос.УстановитьПараметр("БИК",Строка(СокрЛП(Контрагент.ПолучательБИК )));
Adminspb
сейчас так:

Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| Банки.Ссылка,
| Банки.Код
|ИЗ
| Справочник.Банки КАК Банки
|ГДЕ
| Банки.Код = &БИК" ;


Запрос.УстановитьПараметр("БИК",Строка(СокрЛП(Контрагент.ПолучательБИК )));
// Запрос.УстановитьПараметр("БИК",Контрагент.ПолучательБИК );

Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();

Пока Выборка.Следующий() Цикл
НовыйСчет.Банк = Выборка.Ссылка;
КонецЦикла ;




НовыйСчет.Записать();

НовыйЭлемент.ОсновнойБанковскийСчет =НовыйСчет.Ссылка;
НовыйЭлемент.Записать();


И все равно банк по БИКу не находит. wall.gif
Adminspb
Цитата(BabySG @ 28.11.2007, 14:09) *

Попробуй так:
Код

Запрос.УстановитьПараметр("БИК",Строка(СокрЛП(Контрагент.ПолучательБИК )));




Спасибо за помощь - все работает.
....просто...в файл БИКи без начальных нулей записаны были. yahoo.gif
BabySG
Только я собрался написать, что бы проверил сам БИК :)
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2008 Invision Power Services, Inc.