Форум программистов, компьютерный форум, киберфорум
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/19: Рейтинг темы: голосов - 19, средняя оценка - 4.53
0 / 0 / 0
Регистрация: 10.02.2013
Сообщений: 38

печать макета

15.03.2013, 13:21. Показов 3728. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Сейчас изучаю макеты и хочу его напечатать. Имеется справочник. (Все необходимые картинки прикреплены к сообщению. Создал макет "Макет1".
Зашёл в форму списка и создал команду "Напечатать". Написал некоторый код:
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
&НаКлиенте
Процедура Напечатать(Команда)
    // Вставить содержимое обработчика.
    ТабличныйДооументМакета = СформироватьМакет(Список.Ссылка).Показать();
                                                    
КонецПроцедуры
 
 
&НаСервереБезКонтекста
Функция СформироватьМакет(Ссылка)
    ТекущийМакет = Справочники.ХлебобулочныеИзделия.ПолучитьМакет("Макет1");//получаем макет
    ОбластьШапка = ТекущийМакет.ПолучитьОбласть("Шапка");
    ОбластьСтрока = ТекущийМакет.ПолучитьОбласть("Строка");
    ОбластьПодвал = ТекущийМакет.ПолучитьОбласть("Подвал");
    ТабДок = Новый ТабличныйДокумент;
    
    //Заполнение параметров макета
    ОбластьШапка.Параметры.ТекущаяДата = ТекущаяДата();
    ТабДок.Вывести(ОбластьШапка);     
    
    ТекущийСправочник = Ссылка.ПолучитьОбъект();
    ОбластьПодвал.Параметры.Сумма = 0;
    //по товарам   
    Для каждого Строка Из ТекущийСправочник Цикл
    
        ОбластьСтрока.Параметры.Заполнить(Строка);
        
        ТабДок.Вывести(ОбластьСтрока);
        ОбластьПодвал.Параметры.Сумма = ОбластьПодвал.Параметры.Сумма + Строка.Параметры.Цена * Строка.Параметры.Количество;
    
    КонецЦикла;
    Возврат ТабДок;    
КонецФункции // СформироватьМакет()
Синтаксических ошибок не обнаружено. Во время выполнения выскакивает сообщение:
{Справочник.ХлебобулочныеИзделия.Форма.Ф ормаСписка.Форма(5)}: Поле объекта не обнаружено (Ссылка)
ТабличныйДооументМакета = СформироватьМакет(Список.Ссылка).Показат ь();
Очень странно, потому что я зашёл в реквизиты справочника, увидел что есть созданный системой реквизит "Список" И внутри него есть реквизит "Ссылка". Я даже попробовал поставить галочку "Использовать всегда", чтобц ошибка исчезла. Только вот по непонятным причинам это непомогло.
Подскажите, пожалуйста, что делать.
Миниатюры
печать макета   печать макета   печать макета  

0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.03.2013, 13:21
Ответы с готовыми решениями:

печать макета
Есть макет имеющий вид Код процедуры печати макета Процедура ПечатьДокумента() Экспорт стр=Документы.Чек.Выбрать(); ...

Печать макета
8.2 УПП Есть макет этикетки, принтер печатает этикетки шириной 104 мм, макет шириной 170 и длинной 100 Можно ли как то...

Печать макета HTML
Здравствуйте! Необходимо создать печатную форму документа и передавать в нее параметры. Проблема в том, что мне нужны очень точные...

7
900 / 877 / 11
Регистрация: 15.03.2012
Сообщений: 2,680
15.03.2013, 13:42
1C
1
СформироватьМакет(Элементы.Список.ТекущиеДанные).Показать()
1
0 / 0 / 0
Регистрация: 10.02.2013
Сообщений: 38
15.03.2013, 13:58  [ТС]
Цитата Сообщение от Fenomen Посмотреть сообщение
1C
1
СформироватьМакет(Элементы.Список.ТекущиеДанные).Показать()
Спасибо большое! А можете подсказать, пеочему именно так надо сделать? Можете сказать поподробнее? Просто я видел аналогичный пример в видеоуроках, но там работа шла с документами. И в аргументах был Объект. Ссылка.
Заранее спасибо

Добавлено через 5 минут
И так как больше не передаётся ссылка на справочник, возникает ошибка в строке:
ТекущийСправочник = Ссылка.ПолучитьОбъект();
А как правильно ссылку на справочник передать? и надо ли это?
0
900 / 877 / 11
Регистрация: 15.03.2012
Сообщений: 2,680
15.03.2013, 14:16
Цитата Сообщение от Dmitry017 Посмотреть сообщение
СформироватьМакет(Элементы.Список.Текущи еДанные).Показать()
Блин, так надо:
1C
1
СформироватьМакет(Элементы.Список.ТекущиеДанные.Ссылка).Показать()
Добавлено через 1 минуту
Цитата Сообщение от Dmitry017 Посмотреть сообщение
А можете подсказать, пеочему именно так надо сделать? Можете сказать поподробнее? Просто я видел аналогичный пример в видеоуроках, но там работа шла с документами. И в аргументах был Объект. Ссылка.
Это зависти от контекста исполнения. Если бы Вы пишите это в модуле формы элемента, то Объект.Ссылка - возвращает ссылку на открытый элемент. А если Вы делаете это в форме списка, то нужно понимать по какому из объектов списка формировать печатную форму.

Добавлено через 1 минуту
Цитата Сообщение от Dmitry017 Посмотреть сообщение
ТекущийСправочник = Ссылка.ПолучитьОбъект();
Вот это кстати, лишнее действие. Для получения информации вполне достаточно ссылки, не нужно получать объект.
1
0 / 0 / 0
Регистрация: 10.02.2013
Сообщений: 38
15.03.2013, 15:03  [ТС]
Выскакивает ошибка: в цикле
1C
1
    Для каждого Строка Из ТекущийСправочник Цикл
1C
1
2
{Справочник.ХлебобулочныеИзделия.Форма.ФормаСписка.Форма(25)}: Итератор для значения не определен
    Для каждого Строка Из ТекущийСправочник Цикл
Хотя я в отладчике проверял, переменная ТекущийСправочник определена:
ТекущийСправочник 000000001 СправочникСсылка.ХлебобулочныеИзделия
0
900 / 877 / 11
Регистрация: 15.03.2012
Сообщений: 2,680
15.03.2013, 15:20
А что напечатать то нужно? Печатную форму одного элемента справочника, или вывести реестр всех элементов справочника?

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
&НаКлиенте
Процедура Напечатать(Команда)
    // Вставить содержимое обработчика.
    ТабличныйДооументМакета = СформироватьМакет().Показать();
                                                    
КонецПроцедуры
 
 
&НаСервереБезКонтекста
Функция СформироватьМакет(Ссылка)
    ТекущийМакет = Справочники.ХлебобулочныеИзделия.ПолучитьМакет("Макет1");//получаем макет
    ОбластьШапка = ТекущийМакет.ПолучитьОбласть("Шапка");
    ОбластьСтрока = ТекущийМакет.ПолучитьОбласть("Строка");
    ОбластьПодвал = ТекущийМакет.ПолучитьОбласть("Подвал");
    ТабДок = Новый ТабличныйДокумент;
    
    //Заполнение параметров макета
    ОбластьШапка.Параметры.ТекущаяДата = ТекущаяДата();
    ТабДок.Вывести(ОбластьШапка);     
    
    ТекущийСправочник = Справочники.ХлебобулочныеИзделия.Выбрать();
    ОбластьПодвал.Параметры.Сумма = 0;
    //по товарам    
    Пока ТекущийСправочник.Следующий()  Цикл
    
        ОбластьСтрока.Параметры.Заполнить(ТекущийСправочник);
        
        ТабДок.Вывести(ОбластьСтрока);
        ОбластьПодвал.Параметры.Сумма = ОбластьПодвал.Параметры.Сумма + ТекущийСправочник.Параметры.Цена * ТекущийСправочник.Параметры.Количество;
    
    КонецЦикла;
    Возврат ТабДок; 
КонецФункции // СформироватьМакет()
1
0 / 0 / 0
Регистрация: 10.02.2013
Сообщений: 38
15.03.2013, 15:39  [ТС]
реестр всех элементов справочника
0
900 / 877 / 11
Регистрация: 15.03.2012
Сообщений: 2,680
15.03.2013, 15:51
Цитата Сообщение от Dmitry017 Посмотреть сообщение
реестр всех элементов справочника
Привел код, выше. Уже потом сообразил, после того как спросил.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.03.2013, 15:51
Помогаю со студенческими работами здесь

Печать HTML макета
И снова настало время тупых вопросов!). Существует ли простой и понятный способ распечатать на принтере HTML-макет прямо с формы? Как это...

Вывод макета
приветик всем. помогите пж вывести число записей в форме. вот приблизительный код: Область=Макет.ПолучитьОбласть("Всего"); ...

Строка макета
Доброго времени суток!Подскажите пожалуйста, как можно сделать так, что если значение,которое выводиться в макет, не равно 0, тогда В...

Редактирование макета в 8.2
добрый день интерусет как отредактировать макет декларации по ЕНВД, а именно что бы нужное поле (налогоплательщик) выдавало необходимые...

Кнопка Печать на форме Печать документов
в 1С v8.2 Управление производственным предприятием на форму "Печать документов" добавил кнопку "Печать" , чтобы сначала...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Архитектура слоя интернета для сервера слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru