Как вывести в печатную форму данные о задолженности клиента. Ут 11

1. seregapplk 20.08.21 15:40 Сейчас в теме
Нужно в печатную форму добавить долг клиента.
Откуда правильно взять и как добавить?
По теме из базы знаний
Найденные решения
12. DenisVol 3 21.08.21 09:36 Сейчас в теме
Запрос2 = Новый Запрос(

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

		Если ВыборкаДетальныеЗаписи2.Следующий() Тогда
			КонечныйДолг = ВыборкаДетальныеЗаписи2.СуммаКонечныйОстаток;
			Если КонечныйДолг < 0 Тогда
				ОбластьМакета.Параметры.ДолгИнфа = "Предоплата контрагента с учетом этой накладной составляет  " + (-1)*КонечныйДолг + " руб.";
			Иначе
				ОбластьМакета.Параметры.ДолгИнфа = "Задолженность контрагента с учетом этой накладной составляет  " + КонечныйДолг + " руб.";
			КонецЕсли;	
		Иначе
			ОбластьМакета.Параметры.ДолгИнфа = "";
		КонецЕсли;

Показать


вот такой у меня пример печати долга контрагента в расходной накладной. Можите под себя его подрехтовать
sergdmt; seregapplk; +2 Ответить
13. seregapplk 21.08.21 10:23 Сейчас в теме
Спасибо в накладной пусто, я чтото сделал не так.
// Выводим шапку накладной
		ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
		ШтрихкодированиеПечатныхФорм.ВывестиШтрихкодВТабличныйДокумент(ТабличныйДокумент, Макет, ОбластьМакета, ДанныеПечати.Ссылка);
		
		ТекстЗаголовка = ОбщегоНазначенияУТКлиентСервер.СформироватьЗаголовокДокумента(ДанныеПечати, НСтр("ru='Расходная накладная';uk='Видаткова накладна'",КодЯзыкаПечать), КодЯзыкаПечать);
		
		СтруктураДанныхШапки = Новый Структура;
		СтруктураДанныхШапки.Вставить("ТекстЗаголовка", ТекстЗаголовка);
		ОбластьМакета.Параметры.Заполнить(СтруктураДанныхШапки);
		ТабличныйДокумент.Вывести(ОбластьМакета);
		
		СведенияОПоставщике	= ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Организация, ДанныеПечати.Дата,,ДанныеПечати.БанковскийСчетОрганизации);	
		СведенияОПокупателе = ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Получатель,  ДанныеПечати.Дата,,ДанныеПечати.БанковскийСчетКонтрагента);

		ОбластьМакета                                   = Макет.ПолучитьОбласть("Поставщик");
		ПредставлениеПоставщика                         = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПоставщике, "ПолноеНаименование",,КодЯзыкаПечать);
		РеквизитыПоставщика                             = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПоставщике, "НомерСчета,Банк,МФО,/,ЮридическийАдрес,Телефоны,/,КодПоЕДРПОУ,КодПоДРФО,ИНН,НомерСвидетельства,/,ИнформацияОСтатусеПлательщикаНалогов,",,КодЯзыкаПечать);
		
		СтруктураДанныхПоставщик = Новый Структура;
		СтруктураДанныхПоставщик.Вставить("ПредставлениеПоставщика", ПредставлениеПоставщика);
		СтруктураДанныхПоставщик.Вставить("Поставщик", ДанныеПечати.Организация);
		СтруктураДанныхПоставщик.Вставить("РеквизитыПоставщика", РеквизитыПоставщика);
		ОбластьМакета.Параметры.Заполнить(СтруктураДанныхПоставщик);
		ТабличныйДокумент.Вывести(ОбластьМакета);
		
		ОбластьМакета                                   = Макет.ПолучитьОбласть("Покупатель");
		ПредставлениеПолучателя                         = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПокупателе, "ПолноеНаименование",,КодЯзыкаПечать);
		РеквизитыПокупателя                             = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПокупателе, "ФактическийАдрес,Телефоны,",,КодЯзыкаПечать);
				СтруктураДанныхПокупатель = Новый Структура;
		СтруктураДанныхПокупатель.Вставить("ПредставлениеПолучателя", ПредставлениеПолучателя);
		СтруктураДанныхПокупатель.Вставить("Получатель", ДанныеПечати.Получатель);
		СтруктураДанныхПокупатель.Вставить("РеквизитыПокупателя", РеквизитыПокупателя);
		ОбластьМакета.Параметры.Заполнить(СтруктураДанныхПокупатель);
		ТабличныйДокумент.Вывести(ОбластьМакета);
		//+++
		 Запрос2 = Новый Запрос(

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

        Если ВыборкаДетальныеЗаписи2.Следующий() Тогда
            КонечныйДолг = ВыборкаДетальныеЗаписи2.СуммаКонечныйОстаток;
            Если КонечныйДолг < 0 Тогда
                ОбластьМакета.Параметры.ДолгИнфа = "Предоплата контрагента с учетом этой накладной составляет  " + (-1)*КонечныйДолг + " руб.";
            Иначе
                ОбластьМакета.Параметры.ДолгИнфа = "Задолженность контрагента с учетом этой накладной составляет  " + КонечныйДолг + " руб.";
            КонецЕсли;    
        Иначе
            ОбластьМакета.Параметры.ДолгИнфа = "";
        КонецЕсли;
		// Выводим дополнительно информацию о договоре и заказе        
Показать
=
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Guyer 20 20.08.21 15:56 Сейчас в теме
Ну в макете сделать новое поле
Долг взять из Регистра РасчетыСКлиентами
3. Guyer 20 20.08.21 15:56 Сейчас в теме
В Пользовательском режиме явно не получится
4. seregapplk 20.08.21 15:57 Сейчас в теме
можно менять конфигурацию
5. Guyer 20 20.08.21 16:00 Сейчас в теме
Да причём тут можно или нельзя, расширениями делается 90%
8. M_A_D 184 20.08.21 16:45 Сейчас в теме
(5) да и расширения - лишнее, можно сделать ВПФ))
Тогда и расширения не нужно делать))
9. seregapplk 20.08.21 16:48 Сейчас в теме
где найти ПФ в Конфигураторе,
у меня еще и языки же (
6. seregapplk 20.08.21 16:01 Сейчас в теме
7. seregapplk 20.08.21 16:05 Сейчас в теме
10. seregapplk 20.08.21 17:00 Сейчас в теме
Помогите с постройкой запроса
11. seregapplk 21.08.21 08:59 Сейчас в теме
Нашел форму печатную, в обработке ПечатьОбщихФорм
документ РеализацияТоваровУселуг
В Печатной форме добавил (В области "покупатель") ячейку с параметром <ДолгПолучателя>
КАК правильно выставить запрос, или не запрос, как правильно сделать?
в
Функцию ЗаполнитьТабличныйДокументРасходнаяНакладная
12. DenisVol 3 21.08.21 09:36 Сейчас в теме
Запрос2 = Новый Запрос(

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

		Если ВыборкаДетальныеЗаписи2.Следующий() Тогда
			КонечныйДолг = ВыборкаДетальныеЗаписи2.СуммаКонечныйОстаток;
			Если КонечныйДолг < 0 Тогда
				ОбластьМакета.Параметры.ДолгИнфа = "Предоплата контрагента с учетом этой накладной составляет  " + (-1)*КонечныйДолг + " руб.";
			Иначе
				ОбластьМакета.Параметры.ДолгИнфа = "Задолженность контрагента с учетом этой накладной составляет  " + КонечныйДолг + " руб.";
			КонецЕсли;	
		Иначе
			ОбластьМакета.Параметры.ДолгИнфа = "";
		КонецЕсли;

Показать


вот такой у меня пример печати долга контрагента в расходной накладной. Можите под себя его подрехтовать
sergdmt; seregapplk; +2 Ответить
13. seregapplk 21.08.21 10:23 Сейчас в теме
Спасибо в накладной пусто, я чтото сделал не так.
// Выводим шапку накладной
		ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
		ШтрихкодированиеПечатныхФорм.ВывестиШтрихкодВТабличныйДокумент(ТабличныйДокумент, Макет, ОбластьМакета, ДанныеПечати.Ссылка);
		
		ТекстЗаголовка = ОбщегоНазначенияУТКлиентСервер.СформироватьЗаголовокДокумента(ДанныеПечати, НСтр("ru='Расходная накладная';uk='Видаткова накладна'",КодЯзыкаПечать), КодЯзыкаПечать);
		
		СтруктураДанныхШапки = Новый Структура;
		СтруктураДанныхШапки.Вставить("ТекстЗаголовка", ТекстЗаголовка);
		ОбластьМакета.Параметры.Заполнить(СтруктураДанныхШапки);
		ТабличныйДокумент.Вывести(ОбластьМакета);
		
		СведенияОПоставщике	= ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Организация, ДанныеПечати.Дата,,ДанныеПечати.БанковскийСчетОрганизации);	
		СведенияОПокупателе = ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Получатель,  ДанныеПечати.Дата,,ДанныеПечати.БанковскийСчетКонтрагента);

		ОбластьМакета                                   = Макет.ПолучитьОбласть("Поставщик");
		ПредставлениеПоставщика                         = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПоставщике, "ПолноеНаименование",,КодЯзыкаПечать);
		РеквизитыПоставщика                             = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПоставщике, "НомерСчета,Банк,МФО,/,ЮридическийАдрес,Телефоны,/,КодПоЕДРПОУ,КодПоДРФО,ИНН,НомерСвидетельства,/,ИнформацияОСтатусеПлательщикаНалогов,",,КодЯзыкаПечать);
		
		СтруктураДанныхПоставщик = Новый Структура;
		СтруктураДанныхПоставщик.Вставить("ПредставлениеПоставщика", ПредставлениеПоставщика);
		СтруктураДанныхПоставщик.Вставить("Поставщик", ДанныеПечати.Организация);
		СтруктураДанныхПоставщик.Вставить("РеквизитыПоставщика", РеквизитыПоставщика);
		ОбластьМакета.Параметры.Заполнить(СтруктураДанныхПоставщик);
		ТабличныйДокумент.Вывести(ОбластьМакета);
		
		ОбластьМакета                                   = Макет.ПолучитьОбласть("Покупатель");
		ПредставлениеПолучателя                         = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПокупателе, "ПолноеНаименование",,КодЯзыкаПечать);
		РеквизитыПокупателя                             = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПокупателе, "ФактическийАдрес,Телефоны,",,КодЯзыкаПечать);
				СтруктураДанныхПокупатель = Новый Структура;
		СтруктураДанныхПокупатель.Вставить("ПредставлениеПолучателя", ПредставлениеПолучателя);
		СтруктураДанныхПокупатель.Вставить("Получатель", ДанныеПечати.Получатель);
		СтруктураДанныхПокупатель.Вставить("РеквизитыПокупателя", РеквизитыПокупателя);
		ОбластьМакета.Параметры.Заполнить(СтруктураДанныхПокупатель);
		ТабличныйДокумент.Вывести(ОбластьМакета);
		//+++
		 Запрос2 = Новый Запрос(

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

        Если ВыборкаДетальныеЗаписи2.Следующий() Тогда
            КонечныйДолг = ВыборкаДетальныеЗаписи2.СуммаКонечныйОстаток;
            Если КонечныйДолг < 0 Тогда
                ОбластьМакета.Параметры.ДолгИнфа = "Предоплата контрагента с учетом этой накладной составляет  " + (-1)*КонечныйДолг + " руб.";
            Иначе
                ОбластьМакета.Параметры.ДолгИнфа = "Задолженность контрагента с учетом этой накладной составляет  " + КонечныйДолг + " руб.";
            КонецЕсли;    
        Иначе
            ОбластьМакета.Параметры.ДолгИнфа = "";
        КонецЕсли;
		// Выводим дополнительно информацию о договоре и заказе        
Показать
=
14. DenisVol 3 21.08.21 10:25 Сейчас в теме
вообще пусто? или не показало долг?
seregapplk; +1 Ответить
15. seregapplk 21.08.21 10:30 Сейчас в теме
16. DenisVol 3 21.08.21 10:33 Сейчас в теме
вы водите его в отдельно области или в области "покупатель"?
seregapplk; +1 Ответить
17. seregapplk 21.08.21 10:34 Сейчас в теме
Тут же все верно?
Прикрепленные файлы:
18. DenisVol 3 21.08.21 10:34 Сейчас в теме
если в области "покупатель", то по коду вы вывели область раньше, чем получили долг
seregapplk; +1 Ответить
19. DenisVol 3 21.08.21 10:35 Сейчас в теме
перенесите строку ТабличныйДокумент.Вывести(ОбластьМакета); после получения долга
seregapplk; +1 Ответить
20. DenisVol 3 21.08.21 10:36 Сейчас в теме
через сообщить или отладчиком проверьте "ДолгИнфа"
21. seregapplk 21.08.21 10:39 Сейчас в теме
Спасибо огромное, просто огромное! сейчас языки подправлю и в бой))
22. DenisVol 3 21.08.21 10:44 Сейчас в теме
я вам и на Про1с ответил нажмите там спасибо для рейтинга
23. DenisVol 3 21.08.21 10:44 Сейчас в теме
и тут выберите, что это решение Вашей задачи
seregapplk; +1 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот