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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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


Онлайн Kironten

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

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

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

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

Онлайн Kironten

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

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

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

Оффлайн vitasw

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

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

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

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

Оффлайн vitasw

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

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


Теги:
 

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

oleg-x
89 Сообщений
alex0402
53 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
44 Сообщений
AIFrame
40 Сообщений
Oldman06
31 Сообщений
Golickoff Golickoff
30 Сообщений
vitasw
29 Сообщений
MuI_I_Ika MuI_I_Ika
18 Сообщений
BuhRust
14 Сообщений
AsadRoman
13 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal