Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Объект типа "Таблица". Удалить строку.
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 7.7
koteyka-2
Есть необходимость удалить определенные строки в уже сформированной таблице (до исполнения метода Показать()). Дело в том, что нужны ли будут эти строки или нет становится известным уже в самом конце кода. Возможно ли это сделать средствами 1С или 1С++, типа ВыбОбласть.Удалить()?
Zaval
Можно. У таблицы есть строки - подвесьте в отладчике и посмотрите.
Правда группировка строк ломается.
Когда-то делал подобный изврат... до сих пор считаю это именно извратом.
Flexy
А вариант Выгрузить результат в ТЗ, обработать в ней и вывести в Таблицу не подходит?
koteyka-2
Цитата(Flexy @ 03.02.12, 10:47) необходимо зарегистрироваться для просмотра ссылки
А вариант Выгрузить результат в ТЗ, обработать в ней и вывести в Таблицу не подходит?

Можно, но заморочьки много. Там выборка идет из нескольких документов, разными циклами и построение таблицы полностью через ПрисоединитьСекцию("Строка|Столбец"). И все это из-за каприза бухгалтера, типа хчу чтоб таблица выглядела именно так, а не иначе.

Цитата(Zaval @ 03.02.12, 9:48) необходимо зарегистрироваться для просмотра ссылки
Можно. У таблицы есть строки - подвесьте в отладчике и посмотрите.
Правда группировка строк ломается.
Когда-то делал подобный изврат... до сих пор считаю это именно извратом.

Да, но строку можно либо вывести, либо пропустить. А здесь строки уже выведены в таблицу, т.е. таблица сформирована (это печатная форма, а не ТЗ). И нужно удалить строки в уже сформированной таблице перед методом - Показать().
Vofka
Цитата
Можно, но заморочьки много. Там выборка идет из нескольких документов, разными циклами и построение таблицы полностью через ПрисоединитьСекцию("Строка|Столбец"). И все это из-за каприза бухгалтера, типа хчу чтоб таблица выглядела именно так, а не иначе.

А нельзя все эти данные собрать в таблицу значений, из неё поудалять лишнее, а потом уже без никаких ПрисоединитьСекцию вывести пользователю в отчет эту таблицу значений?
mister-x
підтримую щодо переробки логіки щодо ТЗ
Цитата
Можно, но заморочьки много.
як сі бавити - то сі бавити smile.gif
koteyka-2
Цитата(Vofka @ 03.02.12, 11:25) необходимо зарегистрироваться для просмотра ссылки
А нельзя все эти данные собрать в таблицу значений, из неё поудалять лишнее, а потом уже без никаких ПрисоединитьСекцию вывести пользователю в отчет эту таблицу значений?

Я же и говорю, что если мой вопрос не решим, то буду делать через ТЗ. Хотел узнать, есть ли возможность сделать так, как в вопросе.
Домовик
а итоговые суммы как? вы ведь, небось шахматку делаете с итоговыми. показать - не покажете. а итоговые суммы все равно покажутся по всем строкам?

по поводу прятать строки:
не знаю как на практике, а в теории - ширину строки менять на 1. а кот. нужно выводить - нормальную ширину smile.gif



изначально электронной таблицей делать с опцией - удалить строку. И пусть сами решают - что удалять, а что - нет. Но это делать на порядок сложнее.
koteyka-2
Цитата(Домовик @ 03.02.12, 11:56) необходимо зарегистрироваться для просмотра ссылки
ширину строки менять на 1.

Пробовал :-) Такая "Красота" получается, ужасть. Походу наверное перепишу весь отчет. Лучше с нуля самому делать, чем переписывать чужое.
Там не шахматка, но вся проблема заключается в том, что запросом не сделать, т.к. в документе присутствует ТЗ-шка и половина данных берется из нее.
Короче, задница полная. Но документ менять мне уже ни кто не даст.
Zaval
Цитата(koteyka-2 @ 03.02.12, 11:18) необходимо зарегистрироваться для просмотра ссылки
Да, но строку можно либо вывести, либо пропустить. А здесь строки уже выведены в таблицу, т.е. таблица сформирована (это печатная форма, а не ТЗ). И нужно удалить строки в уже сформированной таблице перед методом - Показать().


Хм... да, оперировать нужно Областью табличного документа. Можно анализировать и менять содержимое ячеек, саму область тоже можно удалить.
Теперь - внимание! - вопрос: как обратиться к неименованной области ТабличногоДокумента?
5_kopeek
Цитата(Zaval @ 03.02.12, 13:39) необходимо зарегистрироваться для просмотра ссылки
Теперь - внимание! - вопрос: как обратиться к неименованной области ТабличногоДокумента?

В процессе формирования таблицы высчитаывать координаты и по ним строить область.
koteyka-2
Цитата(Zaval @ 03.02.12, 13:39) необходимо зарегистрироваться для просмотра ссылки
как обратиться к неименованной области ТабличногоДокумента?

Ооооо... Там вообще через задницу к гландам. Есть реквизит типа строка с неограничеными символами. Потом черз ВстрокуСРазделителями и обратно. Как я понял, человеку нужно было в одном доке две таб.части. Потому что в ТЗ забивается один справочник и сумма, а в ТЧ другой справочник и сумма.


Конфа самописная. Что-то сделано толково, что-то нет. Один делал, или с миру по нитке, не знаю.

Цитата(Zaval @ 03.02.12, 13:39) необходимо зарегистрироваться для просмотра ссылки
ТабличногоДокумента

Имеется в виду Таб. часть документа или таблица?
Vofka
Цитата
Конфа самописная. Что-то сделано толково, что-то нет. Один делал, или с миру по нитке, не знаю.

Вот видно человек адекватный smile.gif . А то студенты обычно приходят сюда и пишут, что прошлый прогер лапух и написал какаху, а сами при этом 2 строчки связать не могут.
Zaval
Это к "...вычислять координаты"


Угу. Или перебирать и искать крамолу, подлежащую удалению.
Я изначально имел ввиду именно строку ТабличногоДокумента, а не таблицы, которая в него выводится.

Конечно же, итоговые суммы не меняются - именно в этом кроется великий смысл такого колдунства.

Метод извратный, сугубо для глубокого удовлетворения юзеров, являющихся клиническими идиотами.
"Сумма должна быть правильная, но вот эту строку я видеть не хочу!" - вот тут очень важно не заржать вголос, когда будет озвучена "дюже важная причина"

От такого кадра никто не застрахован(
Аха, это именно через... к гландам. Но реализуется легко и вполне соизмеримоВменяемо с запросом Заказчика smile.gif
koteyka-2
Цитата(Zaval @ 03.02.12, 14:00) необходимо зарегистрироваться для просмотра ссылки
От такого кадра никто не застрахован(

Я и сам часто с таким сталкиваюсь. Людям объясняешь, что если построить таблицу по другому, то и на создание самого отчета уйдет меньше времени, и на скорость его работы тоже. Но зачастую, упрутся рогом, хочу, чтоб такая же, как у меня в экселе была. И извращайся потом. А всё из-за того, что конечный пользователь (99,9% это вумен) ни как не хотят осваивать что-то новое. Привыкла так, значить давайте мне так.


Вот к примеру, сколько времени удет на создание такой таблицы (точь в точь)? Это еще при условии, что поставщиков, отделов и расходов магазина за разные периоды может быть разное кол-во. За одну неделю может быть 3, а за другую 15.

Хотя стадартным запросом и таблицей, которую конструктор автоматом формирует, эти же данные я бы получил за 10 минут работы.
Домовик
"маленькие раки по три рубля, большие - по пять" вот и все ))). цену называете в том и другом случае (с поставщиками) и пусть выбирают сами. Конечно, по группировке строки легче вывести, чем колонки. с колонкам нужно через тз. и не одну тз.
Zaval
Цитата(koteyka-2 @ 03.02.12, 14:20) необходимо зарегистрироваться для просмотра ссылки
(99,9% это вумен)


Епт!!! Вы, случАем, не колдун??? А то, по Вашей статистике, мне светит встреча с 1998 женщинами с такой "заточкой"! smile.gif

Цитата(koteyka-2 @ 03.02.12, 14:20) необходимо зарегистрироваться для просмотра ссылки
Вот к примеру, сколько времени уйдет на создание такой таблицы (точь в точь)? Это еще при условии, что поставщиков, отделов и расходов магазина за разные периоды может быть разное кол-во. За одну неделю может быть 3, а за другую 15.


Та ладно, выклянчить позволение добавить в шапку заголовок "По отделам", объединяющий колонки "Отдел.." - и отделы превращаются в вертикальную группировку. Расходы и Поставщики - это уже и так вертикальные группировки.
При хорошем владении Построителем и некотором опыте конструирования запросов получится вполне нормальная задача.
-=VJ=-
Цитата(koteyka-2 @ 03.02.12, 9:36) необходимо зарегистрироваться для просмотра ссылки
Есть необходимость удалить определенные строки в уже сформированной таблице (до исполнения метода Показать()). Дело в том, что нужны ли будут эти строки или нет становится известным уже в самом конце кода. Возможно ли это сделать средствами 1С или 1С++, типа ВыбОбласть.Удалить()?


Сохраните в Excel, а дальше через объект его методами удаляйте, как хотите smile.gif
5_kopeek
Цитата(koteyka-2 @ 03.02.12, 14:26) необходимо зарегистрироваться для просмотра ссылки
А всё из-за того, что конечный пользователь (99,9% это вумен) ни как не хотят осваивать что-то новое.

У меня наоборот: бухгалтершу уломать на другой вид могу, а вот шеф-мужчина нифига не понимает, когда ему в другом виде табличку дают. И топает ногами: хочу, чтобы как раньше было, за что деньги платются? smile.gif

Цитата(koteyka-2 @ 03.02.12, 14:26) необходимо зарегистрироваться для просмотра ссылки
Это еще при условии, что поставщиков, отделов и расходов магазина за разные периоды может быть разное кол-во. За одну неделю может быть 3, а за другую 15.

У меня похожий отчет был: по сути, больше чем двухмерную матрицу изобразить в двухмерном виде. Ни ширина секций, ни к-во колонок наперед неизвестно. Пришлось и ТЗ использовать, и извращаться с таблицей путем объединения ячеек и т.д. Координаты считала в процессе заполнения, как и говорила. Формировался фиг знает сколько, зато в такой форме, как хотели: ни чтоб зазря пустых ячеек не было, ни чтоб лишнее не выводилось, и чтоб сводные данные были. Но это еще тот гемор был.
koteyka-2
Всем спасибо. Переписал отчет полностью, сделал через ТЗ-шки. Вот уж во истину, если что-то нужно сделать хорошо, сделай это сам.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.