Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
23 Июл 2017, 15:40
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: (Не выводит в макет)  (Прочитано 689 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн GanG031

  • ***
  • Сообщений: 146
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-10-28
  • Сайт: 
  • Профессия: Ученик 1С
Доброго времени суток! Пишу отчет, точнее переделываю с обычных форм на управляемые, вот текст в управляемом приложении:

Процедура Сформировать(Команда)
   
    СформироватьНаСервере();

   
КонецПроцедуры

&НаСервере
Процедура СформироватьНаСервере()
      
   ТаличныйДокумент.Очистить();
   Запрос = Новый  Запрос;
   Запрос.Текст =
   "ВЫБРАТЬ
   |   СУММА(ПоступлениеТоваровУслуг.СуммаДокумента) КАК СуммаПокупок,
   |   СУММА(1) КАК КоличествоПокупок
   |ИЗ
   |   Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
   |ГДЕ
   |   ПоступлениеТоваровУслуг.Проведен = ИСТИНА
   |   И ПоступлениеТоваровУслуг.СуммаДокумента <= &СуммаДокумента
   |   И ПоступлениеТоваровУслуг.Дата МЕЖДУ &НачПериода И &КонПериода" ;
   Запрос.УстановитьПараметр("НачПериода", Период.ДатаНачала);
   Запрос.УстановитьПараметр("КонПериода",Период.ДатаОкончания);
   Запрос.УстановитьПараметр("СуммаДокумента", СуммаДокумента);
   Макет = РеквизитФормыВЗначение("Отчет").ПолучитьМакет("Макет");
   ОП = Макет.ПолучитьОбласть("Область");
   ОП.Параметры.ПериодОтчета = "" + Формат(Период.ДатаНачала, "ДФ=dd.MM.yyyy") + " - " + Формат(Период.ДатаОкончания, "ДФ=dd.MM.yyyy");
   
   ТабРез = Запрос.Выполнить().Выгрузить();
   Если Не ТабРез.Количество() = 0 Тогда
      ОП.Параметры.Заполнить(ТабРез[0]);
      ОП.Параметры.ТекущаяДата = ТекущаяДата();
      ТаличныйДокумент.Вывести(ОП);
   КонецЕсли   

КонецПроцедуры


Все это пишется в модуле формы, так же есть макет. Сам запрос верный, проверял в консоле запросов, но вот выводить в макет никак не хочет, выыводит только пустой макет. Я так понимаю, что не правильно передал какие то параметры, но вот не пойму  где ошибка...Подскажите пожалуйста! Заранее спасибо!




Оффлайн GanG031

  • ***
  • Сообщений: 146
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-10-28
  • Сайт: 
  • Профессия: Ученик 1С
Период - Реквизит формы, имеющий тип "Стандартный период"

Оффлайн LexaK

  • *****
  • Сообщений: 1246
  • РЕПУТАЦИЯ: 344
  • КПД: 28%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
необходимо сформировать табличный документ, вернуть его на клента и там его показать
ваш код с небольшими корректировками, попробуйте


&НаКлиенте
Процедура Сформировать(Команда)
    лкТаб = 0;
    СформироватьНаСервере(лкТаб);
    лкТаб.Показать(,,Ложь);
   
КонецПроцедуры

&НаСервере
Процедура СформироватьНаСервере(лкТаб)

   лкТаб = Новый ТабличныйДокумент;

   //ТаличныйДокумент.Очистить();
   Запрос = Новый  Запрос;
   Запрос.Текст =
   "ВЫБРАТЬ
   |   СУММА(ПоступлениеТоваровУслуг.СуммаДокумента) КАК СуммаПокупок,
   |   СУММА(1) КАК КоличествоПокупок
   |ИЗ
   |   Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
   |ГДЕ
   |   ПоступлениеТоваровУслуг.Проведен = ИСТИНА
   |   И ПоступлениеТоваровУслуг.СуммаДокумента <= &СуммаДокумента
   |   И ПоступлениеТоваровУслуг.Дата МЕЖДУ &НачПериода И &КонПериода" ;
   Запрос.УстановитьПараметр("НачПериода", Период.ДатаНачала);
   Запрос.УстановитьПараметр("КонПериода",Период.ДатаОкончания);
   Запрос.УстановитьПараметр("СуммаДокумента", СуммаДокумента);
   Макет = РеквизитФормыВЗначение("Отчет").ПолучитьМакет("Макет");
   ОП = Макет.ПолучитьОбласть("Область");
   ОП.Параметры.ПериодОтчета = "" + Формат(Период.ДатаНачала, "ДФ=dd.MM.yyyy") + " - " + Формат(Период.ДатаОкончания, "ДФ=dd.MM.yyyy");
   
   ТабРез = Запрос.Выполнить().Выгрузить();
   //таблицу лучше обходить для каждого ...
   //такой код подходит для всех случаев 0 строк в таблице, 1 или несколько
   Для каждого лкСтр из ТабРез Цикл   
      ОП.Параметры.Заполнить(лкСтр);
      ОП.Параметры.ТекущаяДата = ТекущаяДата();
      лкТаб.Вывести(ОП);
   КонецЦикла;

   //Если Не ТабРез.Количество() = 0 Тогда
      //ОП.Параметры.Заполнить(ТабРез[0]);
      //ОП.Параметры.ТекущаяДата = ТекущаяДата();
      //лкТаб.Вывести(ОП);
   //КонецЕсли   

КонецПроцедуры

Помогло? - Нажми СПАСИБО!!!
                       :)

Оффлайн GanG031

  • ***
  • Сообщений: 146
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-10-28
  • Сайт: 
  • Профессия: Ученик 1С
Ругается: Переменная не определена (лкТаб)
в процедуре свормировать я ее объявил как у вас, лкТаб = 0....
Добавлено: 23 Мар 2016, 13:27

эммм...мне нужно вывести в табличный документ, который уже есть на форме. Сделал вот так:

&НаКлиенте
Процедура Сформировать(Команда)
   
    СформироватьНаСервере();
     ТаличныйДокумент.Показать(,,Ложь);

   
КонецПроцедуры

&НаСервере
Процедура СформироватьНаСервере()
   ЛкТаб = Новый ТабличныйДокумент;   
   ТаличныйДокумент.Очистить();
   Запрос = Новый  Запрос;
   Запрос.Текст =
   "ВЫБРАТЬ
   |   СУММА(ПоступлениеТоваровУслуг.СуммаДокумента) КАК СуммаПокупок,
   |   СУММА(1) КАК КоличествоПокупок
   |ИЗ
   |   Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
   |ГДЕ
   |   ПоступлениеТоваровУслуг.Проведен = ИСТИНА
   |   И ПоступлениеТоваровУслуг.СуммаДокумента <= &СуммаДокумента
   |   И ПоступлениеТоваровУслуг.Дата МЕЖДУ &НачПериода И &КонПериода" ;
   Запрос.УстановитьПараметр("НачПериода", Период.ДатаНачала);
   Запрос.УстановитьПараметр("КонПериода",Период.ДатаОкончания);
   Запрос.УстановитьПараметр("СуммаДокумента", СуммаДокумента);
   Макет = РеквизитФормыВЗначение("Отчет").ПолучитьМакет("Макет");
   ОП = Макет.ПолучитьОбласть("Область");
   ОП.Параметры.ПериодОтчета = "" + Формат(Период.ДатаНачала, "ДФ=dd.MM.yyyy") + " - " + Формат(Период.ДатаОкончания, "ДФ=dd.MM.yyyy");
   
   ТабРез = Запрос.Выполнить().Выгрузить();
   //Если Не ТабРез.Количество() = 0 Тогда
   //   ОП.Параметры.Заполнить(ТабРез[0]);
   //   ОП.Параметры.ТекущаяДата = ТекущаяДата();
   //   ТаличныйДокумент.Вывести(ОП);
   //КонецЕсли   
   Для каждого лкСтр Из ТабРез Цикл
   
          ОП.Параметры.Заполнить(лкСтр);
      ОП.Параметры.ТекущаяДата = ТекущаяДата();
      ТаличныйДокумент.Вывести(ОП);
   
   КонецЦикла;


но что то опять нет то...

Последний раз редактировалось: GanG031; 23 Мар 2016, 13:27. Причина: Объединение сообщений

Оффлайн LexaK

  • *****
  • Сообщений: 1246
  • РЕПУТАЦИЯ: 344
  • КПД: 28%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
ну вы блин даете!!! откуда у вас пальцы растут? что уже даже не можете кусок кода скопировать один в один!!! :angry:
я же прислал вам ваш же, исправленный код!
а вы запускаете совсем не то, и пишите про ошибки! :wacko:

да-а-а, клиника. :^454^:
Помогло? - Нажми СПАСИБО!!!
                       :)

Оффлайн GanG031

  • ***
  • Сообщений: 146
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-10-28
  • Сайт: 
  • Профессия: Ученик 1С
а как вывести в табличный документ, который размещен на форме?


Теги:
 

Управляемые формы -макет печатной формы

Автор leoshko84Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 274
Последний ответ 27 Апр 2017, 16:04
от Kironten
Где лежит макет "Ценники на товары"

Автор hunterr5Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 2356
Последний ответ 28 Сен 2010, 11:22
от hunterr5
вывести макет с внешн. отчета в табличную часть отчета..

Автор sergei82Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 7
Просмотров: 4553
Последний ответ 28 Янв 2010, 09:07
от Slin
Макет "Счет на оплату (с учетом корректировок)" в УПП 8.2

Автор isiterРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 4708
Последний ответ 21 Ноя 2013, 12:36
от isiter
Как изменить макет печатной формы документа "Прием в ремонт" УНФ 1.6 Платформа 8.3

Автор AlexK39Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 545
Последний ответ 11 Дек 2016, 15:32
от cast

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

oleg-x
105 Сообщений
alex0402
93 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
65 Сообщений
Golickoff Golickoff
49 Сообщений
ilyay ilyay
49 Сообщений
AIFrame
47 Сообщений
ab30ru
38 Сообщений
wise wise
34 Сообщений
Амал
30 Сообщений
LexaK
22 Сообщений

* Кто онлайн

  • Точка Гостей: 217
  • Точка Скрытых: 0
  • Точка Пользователей: 7
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal