8.х Печать макета из обработки

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем Kusm, 5 авг 2013.

  1. TopicStarter Overlay
    Kusm
    Offline

    Kusm Опытный в 1С

    Регистрация:
    18 янв 2013
    Сообщения:
    144
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте уважаемые коллеги! Есть
    Бухгалтерия предприятия, редакция 2.0 (2.0.47.7) Есть Обработка, там создан Макет - СКД, требуется: вывести макет на печать. Делаю так: СхемаКомпоновкиДанных = ПолучитьМакет("Макет");
    КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных;
    КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
    КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию);
    Начало = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Дата1"));
    Если Начало <> Неопределено Тогда
    Начало.Использование = Истина;
    Начало.Значение = Дата1;
    КонецЕсли;
    Конец = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Дта2"));
    Если Конец <> Неопределено Тогда
    Конец.Использование = Истина;
    Конец.Значение = дата2;

    КонецЕсли;
    ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;

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

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

    ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
    табДок.Показать(); Идет ошибка: {Форма.Форма.Форма(106)}: Ошибка при вызове метода контекста (Вывести)
    ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
    по причине:
    Ошибка вывода результата
    по причине:
    Ошибка при выводе результата
    по причине:
    Ошибка получения данных
    по причине:
    Ошибка создания набора данных "НаборДанных1"
    по причине:
    Ошибка при исполнении запроса набора данных
    по причине:
    {(14, 40)}: Не задано значение параметра "Дата1"
    ПоступлениеНаРасчетныйСчет.Дата МЕЖДУ <<?>>&Дата1 И &Дата2
  2. Annie
    Offline

    Annie Опытный в 1С Команда форума

    Регистрация:
    10 фев 2010
    Сообщения:
    949
    Симпатии:
    23
    Баллы:
    29
    Код:
    СхемаКомпоновкиДанных = ПолучитьМакет("Макет");
    КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных;
    КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
    Начало = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Дата1"));
    Если Начало <> Неопределено Тогда
    Начало.Использование = Истина;
    Начало.Значение = Дата1;
    КонецЕсли;
    Конец = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Дта2"));
    Если Конец <> Неопределено Тогда
    Конец.Использование = Истина;
    Конец.Значение = дата2;
    КонецЕсли;
    //загружайте настройки после того, как определили, а не до
    КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию); 
    ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,СхемаКомпоновкиДанных.НастройкиПоУмолчанию);
    табДок = новый ТабличныйДокумент;
    ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,,ДанныеРасшифровки, Истина);
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(ТабДок);
    ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
  3. TopicStarter Overlay
    Kusm
    Offline

    Kusm Опытный в 1С

    Регистрация:
    18 янв 2013
    Сообщения:
    144
    Симпатии:
    0
    Баллы:
    26
    Спасибо огромное! Подскажите, как правильно написать, что Дата1 и Дата2 беруться из элементов формы. Делаю так: ЭлементыФормы.Результат.Очистить();
    ТабДок = ЭлементыФормы.Результат; - Идет ошибка, не находит Результат.
  4. Annie
    Offline

    Annie Опытный в 1С Команда форума

    Регистрация:
    10 фев 2010
    Сообщения:
    949
    Симпатии:
    23
    Баллы:
    29
    Ну дак, как у вас называется реквизит формы с типом ПолеТабличногоДокумента?
  5. TopicStarter Overlay
    Kusm
    Offline

    Kusm Опытный в 1С

    Регистрация:
    18 янв 2013
    Сообщения:
    144
    Симпатии:
    0
    Баллы:
    26
    У меня всего 2 элемента на форме с типом Дата: Дата1 и Дата2. Надо, что бы введенные значения передавались в Параметры Макета-СКД.
  6. Annie
    Offline

    Annie Опытный в 1С Команда форума

    Регистрация:
    10 фев 2010
    Сообщения:
    949
    Симпатии:
    23
    Баллы:
    29
    Код:
    ТабДок = ЭлементыФормы.Результат; //- Идет ошибка, не находит Результат. 
    Ошибку в студию )
  7. TopicStarter Overlay
    Kusm
    Offline

    Kusm Опытный в 1С

    Регистрация:
    18 янв 2013
    Сообщения:
    144
    Симпатии:
    0
    Баллы:
    26
    Я что-то не так ответила? Если так, то прошу прощения, вообще, я только учусь. Спасибо за ответ!
  8. Annie
    Offline

    Annie Опытный в 1С Команда форума

    Регистрация:
    10 фев 2010
    Сообщения:
    949
    Симпатии:
    23
    Баллы:
    29
    Озвучьте ошибку (дословно), которая у вас возникает в момент, когда вы присваиваете
    Код:
    ТабДок = ЭлементыФормы.Результат;
  9. TopicStarter Overlay
    Kusm
    Offline

    Kusm Опытный в 1С

    Регистрация:
    18 янв 2013
    Сообщения:
    144
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте! Спасибо за ответ и помощь. Похоже какая-то бодяга с параметрами, т.е. не передаются значения параметров. Т.к. ставлю значения внутри Макета-СКД, все работает, задаю из элементов формы (ДатаНач, ДатаКон), запрос не отрабатывает, дает пустые записи. Помогите, пожалуйста, что делаю не так? Вот текст:
    СхемаКомпоновкиДанных = ПолучитьМакет("Макет");
    КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных;
    КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
    //Начало = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Дата1"));
    Начало=КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Дата1");
    Если Начало <> Неопределено Тогда
    Начало.Использование = Истина;
    Начало.Значение = ДатаНач;
    КонецЕсли;
    //Конец = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Дата2"));
    Конец=КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Дата2");
    Если Конец <> Неопределено Тогда
    Конец.Использование = Истина;
    Конец.Значение = ДатаКон;
    КонецЕсли;
    //загружайте настройки после того, как определили, а не до
    КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию);
    ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,СхемаКомпоновкиДанных.НастройкиПоУмолчанию);
    табДок = новый ТабличныйДокумент;
    ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,,ДанныеРасшифровки, Истина);
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(ТабДок);
    ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
    ТабДок.Показать();
    В отладке переменные дат все заполнены.
  10. Annie
    Offline

    Annie Опытный в 1С Команда форума

    Регистрация:
    10 фев 2010
    Сообщения:
    949
    Симпатии:
    23
    Баллы:
    29
    Проверьте в СКД на закладке Параметры имена параметров с теми, которые вы программно задаете.
    Если уж совсем не получается, прикрепить схему сюда
  11. TopicStarter Overlay
    Kusm
    Offline

    Kusm Опытный в 1С

    Регистрация:
    18 янв 2013
    Сообщения:
    144
    Симпатии:
    0
    Баллы:
    26
    Проверила, имена параметров верные. Прикрепила макет СКД.

    Вложения:

  12. Annie
    Offline

    Annie Опытный в 1С Команда форума

    Регистрация:
    10 фев 2010
    Сообщения:
    949
    Симпатии:
    23
    Баллы:
    29
    На закладке "Параметры" надо снять у параметров галки "Ограничение доступности" и удалить реквизиты ДатаНач и ДатаКон

    Вложения:

    • 111.erf
      Размер файла:
      8,5 КБ
      Просмотров:
      6
  13. TopicStarter Overlay
    Kusm
    Offline

    Kusm Опытный в 1С

    Регистрация:
    18 янв 2013
    Сообщения:
    144
    Симпатии:
    0
    Баллы:
    26
    Спасибо за ответ! Вообще, легче не стало, наоборот, стало хуже, зачем мне нужна управляемая форма? Она у меня не работает в Обычном приложении. Хотя галочка стоит - Использовать Управляемые формы в обычном приложении. Все началось с того, что у меня есть отчет, который мило работает, СКД вывожу программно. Решила отчет переделать в обработку, надеясь, что быстренько переделаю, Макет - СКД так же программно выведу. Отчет прилагаю, там все хорошо работает. Может знаете его малыми потерями переделать Отчет в Обработку?

    Вложения:

  14. Annie
    Offline

    Annie Опытный в 1С Команда форума

    Регистрация:
    10 фев 2010
    Сообщения:
    949
    Симпатии:
    23
    Баллы:
    29
    Ну дак, это был просто пример того, как надо...
    Давайте начнем с того, для чего вам Отчет в Обработку?
  15. TopicStarter Overlay
    Kusm
    Offline

    Kusm Опытный в 1С

    Регистрация:
    18 янв 2013
    Сообщения:
    144
    Симпатии:
    0
    Баллы:
    26
    Что бы он в БД лежат в Дополнительные внешние обработки, а не в отчетах.
  16. Annie
    Offline

    Annie Опытный в 1С Команда форума

    Регистрация:
    10 фев 2010
    Сообщения:
    949
    Симпатии:
    23
    Баллы:
    29
    А что вам мешает туда отчет прикрепить?
  17. TopicStarter Overlay
    Kusm
    Offline

    Kusm Опытный в 1С

    Регистрация:
    18 янв 2013
    Сообщения:
    144
    Симпатии:
    0
    Баллы:
    26
    В Обработках цепляются по-моему только обработки, и соответсвенно так в Отчетах. Я ошибаюсь?
  18. Annie
    Offline

    Annie Опытный в 1С Команда форума

    Регистрация:
    10 фев 2010
    Сообщения:
    949
    Симпатии:
    23
    Баллы:
    29
    Ошибаетесь, вы бы хоть сперва попробовали )
  19. TopicStarter Overlay
    Kusm
    Offline

    Kusm Опытный в 1С

    Регистрация:
    18 янв 2013
    Сообщения:
    144
    Симпатии:
    0
    Баллы:
    26
    Конечно, попробовала, отчет сохраняется в Обработках, но не открывается. Может что-то не так делаю?
  20. Annie
    Offline

    Annie Опытный в 1С Команда форума

    Регистрация:
    10 фев 2010
    Сообщения:
    949
    Симпатии:
    23
    Баллы:
    29
    Значит, что-то делаете не так )
    Надо во Внешние обработки -> Новый элемент -> в форме нового элемента выбрать Вид -> Отчет, ну и прикрепить свой отчет...
Похожие темы
  1. scooper
    Ответов:
    13
    Просмотров:
    1.013
Загрузка...

Поделиться этой страницей