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

Возможно ли через запрос подтянуть параметры реквизитов банковского счета контрагента

Возможно ли через запрос подтянуть параметры реквизитов банковского счета контрагента
Я
   Cypher
 
11.01.21 - 09:42
Всем привет! С наступившими праздниками! Уважаемое сообщество, возник такого рода вопрос: К примеру, нужно создать ВПФ для конфигурации 1С: Розница 8, редакция 2.3 в документе (Заказ покупателя), нужно к макету подтянуть параметры реквизитов Банковского счета Контрагента, его в этом документе нету, подтягиваем из сведений о Юр. Физ. лице, а через запрос ИЗ Справочника возможно это сделать?

Функция СформироватьПечатнуюФорму(СсылкаНаОбъект, ОбъектыПечати)

    ТабДок = Новый ТабличныйДокумент;
    
    Макет = ПолучитьМакет("Макет");
    
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
                   |    БанковскиеСчетаКонтрагентов.Ссылка КАК Ссылка,
                   |    БанковскиеСчетаКонтрагентов.ВерсияДанных КАК ВерсияДанных,
                   |    БанковскиеСчетаКонтрагентов.ПометкаУдаления КАК ПометкаУдаления,
                   |    БанковскиеСчетаКонтрагентов.Владелец КАК Владелец,
                   |    БанковскиеСчетаКонтрагентов.Наименование КАК Наименование,
                   |    БанковскиеСчетаКонтрагентов.Банк КАК Банк,
                   |    БанковскиеСчетаКонтрагентов.НомерСчета КАК НомерСчета,
                   |    БанковскиеСчетаКонтрагентов.РучноеИзменениеРеквизитовБанка КАК РучноеИзменениеРеквизитовБанка,
                   |    БанковскиеСчетаКонтрагентов.ГородБанка КАК ГородБанка,
                   |    БанковскиеСчетаКонтрагентов.АдресБанка КАК АдресБанка,
                   |    БанковскиеСчетаКонтрагентов.ТелефоныБанка КАК ТелефоныБанка,
                   |    БанковскиеСчетаКонтрагентов.КоррСчетБанка КАК КоррСчетБанка,
                   |    БанковскиеСчетаКонтрагентов.НаименованиеБанка КАК НаименованиеБанка,
                   |    БанковскиеСчетаКонтрагентов.БИКБанка КАК БИКБанка,
                   |    БанковскиеСчетаКонтрагентов.Предопределенный КАК Предопределенный,
                   |    БанковскиеСчетаКонтрагентов.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных
                   |ИЗ
                   |    Справочник.БанковскиеСчетаКонтрагентов КАК БанковскиеСчетаКонтрагентов";
    
    //Вопрос: Возможно ли через запрос подтянуть реквизиты Банковского счета Контрагента?
    
    Запрос.УстановитьПараметр("МассивОбъектов", СсылкаНаОбъект);
    
    Результаты = Запрос.ВыполнитьПакет();

    Макет.Параметры.КонтрагентОГРН = СсылкаНаОбъект.Контрагент.РегистрационныйНомер;
    Макет.Параметры.КонтрагентОрганизация = СсылкаНаОбъект.Контрагент.НаименованиеПолное;
    Макет.Параметры.КонтрагентИНН = СсылкаНаОбъект.Контрагент.ИНН;
    Макет.Параметры.НомерСчетаПокупателя = //НомерСчета; ?

    //СведенияОПокупателе = ФормированиеПечатныхФормСервер.СведенияОЮрФизЛице(СсылкаНаОбъект.Контрагент, СсылкаНаОбъект.Дата);
    //Макет.Параметры.НомерСчетаПокупателя = ФормированиеПечатныхФормСервер.ОписаниеОрганизации(СведенияОПокупателе, "НомерСчета");

    ТабДок.Вывести(Макет);
    
    Возврат ТабДок;
        
КонецФункции // СформироватьПечатнуюФорму()
   ДенисЧ
 
1 - 11.01.21 - 09:44
А это
                   |    БанковскиеСчетаКонтрагентов.АдресБанка КАК АдресБанка,
                   |    БанковскиеСчетаКонтрагентов.ТелефоныБанка КАК ТелефоныБанка,
не реквизиты?
   Cypher
 
2 - 11.01.21 - 09:48
(1) Если не затруднит Вас, программный код можно?

Макет.Параметры.НомерСчетаПокупателя = //НомерСчета; ?
   ДенисЧ
 
3 - 11.01.21 - 09:49
Ты в запросе его выбираешь. Где у тебя вообще обход результата? Зачем вообще запрос тогда, если его результаты не используются?
   Йохохо
 
4 - 11.01.21 - 09:53
сленг подучил а код нет, 1с-аналитег?
   Dmitrii
 
5 - 11.01.21 - 09:57
(0) Если отвечать буквально на Ваш вопрос, то - конечно возможно.
Вопрос только - реквизиты какого конкретно р/с нужны? И откуда вы заранее знаете с какого р/с контрагент будет оплачивать ваш заказ.
Либо этот реквизит должен быть в документе, либо должны быть определены правила, по которым вы выбираете конкретный р/с.

В запросе из (0) обращение идёт вообще исключительно только к одному справочнику. Что это за печатная форма, где нужны только реквизиты р/с?
Если в лоб ответ нужен, то просто дописать текст запроса условием "ГДЕ БанковскиеСчетаКонтрагентов.Владелец В (ВЫБРАТЬ РАЗЛИЧНЫЕ ЗаказПокупателя.Контрагент КАК Контрагент ИЗ Документ.ЗаказПокупателя КАК ЗаказПокупателя ГДЕ Ссылка В &МассивОбъектов)".
Только это не решение задачи. В запросе будут все р/счета каждого из контрагентов (одного контрагента, если печатается один заказ). А что делать, если р/счетов у покупателя несколько - неясно.
   mikecool
 
6 - 11.01.21 - 10:05
(5) правильно, у тебя тоже не решение, предлагать условие ГДЕ ... В () - это плохо
   ДенисЧ
 
7 - 11.01.21 - 10:11
(6) Зависит от количества
   Cypher
 
8 - 11.01.21 - 10:11
(5) Я поняла, в принципе и такой код работает, так что сорри, всем спасибо!

Функция СформироватьПечатнуюФорму(СсылкаНаОбъект, ОбъектыПечати)

    ТабДок = Новый ТабличныйДокумент;
    
    Макет = ПолучитьМакет("Макет");
    
    Макет.Параметры.КонтрагентОГРН = СсылкаНаОбъект.Контрагент.РегистрационныйНомер;
    Макет.Параметры.КонтрагентОрганизация = СсылкаНаОбъект.Контрагент.НаименованиеПолное;
    Макет.Параметры.КонтрагентИНН = СсылкаНаОбъект.Контрагент.ИНН;

    СведенияОПокупателе = ФормированиеПечатныхФормСервер.СведенияОЮрФизЛице(СсылкаНаОбъект.Контрагент, СсылкаНаОбъект.Дата);
    Макет.Параметры.НомерСчетаПокупателя = ФормированиеПечатныхФормСервер.ОписаниеОрганизации(СведенияОПокупателе, "НомерСчета");

    ТабДок.Вывести(Макет);
    
    Возврат ТабДок;
        
КонецФункции// СформироватьПечатнуюФорму()
   Cypher
 
9 - 11.01.21 - 12:46
(5) О таком запросе речь была?

Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
                   |    БанковскиеСчетаКонтрагентов.Ссылка КАК Ссылка,
                   |    БанковскиеСчетаКонтрагентов.ВерсияДанных КАК ВерсияДанных,
                   |    БанковскиеСчетаКонтрагентов.ПометкаУдаления КАК ПометкаУдаления,
                   |    БанковскиеСчетаКонтрагентов.Владелец КАК Владелец,
                   |    БанковскиеСчетаКонтрагентов.Наименование КАК Наименование,
                   |    БанковскиеСчетаКонтрагентов.Банк КАК Банк,
                   |    БанковскиеСчетаКонтрагентов.НомерСчета КАК НомерСчета,
                   |    БанковскиеСчетаКонтрагентов.РучноеИзменениеРеквизитовБанка КАК РучноеИзменениеРеквизитовБанка,
                   |    БанковскиеСчетаКонтрагентов.ГородБанка КАК ГородБанка,
                   |    БанковскиеСчетаКонтрагентов.АдресБанка КАК АдресБанка,
                   |    БанковскиеСчетаКонтрагентов.ТелефоныБанка КАК ТелефоныБанка,
                   |    БанковскиеСчетаКонтрагентов.КоррСчетБанка КАК КоррСчетБанка,
                   |    БанковскиеСчетаКонтрагентов.НаименованиеБанка КАК НаименованиеБанка,
                   |    БанковскиеСчетаКонтрагентов.БИКБанка КАК БИКБанка,
                   |    БанковскиеСчетаКонтрагентов.Предопределенный КАК Предопределенный,
                   |    БанковскиеСчетаКонтрагентов.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных
                   |ИЗ
                   |    Справочник.БанковскиеСчетаКонтрагентов КАК БанковскиеСчетаКонтрагентов
                   |ГДЕ
                   |    БанковскиеСчетаКонтрагентов.Владелец = &Контрагент";
    
    
    Запрос.УстановитьПараметр("Контрагент", СсылкаНаОбъект.Контрагент);
    
    Результаты = Запрос.ВыполнитьПакет();
   Cypher
 
10 - 11.01.21 - 12:56
Ребята, все таки хочу поднять тему, вывести параметры Банковских реквизитов Контрагента не проблема, мне просто интересно, можно ли сделать это через запрос?
   Cypher
 
11 - 11.01.21 - 13:15
Олег, что скажите?
   maptbln
 
12 - 11.01.21 - 13:48
(10) да,возможно
   Масянька
 
13 - 11.01.21 - 13:49
(9) Это один запрос?

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.