Печатные формы 1С. Знакомимся с объектами конфигурации: ТабличныйДокумент, Область, Макет. - Урок 17
HTML-код
- Опубликовано: 31 май 2024
- Как создать печатную форму для документа в конфигурации 1С:Предприятие?
Задача совсем не сложная, на нужно разобраться всего с тремя объектами конфигурации и всё получится! Подробности в этом уроке.
Тайм-коды(закладки/навигация):
00:00 - Приветствие
00:29 - Что такое печатные формы
04:49 - С чего начать работу над Печатной формой
05:40 - Что могут объекты работы с Печатными формами
07:13 - Теоретическая часть
09:21 - Что такое ТабличныйДокумент
11:32 - Что такое Макет
12:53 - Что такое ОбластьТабличногоДокумента или Область Макета
13:18 - Построение печатной формы без макета
14:09 - Построение печатной формы с использованием Макета
18:12 - Чем отличается Вывести() от Присоединить()
21:02 - Практическая часть
21:12 - Создаём макет
36:01 - Пишем программный код вывода печатной формы
60:00 - Еще раз повторяем и закрепляем алгоритм действий
65:43 - Подводим Итоги
#ТЕХПОДДЕРЖКА #Курсы1С #Программист1С #1С
1С Программирование с нуля: • Бесплатный курс 1С Про...
Олег, большое спасибо за этот урок, за Ваш труд!!! Смотрю все уроки с самого начала. Вам удалось выработать очень удобный формат изложения, когда одновременно сочетаются и теория и практика : ) Здоровья, Бодрости и Удачи Вам !!!
Как раз вышел на работу, занимаюсь печатками как большинство падованов. И тут техподдержка видос дропает про печатки. красота
Ахах, тоже начинал с ваших уроков. Недавно устроился и тут видос классно)
Помогли чем-то уроки или не очень?
Прокачал множество курсов по 1С программированию и отучился в ...--- очно на ознакомительных курсах, по другому не скажешь, по этой же дисциплине. Могу сказать однозначно: "Ваш курс наиболее доходчивый для новичка. Все остальные... Создается впечатление, что лектор читает уже для специалистов или для себя. Спасибо, жду продолжение. Мое мнение может не совпадать с мнением остальных слушателей.
Как раз после просмотра подобного курса окончательно решил, что надо попробовать сделать свой :)
Согласен полностью. Автору удается сочетать несочетуемое - на легкодоступном языке(практически на пальцах) доносить достаточно глубокий и сложный материал по 1С.
Мнение полностьб правильное. На всех остальных курсах реально нужно иметь уже представление о том, что и как работает (и не только про 1С, а так же SQL или администрирование Виндоус). Особенно если это курсы какого то Центра 1С. У ОЛега все очень круто. Если к его курсу взять ещё пару (есть в ютуб тоже хорошие ребята) то вся картина сложится, т.к. в одном курсе все не уложить.
Супер, дождались.
Наконец-то))) Рад видеть!
очень понятное и приятное пояснение печатной формы
Недавно начал изучать процесс программирования 1С, наткнулся на Ваш канал, очень полезные и легкоусвояемые видео, рад что не забросили, а то пугающий перерыв был! Идём дальше!
Иногда надо отдыхать... хотя бы менять занятия... :) :)
хорошие уроки ! Спасибо!
Добрый день, Олег! Спасибо за интересный урок.
Пожалуйста!
ура!!!!!!!!! новое видео
Дождались!!!
Олег, спасибо за очередное видео про 1С и его печатные формы!
Пожалуйста :)
Спасибо за очередной урок!
Душевно объясняет!
Ура!
огромное спасибо за ваш труд
Пожалуйста
Спасибо за урок!
Пожалуйста
Спасибо! Очень полезно и Очень подробно.
Пожалуйста!
Спасибо! Понятная и интересная подача материала!
Пожалуйста.
Скептически отношусь к табличным документам, это было актуально давным давно. В наше время разметка XML предпочтительнее (XDTO). Вы можете и таблицы и графы и диаграммы бизнес-процессов размещать и все это динамически двигать и передавать в любые внешние источники и брать из внешних источников. На мой взгляд и 1с списывает со счетов табличные документы, объявляя поддержку ворд и прочих xml ориентированных форматов документов. Табличные документы это какой то костыль из прошлого, выдуманный 1с и живущий внутри 1с лет 20 назад такое встречал в различных программах
Очень даже неплохой "костыль"... вполне и широко применимый в наше время...
Когда цель - печатная форма, очень удобно. Ну и не только :)
Добрый день, Олег ну ведь все же было хорошо до этого урока....Сегодня что-то пошло не так...У меня канеш...Почему у меня ничего не выводится на печать?! Можете посмотреть? Хотелось бы понимания. "Процедура не обнаружена". Что не так?
PS: Нашла ошибку. Спасибо!
Отвечаю на Олег, Ваш вопрос. Рискну предположить , что подвал не идеален тем, что в зависимости от количество ингридиетов, занимаемая часть листа будет прыгать(либо весь лист забит ингридиетами, либо он будет практически пуст) , поэтому нам нужно отрегулировать количество строк в подвале , чтобы они не выпригивали на другой лист или наоборот
Спасибо! Заметил, что не вывели кнопку в список документа, хотя сам код в менеджере!
Спасибо за видео!
Подскажите, в чем разница между созданием команды на печать внутри формы (как было показано в ролике) и созданием объекта метаданных "Команда"?
Из того, что заметил я сам: при создании Команды в метаданных кнопка печати появляется также в форме списка, но при этом на форме она выводится именно как кнопка, а не внутри подменю (хотя, наверное, можно вывести и в подменю, но я пока не знаю как). В плане производительности большой разницы я не увидел.
Может быть есть еще какие-то различия?
Как раз в том, что команда внутри формы нужна именно для работы внутри формы, а команда объекта или общая команда доступна извне.
Из этого следует что что у них разный контекст...
Больше сходу в голову ни чего не приходит.
Опа, неужели
Подскажите, пожалуйста, как можно в макете ПФ выделить часть текста жирным? К примеру в шаблоне № [НомерДокумента] от [ДатаДокумента] нужно выделить параметры жирным шрифтом.
На сколько мне известно, такой возможности в платформе нет. Придётся разбивать на ячейки.
Можно сделать специальный шрифт с отдельным набором жирных букв, но это сильно извращённый костыль, с которым придётся еще и шрифт поставлять, чтобы у клиентов читалось :)
Если есть необходимость гибко работать с форматированием, то можно использовать совсем другую технологию и формировать например документ Word, но у этого формата тоже есть оборотная сторона медали... например довольно своеобразная работа с таблицами...
Добрый день!
А если я создаю кнопку печати на ФормеСписка и создаю те же самые Процедуры и Функции, как передать параметр на ссылку документа в процедуре модуля ФормыСписка ?
Или из формы списка уже нужно обращаться не к МодулюМенеджера ?
Модуль менеджера он один для объекта, к нему можно обращаться и из формыОбъекта и из ФормыСписка и из других мест... главное НаСервере...
Берете НаКлиенте данные из текущей строки списка или из выделенных строк списка, передаете их на сервер и дальше всё как раньше делали :)
Спасибо. А почему нельзя фун.по печати разместить в модуле объекта, например?
Можно, и в обычном приложении так обычно и делали...
Но для того чтобы получить доступ к этой функции нам нужно получить объект, а это ресурсозатратно и далеко не всегда нужно.
ОбластьШапка.Параметры.НомерДокумента = Число(ВыборкаДетальныеЗаписи.Номер);
Вот так решил убрать нули.
Здравствуйте. Если функцию перенести из модуля менеджера в модуль объекта, то код не работает. В чем причина?
Здравствуйте :)
Всё просто... чтобы добраться до экспортных процедур и функций объявленных в модуле объекта, нам нужно сначала получить этот объект, мы скоро этим будем заниматься и я попробую подробно рассказать чем отличается например СправочникСсылка от СправочникОбъект и почему в формах волшебное слово "Объект." не даёт доступа ко всем его методам и свойствам, хотя логично ожидать их там увидеть :) и что это не совсем Объект в полном понимании, а всего лишь его краткое представление :)
Поддержать канал/Получить плюшки: boosty.to/tp2b
Поддержать рублем: donate.stream/tp2b
Файлы по урокам: yadi.sk/d/fbayAds8H5K67A?w=1
Олег, спасибо Вам большое за уроки.Благодаря Вам я уверен , что стану программистом 1с. ПС. Ошибка заключается в том, что Вы в параметре запроса не Не исправили параметр "Ссылка" на "СсылкаНаДокумент"
Забыл про ПродуктПредставление))
ПолучитьМакет метод менеджера ,можно написать сокращено,в данном случае объект запрос можно использовать один,к базе можно обратится одним запросом ,шапку тянуть итогами
Это же курс для новичков без подготовки.... :)
Добрый день, Олег! Я вне "какую" не могу назвать первую часть нашего макета "Приготовление продуктов" в документе "Приготовление продуктов"!
Вот, я сильно удиваился когда, у меня получилось дать название второй части макете "Строка", ещё раз повторно выражусь "Как мне назвать первую часть нашего макета"?
такой формат только для спонсоров
на 35:50 вы разъединяете и объединяете ячейки и текст у вас не исчезает, а у меня исчезает почему-то?
если текст в левой-верхней ячейки из объединяемых, то он не пропадёт при объединении :)
@@tp2b спасибо, сегодня методом тыка разобрался 🤝
С лидирующими нулями , что то не получается. Можно подсказку?
В новом видео...
автору респект, но как же сильно видео сжимается(скорее всего из-за ютуба).Вроде 1080p ,а качество ели-ели доходит до 720p-800p по ощущением.Решение этой проблема я вижу только , если монтировать в 1440p может тогда будет настоящие 1080p .Ибо не особо приятно смотреть на эту гору пикселей, но благодаря подачи все равно смотришь)
Домашнее задание выполнил вот таким образом:
Функция УбратьЛидирующиеНули(Строка)
Рез = СокрЛП(Строка);
Пока Лев(Рез, 1) = "0" Цикл
Рез = Сред(Рез, 2);
КонецЦикла;
Возврат Рез;
КонецФункции
ОбластьШапка.Параметры.НомерДокумента = УбратьЛидирующиеНули(Выборка.Номер);
Врать не буду, скажу как есть . Функцию нашел в интернете. Воспользовался одним из твоих лайфаков, поиска в интернете
Для чего мы в модуле формы вызывали сервер, если сразу могли обратиться к модулю менеджера? Или так не работает и приходится из сервера вызывать серверную процедуру еще раз?
Попробуйте и увидите результат... потом посмотрите урок про контекст :)
@@tp2b Да. Получил ошибку, что процедура не определена. ПОискал в интернете, и нашел только такое объяснение (если вы лучше расскажите, то вообще великолепно будет). "Есть разница между «функция есть на сервере» и «функцию можно вызывать на сервере». Во втором случае функция «видна» с клиента и может быть вызвана. В первом - не видна на клиенте и может быть вызвана только из другой функции, выполняемой на сервере. Поэтому есть инструкция #Сервер (доступен вызов с клиенте) и #НаСервере (видна только на сервере), и аналогично для клиента." Но в модуле менеджера такая же деректива &НаСервере, что и в модуле формы. КАк вот новичку понять, что это не одно и тоже, и модуль менеджера нельзя вызвать из клиента. Или это аналогично общему модулю с пометкой "Сервер", но без пометки "Вызов сервера", да?
Здесь очень важно понимание контекста, об этом было отдельное большое видео.
Менеджеры объектов доступны только на сервере и не только они. Их нельзя увидеть из клиентского контекста и вызвать соответственно тоже нельзя.
!!!!!!!!!!
Пытаюсь задонатить, выходит ошибка постоянно. Пишет: "Похоже что это техническая ошибка." Что я не так делаю?
Возможно сейчас с сервисом донатов что-то не так... но вообще он рабочий, вчера донат приходил.
Решение домашнего задания. Одно из решений: формат(Число(Выборка.Номер),"ЧГ =");
Ваш комментарий в новом видео :)
Здравствуйте у меня 1с ошибка даёт можете конфигурация отправить
boosty.to/tp2b
@@tp2b тут невозможно скачать можете в другом сайте отправить
Всё возможно, я сам выкладывал. Ссылки там рабочие.
@@tp2b там платный
А бесплатно - самостоятельно по материалам уроков :)
3 раза переделывал, Шапка появляется, подвал появляется, строка не появляется .
Кто может посмотреть конфигурацию и указать на ошибку?)помогите!)
На крайний случай: boosty.to/tp2b/purchase/901928?ssource=DIRECT&share=subscription_link
45.00 зачем писать такую конструкцию: Документы.ПриготовлениеПродуктов.ПечатьПриготовленияПродуктов(СсылкаНаДокумент); Когда, наверно, можно просто вызвать функцию из модуля менеджера, а именно: ПечатьПриготовленияПродуктов(СсылкаНаДокумент);
Если внутри контекста модуля менеджера - да.
Но нам нужно вызвать функцию модуля менеджера из контекста формы...
Или я не понял Ваш вопрос.
Чтоб убрать нули, просто делим на 1))))))
ОбластьШапка.Параметры.НомерДокумента = ВыборкаДетальныеЗаписи.Номер / 1;
Это неявное приведение... можно с тем же успехом написать Число(....)
НО если там не только цифры... ?
@@tp2b Не, ну я под конкретный вопрос ответ придумывал) Ужо следующий урок посмотрел и понял, что в жизни двумя символами не всегда задачки решаются.....
А почему нельзя рисовать такой макет, где в каждой ячейке свои данные? Ведь при выгрузке это в эксель, потом вручную фиг поправить) Там такое количество ячеек будет🙉
Можно, просто есть один очень пакостный нюанс в этом... Если получается сложная структура и заказчик просит что-то подвинуть или колонку добавить/поправить, то приходится переделывать половину макета, чтобы всё осталось на своих местах. А с такой "не оптимальной сеткой" пространство для манёвра больше.
Об этом еще поговорим в следующих уроках, там много мелочей которые портят жизнь и самим разработчикам, и конечным пользователям :) Коварные Макеты 1С :)
преподавание с элементами юмора - вот в чем фишка.
Комментарии для продвижения. У меня желание пропало учиться. Надо как то осилить лень
Когда лень лениться - пора учиться!
Все Васи в комментариях негодуют
Что не красиво... Ставим Яичница из 2х яиц, ставим 10 порций-записать-печать-будет указано 10 порций, а продуктов хватает только на 2
разъярённые Маши вошли в чат
Слишком много воды