Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
23 сен 2021, 14:35

Программное объединение ячеек в печатной форме 1с 8.3

Автор stydent117, 01 фев 2021, 09:37

0 Пользователей и 1 гость просматривают эту тему.

LexaK

да-а-а, зажмите ЛКМ и поводите мышкой по Макету...
ответ Понравился? (в смысле пригодился?)

stydent117

Цитата: ls600 от 03 фев 2021, 12:04
что мешает объединить вертикальные ячейки
Я не знаю как объединить  вертикально.Горизонтально знаю

ОбластьОбъединения = ТабличныйДокумент.Область(11,15,23,15);
                    ОбластьОбъединения.Объединить();

Код сработал,объединил ячейки
Но выводит над шапкой,нужно как то привязать Область.Объединения к выводимым строкам до заполнения в них значения+ условие чтобы при появлении в номенклатуре значения строка не заполнялась,например если графа2=услуги тогда пропустить иначе следующий

Добавлено: 03 фев 2021, 12:34


Цитата: LexaK от 03 фев 2021, 12:06
да-а-а, зажмите ЛКМ и поводите мышкой по Макету...
Это я знаю как объединить ячейки в самом макете

LexaK

ЦитироватьЯ не знаю как объединить  вертикально.Горизонтально знаю
что бы объединить вертикально надо что бы строчки отличались, вот ваш пример


ОбластьОбъединения = ТабличныйДокумент.Область(11,15,23,18);
ОбластьОбъединения.Объединить();

объединит ячейки с 15 по 18 строку, вам где то надо считать строчки для объединения.

п.с. но так и не понял смысла в объединении.
полно примеров когда надо вывести доп.колонку например Номера ГТД,
или когда динамическое количество колонок,
ни разу не было задачи, что-то скрывать и показывать что-то с помощью объединения ячеек
вот пример динамического формирования количества колонок, может поможет
ответ Понравился? (в смысле пригодился?)

stydent117

Цитата: LexaK от 03 фев 2021, 13:08
ЦитироватьЯ не знаю как объединить  вертикально.Горизонтально знаю
что бы объединить вертикально надо что бы строчки отличались, вот ваш пример


ОбластьОбъединения = ТабличныйДокумент.Область(11,15,23,18);
ОбластьОбъединения.Объединить();

объединит ячейки с 15 по 18 строку, вам где то надо считать строчки для объединения.

п.с. но так и не понял смысла в объединении.
полно примеров когда надо вывести доп.колонку например Номера ГТД,
или когда динамическое количество колонок,
ни разу не было задачи, что-то скрывать и показывать что-то с помощью объединения ячеек
вот пример динамического формирования количества колонок, может поможет

Есть же счетчик строк (КолСтрок),от него можно считать строки? Вертикальная область в вашем  примере более долгий длинный путь.Потому что нужно изменить табличный документ,изменения перенести в код.А программное изменение труднее описать,но кода меньше,наверное.
Логика примерно такая 1.пункт выводится строка  товар (количество+стоимость) далее сопутствующая услуга 2.строки
объединяться в 4х колонках 3.объединенные строки заполняются только из строк стоимости товаров

А вот с условием услуги вопрос встает,как правильно написать если в строка содержит "услуги" тогда строка следующий иначе цена*количество. 
Добавлено: 03 фев 2021, 15:14


Цитата: ls600 от 03 фев 2021, 12:04
что мешает объединить вертикальные ячейки
Знание синтаксиса 1с наверное и фишек конфигуратора
Знаешь как получается,в голове я понимаю как построить код,а как написать грамотно чтобы программа выполнила код хз
Добавлено: 03 фев 2021, 18:17



LexaK

какой-то плохой пример, речь шла о конкретном/готовом результате печати
строка 3 почему пустая,
товар объединяется с услугами, где связь,
что за число в колонке Продукции? одно на всю таблицу?
даже по этим данным
делаете промежуточный таб.док, в него выводите детальные строчки,
затем к этому таб.доку присоединяете общие ячейки,
и уже этот таб.док выводите в результирующий.

на самом деле так ни кто не заморачивается, ставят Завоз продукции напротив товара,
а напротив услуги оставляют пустым
и всех делов
ответ Понравился? (в смысле пригодился?)

stydent117

Цитата: LexaK от 04 фев 2021, 10:24
какой-то плохой пример, речь шла о конкретном/готовом результате печати
строка 3 почему пустая,
товар объединяется с услугами, где связь,
что за число в колонке Продукции? одно на всю таблицу?
даже по этим данным
делаете промежуточный таб.док, в него выводите детальные строчки,
затем к этому таб.доку присоединяете общие ячейки,
и уже этот таб.док выводите в результирующий.

на самом деле так ни кто не заморачивается, ставят Завоз продукции напротив товара,
а напротив услуги оставляют пустым
и всех делов
Скрин на Excel https://transfiles.ru/lglkr

Я понимаю,но к сожалению именно такой формат установлен для сдачи отчета

LexaK

вот пример с объединением ячеек
элементарный, но вроде работает как у вас в задании,
сделан с объединением, с чего вы и начинали.
надеюсь сможете применить к своей задачи.
ответ Понравился? (в смысле пригодился?)

stydent117

Цитата: LexaK от 04 фев 2021, 12:50
вот пример с объединением ячеек
элементарный, но вроде работает как у вас в задании,
сделан с объединением, с чего вы и начинали.
надеюсь сможете применить к своей задачи.

Спасибо огромное,сейчас попробую

Добавлено: 05 фев 2021, 14:27


Цитата: LexaK от 04 фев 2021, 12:50
вот пример с объединением ячеек
элементарный, но вроде работает как у вас в задании,
сделан с объединением, с чего вы и начинали.
надеюсь сможете применить к своей задачи.

Ошибка вылетает:
Итератор для значения не определен
{ВнешняяОбработка.ОтчетАгента.МодульОбъекта(703)}: Для каждого строки Из ВыборкаТоваров Цикл
{ВнешняяОбработка.ОтчетАгента.МодульОбъекта(37)}:


Может неправильно вставил код?

LexaK

пример ввода цены перед печатью
Добавлено: 05 мар 2021, 16:40


еще пример
ответ Понравился? (в смысле пригодился?)

Теги:

Похожие темы (5)

Рейтинг@Mail.ru Rambler's Top100

Поиск