|
| ||
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) Это один запрос? |
|
Список тем форума |