|
Возможно ли через запрос подтянуть параметры реквизитов банковского счета контрагента | ☑ | ||
---|---|---|---|---|
0
Cypher
naïve
11.01.21
✎
09:42
|
Всем привет! С наступившими праздниками! Уважаемое сообщество, возник такого рода вопрос: К примеру, нужно создать ВПФ для конфигурации 1С: Розница 8, редакция 2.3 в документе (Заказ покупателя), нужно к макету подтянуть параметры реквизитов Банковского счета Контрагента, его в этом документе нету, подтягиваем из сведений о Юр. Физ. лице, а через запрос ИЗ Справочника возможно это сделать?
Функция СформироватьПечатнуюФорму(СсылкаНаОбъект, ОбъектыПечати) ТабДок = Новый ТабличныйДокумент; Макет = ПолучитьМакет("Макет"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | БанковскиеСчетаКонтрагентов.Ссылка КАК Ссылка, | БанковскиеСчетаКонтрагентов.ВерсияДанных КАК ВерсияДанных, | БанковскиеСчетаКонтрагентов.ПометкаУдаления КАК ПометкаУдаления, | БанковскиеСчетаКонтрагентов.Владелец КАК Владелец, | БанковскиеСчетаКонтрагентов.Наименование КАК Наименование, | БанковскиеСчетаКонтрагентов.Банк КАК Банк, | БанковскиеСчетаКонтрагентов.НомерСчета КАК НомерСчета, | БанковскиеСчетаКонтрагентов.РучноеИзменениеРеквизитовБанка КАК РучноеИзменениеРеквизитовБанка, | БанковскиеСчетаКонтрагентов.ГородБанка КАК ГородБанка, | БанковскиеСчетаКонтрагентов.АдресБанка КАК АдресБанка, | БанковскиеСчетаКонтрагентов.ТелефоныБанка КАК ТелефоныБанка, | БанковскиеСчетаКонтрагентов.КоррСчетБанка КАК КоррСчетБанка, | БанковскиеСчетаКонтрагентов.НаименованиеБанка КАК НаименованиеБанка, | БанковскиеСчетаКонтрагентов.БИКБанка КАК БИКБанка, | БанковскиеСчетаКонтрагентов.Предопределенный КАК Предопределенный, | БанковскиеСчетаКонтрагентов.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных |ИЗ | Справочник.БанковскиеСчетаКонтрагентов КАК БанковскиеСчетаКонтрагентов"; //Вопрос: Возможно ли через запрос подтянуть реквизиты Банковского счета Контрагента? Запрос.УстановитьПараметр("МассивОбъектов", СсылкаНаОбъект); Результаты = Запрос.ВыполнитьПакет(); Макет.Параметры.КонтрагентОГРН = СсылкаНаОбъект.Контрагент.РегистрационныйНомер; Макет.Параметры.КонтрагентОрганизация = СсылкаНаОбъект.Контрагент.НаименованиеПолное; Макет.Параметры.КонтрагентИНН = СсылкаНаОбъект.Контрагент.ИНН; Макет.Параметры.НомерСчетаПокупателя = //НомерСчета; ? //СведенияОПокупателе = ФормированиеПечатныхФормСервер.СведенияОЮрФизЛице(СсылкаНаОбъект.Контрагент, СсылкаНаОбъект.Дата); //Макет.Параметры.НомерСчетаПокупателя = ФормированиеПечатныхФормСервер.ОписаниеОрганизации(СведенияОПокупателе, "НомерСчета"); ТабДок.Вывести(Макет); Возврат ТабДок; КонецФункции // СформироватьПечатнуюФорму() |
|||
1
ДенисЧ
11.01.21
✎
09:44
|
А это
| БанковскиеСчетаКонтрагентов.АдресБанка КАК АдресБанка, | БанковскиеСчетаКонтрагентов.ТелефоныБанка КАК ТелефоныБанка, не реквизиты? |
|||
2
Cypher
naïve
11.01.21
✎
09:48
|
(1) Если не затруднит Вас, программный код можно?
Макет.Параметры.НомерСчетаПокупателя = //НомерСчета; ? |
|||
3
ДенисЧ
11.01.21
✎
09:49
|
Ты в запросе его выбираешь. Где у тебя вообще обход результата? Зачем вообще запрос тогда, если его результаты не используются?
|
|||
4
Йохохо
11.01.21
✎
09:53
|
сленг подучил а код нет, 1с-аналитег?
|
|||
5
Dmitrii
гуру
11.01.21
✎
09:57
|
(0) Если отвечать буквально на Ваш вопрос, то - конечно возможно.
Вопрос только - реквизиты какого конкретно р/с нужны? И откуда вы заранее знаете с какого р/с контрагент будет оплачивать ваш заказ. Либо этот реквизит должен быть в документе, либо должны быть определены правила, по которым вы выбираете конкретный р/с. В запросе из (0) обращение идёт вообще исключительно только к одному справочнику. Что это за печатная форма, где нужны только реквизиты р/с? Если в лоб ответ нужен, то просто дописать текст запроса условием "ГДЕ БанковскиеСчетаКонтрагентов.Владелец В (ВЫБРАТЬ РАЗЛИЧНЫЕ ЗаказПокупателя.Контрагент КАК Контрагент ИЗ Документ.ЗаказПокупателя КАК ЗаказПокупателя ГДЕ Ссылка В &МассивОбъектов)". Только это не решение задачи. В запросе будут все р/счета каждого из контрагентов (одного контрагента, если печатается один заказ). А что делать, если р/счетов у покупателя несколько - неясно. |
|||
6
mikecool
11.01.21
✎
10:05
|
(5) правильно, у тебя тоже не решение, предлагать условие ГДЕ ... В () - это плохо
|
|||
7
ДенисЧ
11.01.21
✎
10:11
|
(6) Зависит от количества
|
|||
8
Cypher
naïve
11.01.21
✎
10:11
|
(5) Я поняла, в принципе и такой код работает, так что сорри, всем спасибо!
Функция СформироватьПечатнуюФорму(СсылкаНаОбъект, ОбъектыПечати) ТабДок = Новый ТабличныйДокумент; Макет = ПолучитьМакет("Макет"); Макет.Параметры.КонтрагентОГРН = СсылкаНаОбъект.Контрагент.РегистрационныйНомер; Макет.Параметры.КонтрагентОрганизация = СсылкаНаОбъект.Контрагент.НаименованиеПолное; Макет.Параметры.КонтрагентИНН = СсылкаНаОбъект.Контрагент.ИНН; СведенияОПокупателе = ФормированиеПечатныхФормСервер.СведенияОЮрФизЛице(СсылкаНаОбъект.Контрагент, СсылкаНаОбъект.Дата); Макет.Параметры.НомерСчетаПокупателя = ФормированиеПечатныхФормСервер.ОписаниеОрганизации(СведенияОПокупателе, "НомерСчета"); ТабДок.Вывести(Макет); Возврат ТабДок; КонецФункции // СформироватьПечатнуюФорму() |
|||
9
Cypher
naïve
11.01.21
✎
12:46
|
(5) О таком запросе речь была?
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | БанковскиеСчетаКонтрагентов.Ссылка КАК Ссылка, | БанковскиеСчетаКонтрагентов.ВерсияДанных КАК ВерсияДанных, | БанковскиеСчетаКонтрагентов.ПометкаУдаления КАК ПометкаУдаления, | БанковскиеСчетаКонтрагентов.Владелец КАК Владелец, | БанковскиеСчетаКонтрагентов.Наименование КАК Наименование, | БанковскиеСчетаКонтрагентов.Банк КАК Банк, | БанковскиеСчетаКонтрагентов.НомерСчета КАК НомерСчета, | БанковскиеСчетаКонтрагентов.РучноеИзменениеРеквизитовБанка КАК РучноеИзменениеРеквизитовБанка, | БанковскиеСчетаКонтрагентов.ГородБанка КАК ГородБанка, | БанковскиеСчетаКонтрагентов.АдресБанка КАК АдресБанка, | БанковскиеСчетаКонтрагентов.ТелефоныБанка КАК ТелефоныБанка, | БанковскиеСчетаКонтрагентов.КоррСчетБанка КАК КоррСчетБанка, | БанковскиеСчетаКонтрагентов.НаименованиеБанка КАК НаименованиеБанка, | БанковскиеСчетаКонтрагентов.БИКБанка КАК БИКБанка, | БанковскиеСчетаКонтрагентов.Предопределенный КАК Предопределенный, | БанковскиеСчетаКонтрагентов.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных |ИЗ | Справочник.БанковскиеСчетаКонтрагентов КАК БанковскиеСчетаКонтрагентов |ГДЕ | БанковскиеСчетаКонтрагентов.Владелец = &Контрагент"; Запрос.УстановитьПараметр("Контрагент", СсылкаНаОбъект.Контрагент); Результаты = Запрос.ВыполнитьПакет(); |
|||
10
Cypher
naïve
11.01.21
✎
12:56
|
Ребята, все таки хочу поднять тему, вывести параметры Банковских реквизитов Контрагента не проблема, мне просто интересно, можно ли сделать это через запрос?
|
|||
11
Cypher
naïve
11.01.21
✎
13:15
|
Олег, что скажите?
|
|||
12
maptbln
11.01.21
✎
13:48
|
(10) да,возможно
|
|||
13
Масянька
11.01.21
✎
13:49
|
(9) Это один запрос?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |