Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Печать Долг клиента в печатной форме Реализация товаров и услуг

Печать Долг клиента в печатной форме Реализация товаров и услуг
Я
   seregapplk
 
21.08.21 - 08:58
Нашел форму печатную, в обработке ПечатьОбщихФорм
документ РеализацияТоваровУселуг
В Печатной форме добавил (В области "покупатель") ячейку с параметром <ДолгПолучателя>
КАК правильно ыставить запрос или не запрос в
Функцию ЗаполнитьТабличныйДокументРасходнаяНакладная
   seregapplk
 
1 - 21.08.21 - 09:03
УТ11, забыл написать
   seregapplk
 
2 - 21.08.21 - 09:04
как правильно туда запихнуть долг клиента
   hhhh
 
3 - 21.08.21 - 09:09
как правильно вставить? И как правильно запихнуть? Ну и вопросы. Вы не Ливингстар случаем?
   seregapplk
 
4 - 21.08.21 - 09:16
)))
Помогите правильно составить
   seregapplk
 
5 - 21.08.21 - 09:21
без запроса получиться
к примеру 
= РегистрыНакопления.РасчетыСКлиентами.Остатки
   hhhh
 
6 - 21.08.21 - 09:36
(5) делай отдельную функцию.

долгклиента = ПолучитьДолгКлиента()

чтобы проще было потом обновлять.
   DrShad
 
7 - 21.08.21 - 09:39
на форме документа у тебя уже есть расчет долга - вот его и смотри
а вообще за такие задачи нужно в колено выстрелить
   seregapplk
 
8 - 21.08.21 - 09:59
(7) нет на форме долг по накладной, а нужен общий по догогвору
   seregapplk
 
9 - 21.08.21 - 10:00
ОбластьМакета                                   = Макет.ПолучитьОбласть("Покупатель");
        ПредставлениеПолучателя                         = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПокупателе, "ПолноеНаименование",,КодЯзыкаПечать);
        РеквизитыПокупателя                             = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПокупателе, "ФактическийАдрес,Телефоны,",,КодЯзыкаПечать);
        ДолгИнфа                                        = ????
  как сюда прикрутить результат запроса

Запрос2 = Новый Запрос(

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

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

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

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

         Запрос2 = Новый Запрос(

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

        Если ВыборкаДетальныеЗаписи2.Следующий() Тогда
            КонечныйДолг = ВыборкаДетальныеЗаписи2.СуммаКонечныйОстаток;
            Если КонечныйДолг < 0 Тогда
                ОбластьМакета.Параметры.ДолгИнфа = "Предоплата контрагента с учетом этой накладной составляет  " + (-1)*КонечныйДолг + " руб.";
            Иначе
                ОбластьМакета.Параметры.ДолгИнфа = "Задолженность контрагента с учетом этой накладной составляет  " + КонечныйДолг + " руб.";
            КонецЕсли;    
        Иначе
            ОбластьМакета.Параметры.ДолгИнфа = "";
        КонецЕсли;
        // Выводим дополнительно информацию о договоре и заказе
   seregapplk
 
12 - 21.08.21 - 10:53
разобрался, спасибо
   Ненавижу 1С
 
13 - 21.08.21 - 14:26
а клиент будет рад тому, что его его кладовщик, например, получив накладную на руки, узнает ситуацию с задолженностью?
   kubik_live
 
14 - 21.08.21 - 15:48
(11)
А это совсем плохо:
Запрос2.УстановитьПараметр("Регистратор", ДанныеПечати.Дата);

Может оказаться что долг на ДанныеПечати.Дата будет рассчитан неверно.

Используй Граница(...)
   Biker
 
15 - 21.08.21 - 16:04
(14) а остальное хорошо ? вместо впф, шашкой помахал, зато быстро.

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