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

Автор Тема: Скд и свой макет  (Прочитано 1787 раз)

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

Оффлайн Пустовалов Артем

  • **
  • Сообщений: 97
  • РЕПУТАЦИЯ: 2
  • КПД: 2%
  • Регистрация: 2015-10-14
  • Сайт: 
  • Профессия: Ученик 1С
Добрый всем день! Есть отчет СКД где добавляются области из другого макета. Добавляю заголовок, шапку,начальныйОстаток, таблицу из СКД, конечный остаток. По сути конечный остаток должен выводиться после таблицы, но он выводится до нее, почему? в чем косяк?

СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");

//Из Специального объекта "КомпоновщикНастроек",
// предназначенного для редактирования настроек отчета, возьмем настройки
Настройки = КомпоновщикНастроек.Настройки;
ПользовательскиеНастройки = КомпоновщикНастроек.ПользовательскиеНастройки;

НачалоПериодаПараметр   = ПользовательскиеНастройки.Элементы.Получить(0);
КонецПериодаПараметр   = ПользовательскиеНастройки.Элементы.Получить(1);
НоменклатураПараметр   = ПользовательскиеНастройки.Элементы.Получить(2);
СкладПараметр = ПользовательскиеНастройки.Элементы.Получить(3);

НачалоПериода   = НачалоПериодаПараметр.Значение;
КонецПериода    = КонецПериодаПараметр.Значение;
Номенклатура    = НоменклатураПараметр.Значение;
Склад = СкладПараметр.Значение;

Артикул = НоменклатураПараметр.Значение.Артикул;
ВидНоменклатуры = НоменклатураПараметр.Значение.ВидНоменклатуры;
ЕдиницаЗначений = НоменклатураПараметр.Значение.ЕдиницаИзмерения;
КодЕд = НоменклатураПараметр.Значение.ЕдиницаИзмерения.Код;

//Помещаем в переменную данные о расшифровке данных
ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;

//Инициализируем КомпоновщикМакетаКомпоновкиДанных, объект для создания макета компоновки данных
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;

//Передаем в макет компоновки схему, настройки и данные расшифровки
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,
Настройки, ДанныеРасшифровки);

МакетКопоновкиДляТЗ = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,КомпоновщикНастроек.ПолучитьНастройки(),,,Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));


//Выполним компоновку данных с помощью специального объекта "процессор компоновки"
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,,ДанныеРасшифровки);

ПроцессорКомпоновкиДанныхДляТЗ = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанныхДляТЗ.Инициализировать(МакетКопоновкиДляТЗ);

//Очищаем поле табличного документа в форме отчета
ДокументРезультат.Очистить();

Макет = ПолучитьМакет("Макет");
Заголовок = Макет.ПолучитьОбласть("Заголовок");
Заголовок.Параметры.ПечКодМатериала = Артикул;
Заголовок.Параметры.ВидНоменклатуры = ВидНоменклатуры;
Заголовок.Параметры.Склад = Склад;
Заголовок.Параметры.Артикул = Артикул;
Заголовок.Параметры.КодЕдИзм = КодЕд;
Заголовок.Параметры.ПечЕдИзм = ЕдиницаЗначений;
Заголовок.Параметры.ПечМатериал = Номенклатура;

ДокументРезультат.Вывести(Заголовок);

Шапка = Макет.ПолучитьОбласть("Шапка");
ДокументРезультат.Вывести(Шапка);


//ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
//ПроцессорВывода.Вывести(ПроцессорКомпоновки);

ТаблицаРезультат = Новый ТаблицаЗначений;
    ПроцессорВыводаДляТЗ = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;

    ПроцессорВыводаДляТЗ.УстановитьОбъект(ТаблицаРезультат);
    ПроцессорВыводаДляТЗ.Вывести(ПроцессорКомпоновкиДанныхДляТЗ);

НачОст = Макет.ПолучитьОбласть("ТабНачОст");

Для каждого стр из ТаблицаРезультат Цикл
Если стр.КолНачОст <> 0 И стр.КолНачОст <> Неопределено тогда
НачОст.Параметры.ПечДатаЗаписи = НачалоПериода;
НачОст.Параметры.ВидРасхода = "Остаток на дату " + Формат( НачалоПериода, "ДЛФ=DD");
НачОст.Параметры.ПечЕдИзм = ЕдиницаЗначений;
НачОст.Параметры.ПечОстаток = стр.КолНачОст;
конецЕсли;
КонецЦикла;

ДокументРезультат.Вывести(НачОст);

//Выводим результат в табличный документ на форме отчета
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);

КонОст = Макет.ПолучитьОбласть("ТабКонОст");

Для каждого стр из ТаблицаРезультат Цикл
Если стр.КолКонОст <> 0 И стр.КолКонОст <> Неопределено тогда

КонОст.Параметры.ПечДатаЗаписи = КонецПериода;
КонОст.Параметры.ВидРасхода = "Остаток на дату " + Формат( КонецПериода, "ДЛФ=DD");
КонОст.Параметры.ПечЕдИзм = ЕдиницаЗначений;
КонОст.Параметры.ПечОстаток = стр.КолКонОст;

КонецЕсли;
КонецЦикла;

КонОст.Параметры.ПечПриход = ТаблицаРезультат.Итог("КолПриход");
КонОст.Параметры.ПечРасход = ТаблицаРезультат.Итог("КолРасход");

ДокументРезультат.Вывести(КонОст);


Онлайн Kironten

  • *****
  • Сообщений: 793
  • РЕПУТАЦИЯ: 169
  • КПД: 21%
  • Регистрация: 2013-08-12
  • Сайт: 
  • Профессия: Ученик 1С
Re: Скд и свой макет
« Ответ #1: 11 Апр 2016, 16:45 »
Ну, выведите результат компоновки в промежуточный табличный документ, а уже потом из него в ДокументРезультат

Оффлайн Пустовалов Артем

  • **
  • Сообщений: 97
  • РЕПУТАЦИЯ: 2
  • КПД: 2%
  • Регистрация: 2015-10-14
  • Сайт: 
  • Профессия: Ученик 1С
Re: Скд и свой макет
« Ответ #2: 12 Апр 2016, 07:13 »
Ну, выведите результат компоновки в промежуточный табличный документ, а уже потом из него в ДокументРезультат

Пробовал, это не помогает

Онлайн Kironten

  • *****
  • Сообщений: 793
  • РЕПУТАЦИЯ: 169
  • КПД: 21%
  • Регистрация: 2013-08-12
  • Сайт: 
  • Профессия: Ученик 1С
Re: Скд и свой макет
« Ответ #3: 13 Апр 2016, 11:49 »
Ну, выведите результат компоновки в промежуточный табличный документ, а уже потом из него в ДокументРезультат

Пробовал, это не помогает

Попробуйте при этом использовать не ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений а ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент

Оффлайн vitasw

  • *****
  • Сообщений: 2546
  • РЕПУТАЦИЯ: 309
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
Re: Скд и свой макет
« Ответ #4: 13 Апр 2016, 12:04 »
1. Очень странный метод формирования отчета. Может проще сделать обычный отчет через запрос по фиксированному макету?
2. Попробуйте после каждого "ДокументРезультат.Вывести(" вставить "ДокументРезультат.Показать()" - попытайтесь определить на каком этапе происходит глюк.

Оффлайн Пустовалов Артем

  • **
  • Сообщений: 97
  • РЕПУТАЦИЯ: 2
  • КПД: 2%
  • Регистрация: 2015-10-14
  • Сайт: 
  • Профессия: Ученик 1С
Re: Скд и свой макет
« Ответ #5: 13 Апр 2016, 13:57 »
1. Очень странный метод формирования отчета. Может проще сделать обычный отчет через запрос по фиксированному макету?
2. Попробуйте после каждого "ДокументРезультат.Вывести(" вставить "ДокументРезультат.Показать()" - попытайтесь определить на каком этапе происходит глюк.

Всем спасибо, дело было в СтандартнойОбработке = Истина, Теперь выводит все как надо.

Оффлайн vitasw

  • *****
  • Сообщений: 2546
  • РЕПУТАЦИЯ: 309
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
Re: Скд и свой макет
« Ответ #6: 13 Апр 2016, 14:06 »
СтандартнойОбработке = Истина

Семен Семеныч....


Теги:
 

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
96 Сообщений
Dethmontt Dethmontt
71 Сообщений
alex0402
66 Сообщений
MuI_I_Ika MuI_I_Ika
61 Сообщений
wise wise
57 Сообщений
ilyay ilyay
39 Сообщений
Сергей Федоров Сергей Федоров
36 Сообщений
magnifico61
22 Сообщений
ilnur75
21 Сообщений
BuhRust
21 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal