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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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


Оффлайн Kironten

  • *****
  • Сообщений: 809
  • РЕПУТАЦИЯ: 171
  • КПД: 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

  • *****
  • Сообщений: 809
  • РЕПУТАЦИЯ: 171
  • КПД: 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
Просмотров: 275
Последний ответ 27 Апр 2017, 16:04
от Kironten
Где лежит макет "Ценники на товары"

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

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

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

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

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

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

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

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

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

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

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


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

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

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

* Реклама

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

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

alex0402
93 Сообщений
oleg-x
93 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
64 Сообщений
Golickoff Golickoff
50 Сообщений
ilyay ilyay
44 Сообщений
AIFrame
41 Сообщений
wise wise
31 Сообщений
Амал
30 Сообщений
ab30ru
24 Сообщений
lansy
22 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal