Вопрос Возможно ли перебрать весь табличный документ построчно Необходимо проанализировать есть ли в соседних ячейках одинаковые значения и если есть то объединить их Это необходимо выполнить то кода
ТабДокумент.Показать()
Метод заполнения табличного документа сложный и вычислить зарание есть ли в соседних ячейках одинаковые значения невозможно ...возможен такой вариант что строка состоит из 16 ячеек и все их нужно будет объединить ...
Группа: Пользователи
Сообщений: 1543
Спасибо сказали: 254 раз
Рейтинг: 0
не глядя в литературу...объект-табличный документ У него наверняка есть либо метод либо свойство "Область" . Получить область наверняка можно по координатам (надеюсь и по имени тоже). У объекта область есть и текст и значение и расшифровка
Группа: Пользователи
Сообщений: 1543
Спасибо сказали: 254 раз
Рейтинг: 0
ТабличныйДокумент.Область (SpreadsheetDocument.Area) ТабличныйДокумент (SpreadsheetDocument) Область (Area) Вариант синтаксиса: По имени
Синтаксис:
Область(<ИмяОбласти>) Параметры:
<ИмяОбласти> (обязательный)
Тип: Строка. Имя области или адрес в формате "R1C1:R2C2", где число после "R" обозначает номер строки, число после "C" - номер колонки, символом ":" (двоеточие) разделяются координаты левого верхнего и правого нижнего угла области. В качестве имени также можно передавать пересечение двух областей, записываемое как "<Имя области 1> | <Имя области 2>". Вариант синтаксиса: По адресу
Agapov_Stas, вы же сами тут пользуетесь методом Область().
Поэтому и написал что это я знаю ) Но если Вы заметили - я его постоянно присоединяю !!! т.е. не известно какой будет результат отчета по ширине и по высоте А цикл я привел как пример в отчете количество строк и столбцов зависит от данных
Цитата(XBrut @ 12.06.13, 17:18)
можно именовать области. можно запоминать каждый раз, в какой координате что написано. шо Вы капризничаете
Макет отчета состоит из 4х !!! ячеек а на экран он выводится примерно 23 на 10 ячейки ( каждый раз по разному - читайте выше) Он динамический и собирается из кусочков Поэтому именовать - у 90% областей одинаковое будет имя Запоминать - неизвестно сколько нужно запоминать - т.к. макет отчета не фиксирован поэтому и прошу подсказать - возможно ли перебрать уже сформированный табличный документ перед его выводом ?
Группа: Пользователи
Сообщений: 1543
Спасибо сказали: 254 раз
Рейтинг: 0
кхе кхе .. по-вашему, сформированный табличный документ нельзя перебрать по ячейкам, потому что не известно заранее, какой он будет ширины и высоты? Я несогласен
Группа: Основатель
Сообщений: 13981
Из: Киев
Спасибо сказали: 4549 раз
Рейтинг: 3678.1
Agapov_Stas, готового кода сейчас не приведу,попытаюсь объяснить на пальцах. У ТабДокумента есть метод Область(). Так? Так. И к какой-то конкретной области (ячейке) можно обратиться задав параметры типа ТабДокумент.Область(1, 1, 0, 0) (точный синтаксис не вспомню сейчас). Так вот, делаете цикл с какого-то номера строки, например 2, т.к. условно считаем, что выше - это заголовок и крутите этот цикл пока не дойдете до первой пустой области (считаем, если попадается пустая ячейка - отчет закончился). Внутри этого цикла делаете цикл, который идет не в высоту, а в ширину.
Группа: Пользователи
Сообщений: 1543
Спасибо сказали: 254 раз
Рейтинг: 0
Vofka, там должна быть где то высота и ширина табличного документа
Оце якось загадали мені зробити документ, але щоб діалогова форма в нього була у вигляді таблиці , схожої на ексель. Копався я копався і зробив висновок, що не така вже стройна об'єктна модель з тими таблицями. Наприклад : неможна іменувати вкладені області , щоб звернутися потім :
ТабличныйДокумент.ИмяОбласти1.ИмяОбласти2
Правда було це давно. Може на останніх релізах таке можна робити... хто його зна ...
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0
Цитата(Agapov_Stas @ 12.06.13, 17:16)
отчет динамический и координаты его каждый раз разные
Простите, что встреваю, а как это динамический отчет в табличном документе? Каким бы сложным не был отчет, его данные необходимо формировать и анализировать до вывода. Идея перебирать сформированный табдок, что бы анализировать данные - скорее говорит о не правильном понимании задачи, или недостаточного опыта для ее реализации.
Личные бесплатные консультации не даю, для этого есть форум!
Группа: Пользователи
Сообщений: 1543
Спасибо сказали: 254 раз
Рейтинг: 0
logist, мне тоже приходилось такое делать ИНОГДА. Представьте отчет с группировкой показателя по периодам вбок (в колонках) колонки показателя следует сверху объединить под общим названием. Я засекал координаты и объединял маленькие ячейки. Неужели можно сделать как-то по другому? Готовая секция вроде как не подходит : мы не знаем ее размеров заранее.
Группа: Основатель
Сообщений: 13981
Из: Киев
Спасибо сказали: 4549 раз
Рейтинг: 3678.1
Цитата(XBrut @ 13.06.13, 8:48)
а как это динамический отчет в табличном документе? Каким бы сложным не был отчет, его данные необходимо формировать и анализировать до вывода.
Например вывести остатки по всем складам: в строках номенклатура, в колонках склад. И вот тут хз сколько будет складов. Конечно, СКД этот вопрос решает, но мне приходилось делать нечто подобное с хитрыми вычислениями, поэтому делал без СКД. Я так понял - это и есть "динамический отчет".
Группа: Основатель
Сообщений: 13981
Из: Киев
Спасибо сказали: 4549 раз
Рейтинг: 3678.1
Цитата(Petre @ 13.06.13, 9:29)
Для СчСтр = 1 По ТабДок.ВысотаТаблицы Цикл Для СчКол = 1 По ТабДок.ШиринаТаблицы Цикл ...
или от меня ускользнула основная мысль...
Я это же имел ввиду, когда выше про циклы рассказывал. А про порверки на пустую ячейку - тупанул, забыл, что у табличного документа в самом деле есть свойства Высота и Ширина.
Про циклы - мысль стоящая Только вот как мне перебрать в цикле ячейки ? Просто координаты ячейки могут быть разные ... одна ячейка может состоять из двух объединенных ячеек а может и быть разбита пополам ... Знать координаты могу только первой ячейки каждой строки и то если она не объединена или не разбита пополам ...
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!