Создаем простую печатную форму в 1С 8.3
ฝัง
- เผยแพร่เมื่อ 27 ก.ย. 2024
- Создание макета печатной формы 1С. Вывод параметров печатной формы. Указание формата в коде и в ячейках
Наша статья про внешние печатные формы для типовых конфигураций:
programmist1s.r...
Читайте статьи по 1С на нашем сайте:
programmist1s.r...
Приятный голос, комфортно слушать информацию, БлагоДарю.
"О, у нас уже что-то печатается, но не то что нам нужно..." - Уважаю здоровое чувство юмора! Уроки супер, смотрю в захлёб...
ха, я тоже, но только мы немножечко отстаем ))), ну ничего, думаю догоним!!!
Великим Делом занимаетесь! Народ посвящаете!!!!
как всегда, отличная подача материала
Спасибо, Юрий!
Как всегда, отличный комментарий :)
Лучшее в свободном доступе)
Благодарю )
{Документ.Выдача.Форма.ФормаДокумента.Форма(63,10)}: Процедура или функция с указанным именем не определена (ПолучитьМакет)
Макет =
Должно быть
Макет = ПолучитьМакет("Макет");
А не
Макет = Новый ПолучитьМакет("Макет");
Макет = ЭтотОбъект.ПолучитьМакет("Макет");
Вот так напиши
После твоих уроков других преподавателей смотреть невозможно! И как же мне дальше учить 1С?
вот закончил смотреть 44 урок. а их всего 68. жаль что мало. понимаю что этого маловато. радует что хоть у него канал есть, туда потом пойду :D
Самое лучшее видео по макетам и отчетам в 1С для начинающих! БОЛЬШОЕ савсибо!
Илья, огромное спасибо! Я весь интернет перерыла с этими макетами, везде куча кода и ничего не понятно! Увидела Ваше видео - поняла ВСЕ! У Вас ТАЛАНТ обучать!!!!!!!! Это, кстати, не первое Ваше видео, которое мне помогает! Благодарю!
Как создавать печатные формы в управляемых формах? Зачем для 8.3 это нужно делать в обычных, я не могу понять.
Повторяю эту операцию в управляемом приложении - не получается ПолучитьМакет.
Присоединяюсь к вопросу???
Сделал так &НаСервереБезКонтекста
Функция ПолучитьМакетНаСервере(ТабличныйДокумент)
Макет = Документы.ПриемНаРаботу.ПолучитьМакет("Макет");
Возврат Макет;
КонецФункции // ПолучитьМакетНаСервере(ТабличныйДокумент)()
&НаКлиенте
Процедура ПечатьДоговора(Команда)
ТабДок = Новый ТабличныйДокумент;
Макет = ПолучитьМакетНаСервере(Макет);
ТабДок.Вывести(Макет);
ТабДок.Показать("Трудовой договор по сотруднику - "+Объект.Сотрудник);
КонецПроцедуры
Но на тонком так и не выводит, только на толстом.
@@ВладимирШпак-я8ц Вы гений! Огромное спасибо!!!
@@ВладимирШпак-я8ц Дополню ваш ответ:
&НаСервереБезКонтекста
Функция ПолучитьМакетНаСервере(ТабличныйДокумент)
Макет = Документы.ПриемНаРаботу.ПолучитьМакет("Макет");
Возврат Макет;
КонецФункции
&НаКлиенте
Процедура ПечатьДоговора(Команда)
ТабДок = Новый ТабличныйДокумент;
Макет = ПолучитьМакетНаСервере(Макет);
Макет.Параметры.НомерДоговора = Объект.Номер;
Макет.Параметры.ДатаДоговора = Формат (Объект.Дата,"ДФ=dd.MM.yyyy");
Макет.Параметры.Дата = Объект.Дата;
Макет.Параметры.Сотрудник = Объект.Сотрудник;
ТабДок.Вывести(Макет);
ТабДок.Показать("Трудовой договор по сотруднику " + Объект.Сотрудник);
КонецПроцедуры
//Открываем на толстом клиенте
Все понятно!. Спасибо!
Большое спасибо!
Эх, после 1С V7.7 все эти конструкторы и помощники, как с форматом Даты, к примеру, просто блеск!!! (апрель 2021)
Все по делу!
Класс!
Почему-то когда задаю параметры макета, пишет "Поле объекта не обнаружено (Номер)".
Пробовал и копировать имя поля, пробовал заменять на ДокументОбъект.Номер. Результат не поменялся. Ролик пересмотрел 4 раза
Вы в макете не забыли для ячейки с номером указать в свойстве "Заполнение" значение "Параметр"?
обязательно так быстро тарахтеть? как это повторить можно за ним? О_о
Нет, автоматически ничего не подставится. 😅
почему у меня пишет "переменная не определена на Номер и сотрудник"?
Такая же фигня с номером была. Переименовал в макете "НомерДоговора" на "Номер" и в программе так же, естественно, и все заработало. С чем это связано я понятия не имею. Я в текст еще вносил Оклад и Должность и никаких проблем не было.
Возможно забыли в макете изменить свойства ячейки (Свойство Заполнение - Шаблон).
Добрый день! У меня проблема, на платформе 1С:Предприятие 8.3 (8.3.5.1460) при установлении ячейки свойства Заполнение как "параметр" например Сотрудник, то при нажатии на кнопку Печать пишет что "{Документ.ПриемНаРаботу.Форма.ФормаДокумента.Форма(14)}: Поле объекта не обнаружено (Сотрудник)
Макет.Параметры.Сотрудник = Сотрудник;".
Хотя компилировать дает сам текст процедуры такой же как на видео.
Может это происходит из за того что платформа другая?
Я понял, если установить свойство как параметр, то нужно указать только имя параметра без какого либо текста, а если шаблон выбрать то можно указать любой текст и параметры указать в [].
Учись Илюха, мне кажется тебе далеко до такого подноса информации.
th-cam.com/video/_gZ-8JTl948/w-d-xo.html
8.3.8 не работает 0:22
так себе ролик
Аплодирую стоя. На курсах в УЦ1 такого и рядом не лежит.
Впишу свои маленькие 5 коппеечек - если вы вдруг не нашли Макет в свойствах Ячейки при заполнении параметров th-cam.com/video/8fKnEfOjJB8/w-d-xo.html то вверху у свойств нажмите клавишу показать только важные - дабы показало все
Если и после этого в свойствах Ячейки не появился Макет надо в свойствах на второй строке, где написано Ячейки выбрать Табличный документ, после чего поставить галочку напротив слова Макет.
Или просто не перепутайте, как я сначала, что Свойства ячейки в Конфигурации, а не в Пользовательском режиме
Дай Бог тебе здоровья)
*Примечание от зрителя из 2024 года, работающего с управляемой формой*
Код не работает из-за клиент-серверного разделения в 1С. Добиться того же, что показывает автор, можно следующим кодом (без претензии на корректность с точки зрения специалиста)
&НаСервере
Функция ПолучитьМакетНаСервере()
// создаём табличный документ
ТабДок = Новый ТабличныйДокумент;
// получаем макет
Макет = РеквизитФормыВЗначение("Объект").ПолучитьМакет("Макет");
// передаём параметры в макет
Макет.Параметры.НомерНакладной = Объект.Номер;
Макет.Параметры.ДатаНакладной = Формат(Объект.Дата, "ДФ=dd/MM/yy");
Макет.Параметры.Дата = Объект.Дата;
ТабДок.Вывести(Макет);
Возврат ТабДок;
КонецФункции
&НаКлиенте
Процедура КастомнаяКнопка(Команда)
ТабДок = ПолучитьМакетНаСервере();
ТабДок.Показать(Объект.Ссылка);
КонецПроцедуры
Наберите слово "Формат" после знака равно и нажмите CTRL+Q и автоматически откроется Форматный конструктор. А после останется указать только Имя самой переменной "Дата". (апрель 2021)
Спасибо. Ура, я умею создавать документы :)
Очень классно сделано, я раньше делал их но непонимал особо что к чему, теперь всё понятно!!!
Спасибо за урок Илья. Просмотров добавилось после окончания запросов)
многие не выдержали)))
кнопка не добавляется. хз как дальше?
У меня тут тоже куча проблем! В 8.3.12, в управляемом тонком клиенте то одно, то другое! То не так написано, это не найдено!
Откуда вообще взялся "Номер"? Что это за номер? Не понимаем ни я, ни моя 1С -_-"
Уже ищу обходные варианты по форумам.. но пока половину даже не понимаю как искать.
ИМХО в 2017 году рассказывать о создании печатных форм в ОБЫЧНОМ приложении, мягко говоря, не комильфо. Хотя судя по кол-ву лайков и восторженным коментам многим помогло - так держать! )))
Все же это необходимо знать. Механизм принципиально отличается от создания печатных форм в управляемом приложении. Если такой информации не будет, то как же решать такие задачи?
@@IlyaLeontyev Если бы можно было, я бы тысячу лайков тебе поставил!
А как кнопку нарисовать не забыл сказать?
просто еще раз внимательно за мышкой смотри
Подскажите как вывести на печать документ реализации + комментарии торгового представителя+ долг контрагентов
Илья. Как заполняя внешнюю печатную форму обратиться к данным хранящимся в реквизите другого документа? Например внешняя печатная форма для документа "Отчёт о розничных продажах", а данные надо взять из документа "Кассовая Смена" за эту же дату. Реквизиты: НомерСменыККТ, Начало (Там дата и время, взять только время), Конец.
А как сделать сохранение в PDF поумолчанию?
Создание макета печатной формы 1С. Вывод параметров печатной формы. Указание формата в коде и в ячейках
Наша статья про внешние печатные формы для типовых конфигураций:
programmist1s.ru/vneshnie-pechatnyie-formyi-v-1s/
Услуги 1С программиста в Москве:
1cproger.ru/
Читайте статьи по 1С на нашем сайте:
programmist1s.ru/materialyi-po-1s/
Плохо. Очень плохо что низя поставить два и более лайков. Урок супер всё просто и понятно.
Можно ставить под каждым видео! :)
А можете подсказать, что если у меня (почему-то нету функции ПолучитьМакет, когда пытаюсь прописать эту процедуру( обработчик нажатия кнопки) - а есть лишь функция ПолучитьОбщийМакет - где мне её определить или что с этим делать ? //Процедура или функция с указанным именем не определена (ПолучитьМакет)
Макет =
Всё решил проблему, загуглив(запросив макет на сервере) и запустив конфигурацию в толстом клиенте. Просто мне нужно получить форму в управляемом приложении, возможно из-за этого ругалось изначально
Голос противный, ничего не понятно, но заставляют делать эту фигню.