Как вывести в печатную форму данные о задолженности клиента. УТ 11
По теме из базы знаний
Найденные решения
Запрос2 = Новый Запрос(
"ВЫБРАТЬ
| РасчетыСКлиентамиОстаткиИОбороты.СуммаКонечныйОстаток КАК СуммаКонечныйОстаток,
| РасчетыСКлиентамиОстаткиИОбороты.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| РасчетыСКлиентамиОстаткиИОбороты.Регистратор КАК Регистратор
|ИЗ
| РегистрНакопления.РасчетыСКлиентами.ОстаткиИОбороты(, , Регистратор, Движения, ) КАК РасчетыСКлиентамиОстаткиИОбороты
|ГДЕ
| РасчетыСКлиентамиОстаткиИОбороты.АналитикаУчетаПоПартнерам.Контрагент = &Контрагент
| И РасчетыСКлиентамиОстаткиИОбороты.Период = &Регистратор" );
Запрос2.УстановитьПараметр("Контрагент", ДанныеПечати.Получатель);
Запрос2.УстановитьПараметр("Регистратор", ДанныеПечати.Дата);
Результат2 = Запрос2.Выполнить();
ВыборкаДетальныеЗаписи2 = Результат2.Выбрать();
Если ВыборкаДетальныеЗаписи2.Следующий() Тогда
КонечныйДолг = ВыборкаДетальныеЗаписи2.СуммаКонечныйОстаток;
Если КонечныйДолг < 0 Тогда
ОбластьМакета.Параметры.ДолгИнфа = "Предоплата контрагента с учетом этой накладной составляет " + (-1)*КонечныйДолг + " руб.";
Иначе
ОбластьМакета.Параметры.ДолгИнфа = "Задолженность контрагента с учетом этой накладной составляет " + КонечныйДолг + " руб.";
КонецЕсли;
Иначе
ОбластьМакета.Параметры.ДолгИнфа = "";
КонецЕсли;
Показатьвот такой у меня пример печати долга контрагента в расходной накладной. Можите под себя его подрехтовать
Спасибо в накладной пусто, я чтото сделал не так.
=
// Выводим шапку накладной
ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
ШтрихкодированиеПечатныхФорм.ВывестиШтрихкодВТабличныйДокумент(ТабличныйДокумент, Макет, ОбластьМакета, ДанныеПечати.Ссылка);
ТекстЗаголовка = ОбщегоНазначенияУТКлиентСервер.СформироватьЗаголовокДокумента(ДанныеПечати, НСтр("ru='Расходная накладная';uk='Видаткова накладна'",КодЯзыкаПечать), КодЯзыкаПечать);
СтруктураДанныхШапки = Новый Структура;
СтруктураДанныхШапки.Вставить("ТекстЗаголовка", ТекстЗаголовка);
ОбластьМакета.Параметры.Заполнить(СтруктураДанныхШапки);
ТабличныйДокумент.Вывести(ОбластьМакета);
СведенияОПоставщике = ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Организация, ДанныеПечати.Дата,,ДанныеПечати.БанковскийСчетОрганизации);
СведенияОПокупателе = ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Получатель, ДанныеПечати.Дата,,ДанныеПечати.БанковскийСчетКонтрагента);
ОбластьМакета = Макет.ПолучитьОбласть("Поставщик");
ПредставлениеПоставщика = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПоставщике, "ПолноеНаименование",,КодЯзыкаПечать);
РеквизитыПоставщика = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПоставщике, "НомерСчета,Банк,МФО,/,ЮридическийАдрес,Телефоны,/,КодПоЕДРПОУ,КодПоДРФО,ИНН,НомерСвидетельства,/,ИнформацияОСтатусеПлательщикаНалогов,",,КодЯзыкаПечать);
СтруктураДанныхПоставщик = Новый Структура;
СтруктураДанныхПоставщик.Вставить("ПредставлениеПоставщика", ПредставлениеПоставщика);
СтруктураДанныхПоставщик.Вставить("Поставщик", ДанныеПечати.Организация);
СтруктураДанныхПоставщик.Вставить("РеквизитыПоставщика", РеквизитыПоставщика);
ОбластьМакета.Параметры.Заполнить(СтруктураДанныхПоставщик);
ТабличныйДокумент.Вывести(ОбластьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("Покупатель");
ПредставлениеПолучателя = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПокупателе, "ПолноеНаименование",,КодЯзыкаПечать);
РеквизитыПокупателя = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПокупателе, "ФактическийАдрес,Телефоны,",,КодЯзыкаПечать);
СтруктураДанныхПокупатель = Новый Структура;
СтруктураДанныхПокупатель.Вставить("ПредставлениеПолучателя", ПредставлениеПолучателя);
СтруктураДанныхПокупатель.Вставить("Получатель", ДанныеПечати.Получатель);
СтруктураДанныхПокупатель.Вставить("РеквизитыПокупателя", РеквизитыПокупателя);
ОбластьМакета.Параметры.Заполнить(СтруктураДанныхПокупатель);
ТабличныйДокумент.Вывести(ОбластьМакета);
//+++
Запрос2 = Новый Запрос(
"ВЫБРАТЬ
| РасчетыСКлиентамиОстаткиИОбороты.СуммаКонечныйОстаток КАК СуммаКонечныйОстаток,
| РасчетыСКлиентамиОстаткиИОбороты.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| РасчетыСКлиентамиОстаткиИОбороты.Регистратор КАК Регистратор
|ИЗ
| РегистрНакопления.РасчетыСКлиентами.ОстаткиИОбороты(, , Регистратор, Движения, ) КАК РасчетыСКлиентамиОстаткиИОбороты
|ГДЕ
| РасчетыСКлиентамиОстаткиИОбороты.АналитикаУчетаПоПартнерам.Контрагент = &Контрагент
| И РасчетыСКлиентамиОстаткиИОбороты.Период = &Регистратор" );
Запрос2.УстановитьПараметр("Контрагент", ДанныеПечати.Получатель);
Запрос2.УстановитьПараметр("Регистратор", ДанныеПечати.Дата);
Результат2 = Запрос2.Выполнить();
ВыборкаДетальныеЗаписи2 = Результат2.Выбрать();
Если ВыборкаДетальныеЗаписи2.Следующий() Тогда
КонечныйДолг = ВыборкаДетальныеЗаписи2.СуммаКонечныйОстаток;
Если КонечныйДолг < 0 Тогда
ОбластьМакета.Параметры.ДолгИнфа = "Предоплата контрагента с учетом этой накладной составляет " + (-1)*КонечныйДолг + " руб.";
Иначе
ОбластьМакета.Параметры.ДолгИнфа = "Задолженность контрагента с учетом этой накладной составляет " + КонечныйДолг + " руб.";
КонецЕсли;
Иначе
ОбластьМакета.Параметры.ДолгИнфа = "";
КонецЕсли;
// Выводим дополнительно информацию о договоре и заказе ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Нашел форму печатную, в обработке ПечатьОбщихФорм
документ РеализацияТоваровУселуг
В Печатной форме добавил (В области "покупатель") ячейку с параметром <ДолгПолучателя>
КАК правильно выставить запрос, или не запрос, как правильно сделать?
в
Функцию ЗаполнитьТабличныйДокументРасходнаяНакладная
документ РеализацияТоваровУселуг
В Печатной форме добавил (В области "покупатель") ячейку с параметром <ДолгПолучателя>
КАК правильно выставить запрос, или не запрос, как правильно сделать?
в
Функцию ЗаполнитьТабличныйДокументРасходнаяНакладная
Запрос2 = Новый Запрос(
"ВЫБРАТЬ
| РасчетыСКлиентамиОстаткиИОбороты.СуммаКонечныйОстаток КАК СуммаКонечныйОстаток,
| РасчетыСКлиентамиОстаткиИОбороты.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| РасчетыСКлиентамиОстаткиИОбороты.Регистратор КАК Регистратор
|ИЗ
| РегистрНакопления.РасчетыСКлиентами.ОстаткиИОбороты(, , Регистратор, Движения, ) КАК РасчетыСКлиентамиОстаткиИОбороты
|ГДЕ
| РасчетыСКлиентамиОстаткиИОбороты.АналитикаУчетаПоПартнерам.Контрагент = &Контрагент
| И РасчетыСКлиентамиОстаткиИОбороты.Период = &Регистратор" );
Запрос2.УстановитьПараметр("Контрагент", ДанныеПечати.Получатель);
Запрос2.УстановитьПараметр("Регистратор", ДанныеПечати.Дата);
Результат2 = Запрос2.Выполнить();
ВыборкаДетальныеЗаписи2 = Результат2.Выбрать();
Если ВыборкаДетальныеЗаписи2.Следующий() Тогда
КонечныйДолг = ВыборкаДетальныеЗаписи2.СуммаКонечныйОстаток;
Если КонечныйДолг < 0 Тогда
ОбластьМакета.Параметры.ДолгИнфа = "Предоплата контрагента с учетом этой накладной составляет " + (-1)*КонечныйДолг + " руб.";
Иначе
ОбластьМакета.Параметры.ДолгИнфа = "Задолженность контрагента с учетом этой накладной составляет " + КонечныйДолг + " руб.";
КонецЕсли;
Иначе
ОбластьМакета.Параметры.ДолгИнфа = "";
КонецЕсли;
Показатьвот такой у меня пример печати долга контрагента в расходной накладной. Можите под себя его подрехтовать
Спасибо в накладной пусто, я чтото сделал не так.
=
// Выводим шапку накладной
ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
ШтрихкодированиеПечатныхФорм.ВывестиШтрихкодВТабличныйДокумент(ТабличныйДокумент, Макет, ОбластьМакета, ДанныеПечати.Ссылка);
ТекстЗаголовка = ОбщегоНазначенияУТКлиентСервер.СформироватьЗаголовокДокумента(ДанныеПечати, НСтр("ru='Расходная накладная';uk='Видаткова накладна'",КодЯзыкаПечать), КодЯзыкаПечать);
СтруктураДанныхШапки = Новый Структура;
СтруктураДанныхШапки.Вставить("ТекстЗаголовка", ТекстЗаголовка);
ОбластьМакета.Параметры.Заполнить(СтруктураДанныхШапки);
ТабличныйДокумент.Вывести(ОбластьМакета);
СведенияОПоставщике = ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Организация, ДанныеПечати.Дата,,ДанныеПечати.БанковскийСчетОрганизации);
СведенияОПокупателе = ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Получатель, ДанныеПечати.Дата,,ДанныеПечати.БанковскийСчетКонтрагента);
ОбластьМакета = Макет.ПолучитьОбласть("Поставщик");
ПредставлениеПоставщика = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПоставщике, "ПолноеНаименование",,КодЯзыкаПечать);
РеквизитыПоставщика = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПоставщике, "НомерСчета,Банк,МФО,/,ЮридическийАдрес,Телефоны,/,КодПоЕДРПОУ,КодПоДРФО,ИНН,НомерСвидетельства,/,ИнформацияОСтатусеПлательщикаНалогов,",,КодЯзыкаПечать);
СтруктураДанныхПоставщик = Новый Структура;
СтруктураДанныхПоставщик.Вставить("ПредставлениеПоставщика", ПредставлениеПоставщика);
СтруктураДанныхПоставщик.Вставить("Поставщик", ДанныеПечати.Организация);
СтруктураДанныхПоставщик.Вставить("РеквизитыПоставщика", РеквизитыПоставщика);
ОбластьМакета.Параметры.Заполнить(СтруктураДанныхПоставщик);
ТабличныйДокумент.Вывести(ОбластьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("Покупатель");
ПредставлениеПолучателя = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПокупателе, "ПолноеНаименование",,КодЯзыкаПечать);
РеквизитыПокупателя = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПокупателе, "ФактическийАдрес,Телефоны,",,КодЯзыкаПечать);
СтруктураДанныхПокупатель = Новый Структура;
СтруктураДанныхПокупатель.Вставить("ПредставлениеПолучателя", ПредставлениеПолучателя);
СтруктураДанныхПокупатель.Вставить("Получатель", ДанныеПечати.Получатель);
СтруктураДанныхПокупатель.Вставить("РеквизитыПокупателя", РеквизитыПокупателя);
ОбластьМакета.Параметры.Заполнить(СтруктураДанныхПокупатель);
ТабличныйДокумент.Вывести(ОбластьМакета);
//+++
Запрос2 = Новый Запрос(
"ВЫБРАТЬ
| РасчетыСКлиентамиОстаткиИОбороты.СуммаКонечныйОстаток КАК СуммаКонечныйОстаток,
| РасчетыСКлиентамиОстаткиИОбороты.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| РасчетыСКлиентамиОстаткиИОбороты.Регистратор КАК Регистратор
|ИЗ
| РегистрНакопления.РасчетыСКлиентами.ОстаткиИОбороты(, , Регистратор, Движения, ) КАК РасчетыСКлиентамиОстаткиИОбороты
|ГДЕ
| РасчетыСКлиентамиОстаткиИОбороты.АналитикаУчетаПоПартнерам.Контрагент = &Контрагент
| И РасчетыСКлиентамиОстаткиИОбороты.Период = &Регистратор" );
Запрос2.УстановитьПараметр("Контрагент", ДанныеПечати.Получатель);
Запрос2.УстановитьПараметр("Регистратор", ДанныеПечати.Дата);
Результат2 = Запрос2.Выполнить();
ВыборкаДетальныеЗаписи2 = Результат2.Выбрать();
Если ВыборкаДетальныеЗаписи2.Следующий() Тогда
КонечныйДолг = ВыборкаДетальныеЗаписи2.СуммаКонечныйОстаток;
Если КонечныйДолг < 0 Тогда
ОбластьМакета.Параметры.ДолгИнфа = "Предоплата контрагента с учетом этой накладной составляет " + (-1)*КонечныйДолг + " руб.";
Иначе
ОбластьМакета.Параметры.ДолгИнфа = "Задолженность контрагента с учетом этой накладной составляет " + КонечныйДолг + " руб.";
КонецЕсли;
Иначе
ОбластьМакета.Параметры.ДолгИнфа = "";
КонецЕсли;
// Выводим дополнительно информацию о договоре и заказе Показать
Не понравилось описанное здесь решение. Данная схема считает долг по текущему документу, по которому печатается форма. Если Вам нужно выводить общий долг клиента на текущий момент, то можете использовать следующий способ:
В таком случае, будет выводиться общий долг клиента на текущий момент времени (с учетом текущего документа). Может быть кому-нибудь пригодиться.
ЗапросДолга = Новый Запрос(
"ВЫБРАТЬ
| РасчетыСКлиентамиОстатки.АналитикаУчетаПоПартнерам.Контрагент КАК АналитикаУчетаПоПартнерамКонтрагент,
| РасчетыСКлиентамиОстатки.КОплатеОстаток КАК Долг
|ИЗ
| РегистрНакопления.РасчетыСКлиентами.Остатки КАК РасчетыСКлиентамиОстатки
|ГДЕ
| РасчетыСКлиентамиОстатки.АналитикаУчетаПоПартнерам.Контрагент = &Контрагент");
ЗапросДолга.УстановитьПараметр("Контрагент",ДанныеПечати.Получатель);
РезультатЗапросаДолга = ЗапросДолга.Выполнить();
ОбластьПодвалТаблицыДолг = Макет.ПолучитьОбласть("ПодвалТаблицыДолг");
ВыборкаДляДолга = РезультатЗапросаДолга.Выбрать();
Если ВыборкаДляДолга.Следующий() Тогда
ИтоговыйДолг = ВыборкаДляДолга.Долг;
Иначе
ИтоговыйДолг = "- ";
КонецЕсли;
ОбластьПодвалТаблицыДолг.Параметры.ОбщийДолгКлиента = ИтоговыйДолг+" ";
ТабличныйДокумент.Вывести(ОбластьПодвалТаблицыДолг); ПоказатьВ таком случае, будет выводиться общий долг клиента на текущий момент времени (с учетом текущего документа). Может быть кому-нибудь пригодиться.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот
