#0
by toran1
Доброго. Платформа 8,2, толстый клиент, УПП1,3. Есть док, расходная накладная. К нему внешняя печатная форма. Пока наименование товара влезает в одну строку все хорошо, в коде есть необходимый блок подсчета строк и вывода красиво. Но если, название товара не помещается в одну строку, то становится весело. Шапка на одной странице, итог на другой. Потом вторая страница. И так далее. В общем как с этим бороться?
#4
by NorthWind
я бы предусмотрел место исходя из максимально возможного количества строк, скажем 2 или 3 строки. И фиксированное количество таких строк на странице. Если есть желание поизвращаться, то можно корректировать количество строк, исходя из количества символов в наименовании. Допустим, поэкспериментировать и определить для себя, что если в строке 50 символов, то наименование влезет в строку, больше 50 - не влезет. Понятно, что для строк '11111' и 'ЖЖЖЖЖ' будут разные результаты по длине написания, но с учетом того что в текстах экстремальные варианты не встречаются - нечто среднее вывести можно.
#6
by Масянька
Для семерки делала: 1. количество символов в строке (сколько помещается). 2. наименование номенклатуры разбивается по п. 1 (тупо разбивается, переносится на след. строку). 3. подсчет срок по п. 1 и 2. 4. вывод строк в соответствии с п. 3 (кол-во строк на странице (первой, след. и последней (с подписями и печатью)) - подбираешь и задаешь).
#8
by Масянька
Есть проблемы. И там, и там. Просто мои на снеговика забили - печатает и хорошо. Глюков и так хватает.
#11
by Злопчинский
в клюшках просто тупо делаешь вывод в черновик - если количество страниц не изменилось - выводишь строку в чистовик... я у себя все печформы переделал по счф так. все работает.
#12
by toran1
Нарыл по вашим наводкам. Для некоторых отчетов необходимо, чтобы в конце страницы содержалась некоторая область, которая бы сообщала информацию о содержимом страницы. Это может быть, например, информация о сумме по странице, количестве строк на странице и т.п. Во встроенном языке 1С:Предприятия предусмотрены специальные средства для разбиения табличного документа на страницы. В данном разделе рассказывается, каким образом можно организовать постраничный вывод при выводе информации в табличный документ. Метод табличного документа ПроверитьВывод Объект ТабличныйДокумент имеет метод ПроверитьВывод, предназначенный для того, чтобы проверить, поместится ли список областей на текущую страницу. В случае если метод вернет значение Истина, вывод областей, переданных в метод, не приведет к созданию новой страницы, иначе, для того, чтобы вывести области, в табличном документе будет создана новая страница. Данный метод работает с учетом настроек печати документа, у которого вызывается метод. Рассмотрим пример. Пусть нам необходимо создать отчет "Платежная ведомость". Требуется, чтобы на первой странице был заголовок, отображающий информацию о ведомости в целом, на остальных страницах - заголовок, содержащий только шапку таблицы ведомости. В подвалах страницы необходимо иметь информацию о сумме по странице. В подвале последней страницы необходимо иметь итоговую информацию по всей ведомости. Для того чтобы реализовать подобный отчет нам потребуется использовать метод ПроверитьВывод. Пример алгоритма отчета будет выглядеть так: 1. выводим в результирующий табличный документ область - заголовок первой страницы; 2. для каждой строки из ведомости: 2.1. проверяем, вмещается ли на текущую страницу область со строкой ведомости и область итога по странице; 2.2. если области помещаются на странице - выводим строку области; 2.3. иначе - выводим подвал страницы, выводим горизонтальный разделитель страницы, выводим шапку страницы, выводим строку ведомости; 3. выводим подвал отчета. Ниже приведен пример того, как подобный алгоритм может быть реализован на встроенном языке 1С:Предприятия 8: Метод табличного документа ПроверитьПрисоединение Метод табличного документа ПроверитьПрисоединение работает аналогично методу ПроверитьВывод, с тем отличием, что данный метод проверяет, изменится ли количество страниц по горизонтали при выводе в отчет областей при помощи метода Присоединить.
#14
by Масянька
На фига мне "тупо выводить в черновик"? А сразу посчитать и вывести, как надо - не кошерно? :)
#15
by Злопчинский
объясняю для... сразу посчитать и вывести - в общем случае не получится или будет офигеть как сложно (для разных размеров шрифтов например). а вывод в черновик - это по сути и есть восьмерочная "ПроверитьВывод"
#19
by Масянька
Не надо объяснять для ... Я тебе объясню: - разные шрифты: в накладных, актах, сф и пр. - на фига? У меня (как в типовых - один шрифт, разный размер, обычный + жирный + курсив). - параметры листа (кол-во строк шапки, заголовка таблицы, подвала) - для каждого макета (накладная, сф и пр.) задаются в обработке. - один раз для каждого макета считается кол-во символов в строке (номенклатуры). Задается там, где задаются параметры. - при выводе строки: строка разбивается (параметры уже заданы), считается кол-во строк (выведенных ранее + сколько сейчас хотим вывести), обрабатывается - продолжаем вывод или новую страницу делаем. Все. А твой "черновик" может и проще (не спорю), но ни чем не лучше.
#20
by Злопчинский
Я тебе объясню*2: - в _общем случае_ шрифты в разных документах (а их может быть множество всяких) - совершенно разные; - "параметры листа (кол-во строк шапки, заголовка таблицы, подвала) - для каждого макета (накладная, сф и пр.) задаются в обработке" - ты не поверишь, но например ТОРГ12 можно печатать и портрет и ландшафт. и даже на разных форматов листов. затрахаешься считать и описывать.. - см. п.1 - я при выводе нихрена ни считаю: плюнул на вывод - получил ответ "влезло на страницу/не влезло". . мой черновик "лучше" тем, что он - универсален и не требует подготовительных действий, связанных с какими-то расчетами. То есть в принципе можно оформить "универсально" . но вообщем, как ты написала - каждый сам выбирает как делать - можно гланды у отоларинголога вырезать, а можно и проктолога пригласить...
#21
by Aleksey
ну к примеру покупатель может быть на одной строке, а может и в 3 строки не влезть Товар аналогично, количество строк от 1 до 3. Предлагаешь лишнее обрезать, или сразу делать макет с ячейками под 4 строки, чтобы наверняка? Не совсем понял как ты определяешь влезло/невлезло? P.S. ПроверитьВывод в 8-ке кстати тоже не панацея, иногда ошибается
#22
by Злопчинский
блин ну все же просто мозги напрягите - вывести документ, "посмотреть" - влезло или нет. не влезло - сделать новую страницу, потворить "процедуру"
#26
by Злопчинский
он медленный. и для правильной работы еще надо правильно макет определить - поиграться выводом строк-секций "вместе со следующим". . если будешь себя хорошо вести - дам живой пример (счф например)
#28
by Масянька
Чтобы ты признал, что ты сделал не "универсально"... Можно и в Москву через Владик прокатиться. А можно и левой рукой левое ухо почесать через затылок. Разные шрифты и форматы - это тебе не бантики, а документы. Кстати, и ТОРГ-12 сф унифицированные формы (да, ТОРГ-12 уже исключили, но память осталась). И, наверное, "черновик" открывается и закрывается? Аналогично номенклатуре. Не трудно посчитать, сколько строк займет покупатель, продавец и пр. в шапке. Это - универсально? :)))
#29
by 73с
"Не трудно посчитать, сколько строк займет покупатель, продавец и пр. в шапке. " Ну не сказал бы, что нетрудно, заранее знать сколько займёт например покупатель - проблематично. А главное - зачем считать, когда программа посчитает все сама ? Кстати, предложенный метод через черновик реализован в типовой бюджетной 7ке
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Подскажите код ОКЕИ для ТОРГ12
- Построитель: Как убрать итоги по колонкам, оставив итоги по строкам?
- СКД. Заголовок на каждой странице и прочее
- ТОРГ12 для УПП
- СКД. Как повторять шапку таблице на каждой странице
- СКД - как повторять шапку таблицы на каждой странице - как узнать высоту?
- erp торг12 как берутся упаковки в печатной форме
В этой группе 1С
- Автоматическоее выполнение регламентных заданий в файловом режиме 8.3
- УТ 11.2 Не создаётся реализация на основании заказа
- Таблица значений новая колонка ТаблицаЗначений
- ЗУП: остатки отпусков
- Конвертация данных. Перенос проводок
- Зуп 2.5 Алименты
- При открытии формы не заполнять динамический списо
- Сервер 1С:Предприятие на PostgreSQL и этот медленный запрос
- v7: Оценка размеров БД
- Создание связанных объектов из проведенного документа
- Подвисание тонкого клиента через https
- 1c8.3.5 тонкий клиент ошибка загрузки компоненты vrsbase
- Вычисляемое поле в таблице УФ 8.3
- Перетаскивание в управляемой форме.
- Ответ от web-сервиса (WSDL/SOAP/XDTO)
- Терминальный сервер на X2Go
- По 1с не проходит выемка денег из кассы ККМ
- ЗУП 2.5 Отчет в ПФР У Сотрудника договор ГПХ и прием на работу в один период
- v7: "Управленческий учет. Недостаточно товара"
- ЗУП 3.0 Расчет по беременности и родам