8.х Справочник Банки

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем Adminspb, 28 ноя 2007.

Статус темы:
Закрыта.
  1. TopicStarter Overlay
    Adminspb
    Offline

    Adminspb Опытный в 1С

    Регистрация:
    18 дек 2006
    Сообщения:
    116
    Симпатии:
    0
    Баллы:
    26
    Есть справочкик БАНКИ заполненный через Классификатор банков.

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

    Используйте тэг
    Код:
    [/color]
  2. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Использовать запрос, а не объектную модель
  3. TopicStarter Overlay
    Adminspb
    Offline

    Adminspb Опытный в 1С

    Регистрация:
    18 дек 2006
    Сообщения:
    116
    Симпатии:
    0
    Баллы:
    26
    А не моглиб вы подсказать это...визуальнее?

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


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

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

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


    Так...тоже не работает =( :unsure:
    (Без комментариев конечно же)
  4. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Попробуй так:
    Код:
    Запрос.УстановитьПараметр("БИК",Строка(СокрЛП(Контрагент.ПолучательБИК ))); 
    
  5. TopicStarter Overlay
    Adminspb
    Offline

    Adminspb Опытный в 1С

    Регистрация:
    18 дек 2006
    Сообщения:
    116
    Симпатии:
    0
    Баллы:
    26
    сейчас так:

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


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

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

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




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

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


    И все равно банк по БИКу не находит. :unsure:
  6. TopicStarter Overlay
    Adminspb
    Offline

    Adminspb Опытный в 1С

    Регистрация:
    18 дек 2006
    Сообщения:
    116
    Симпатии:
    0
    Баллы:
    26

    Спасибо за помощь - все работает.
    ....просто...в файл БИКи без начальных нулей записаны были. :unsure:
  7. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Только я собрался написать, что бы проверил сам БИК :)
Статус темы:
Закрыта.

Поделиться этой страницей