v7: Таблица в режиме ввода данных v7 #653448


#0 by Lyopik
Вывожу строки, в которых каждая колонка имеет различный тип (строка, число, документ, справочник и т.д.) Метод Таблица.Область("RxCy").НазначитьТип(...) работает, только если тип ячейки "Неопределенный", а он, к сожалению, имеет по умолчанию тип "Строка", и программно меняться никак не хочет. Назначать каждой ячейке неопределенный тип нереально, т.к. не известно сколько будет строк, а их может быть до 200 000. Как быть?
#1 by viktor_vv
Когда-то очень давно с этим сталкивался, кроме как назначить тип заведомо большой области ничего не нашел.
#2 by Lyopik
Вот и я попробовал задать тип на предполагаемую область, отчет вышел более 100 М. Если пользоваться как внешним - оно конечно по барабану сколько он весит, но мне нужно в распределенной базе периферийкам. Решил попробовать по другому, параллельно с заполнением таблицы заполнять ТЗ с синхронизацией по адресу ячейки, и по клику на ячейку находить нужные данные уже из ТЗ и обрабатывать их. Тогда возник другой вопрос: нафига тогда вообще нужна эта таблица в режиме ввода данных, если в таком варианте легче выводить саму ТЗ и работать с ней, правда при таких объемах это жуткий тормоз. Теперь у меня другой вопрос, риторический: чем думали разработчики 1С, когда по умолчанию присваивали тип ячейкам "Строка" вместо "Неопределенного", если её программно изменять нельзя??? Или сделали тогда уже бы, чтобы любой тип на любой другой можно было менять что-ли?
#3 by NS
выдели столбец, и всему столбцу - защита = 0 вид данных = неопределённый
#4 by NS
Не области, а полностью столбцам.
#5 by Lyopik
Пробовал. Это применится ко всему столбцу активной области, т.е. по пунктирную линию, ниже - "строка".
#6 by NS
Тогда используй пустую таблицу. И в ней "вывестисекцию"
#7 by Lyopik
Не, для данной задачи не подойдет. Это обработка, в которой интерактивно меняются данные в таблице, которые сразу же меняются в сообветствующих документах и справочниках, и сразу же обновляются и пересчитываются данные в этой таблице. В обычной таблице ты так данные в ней не обновишь, не буду же я каждый раз таблицу с нуля перерисовывать...
#8 by NS
Почему не будешь, и почему не обновить?
#9 by NS
Легко обновляется, совсем недавно делал кому-то рабочее место на пустой таблице.
#10 by Lyopik
ну да, на 100-200 строк это даже и заметно почти не будет, а на 20000-200000 строк, как в данном случае?
#11 by NS
И "неопределено" - зло, связано с очень неприятным глюком при объекдинении конфигураций. Точно не помню как глюк выглядит, но вроде если в новой конфигурации "Справочник", то при получении вида - вылет программы. Проявлялся в типовом ЗиКе, в личной карточке. А если в режиме ввода данных то ячейки не изменяются? Логики не вижу. Ты точно так-же можешь в пустой таблице менять значения в ячейках и оформление ячеек, не перерисовывая таблицу. Через область.
#12 by Lyopik
Если честно, никогда не пытался, т.к. думал, что нельзя. По-этому сказать однозначно не могу, надо попробовать. Спасибо за совет.
#13 by Lyopik
Та не, ты что-то не то говоришь. В пустой странице вывод происходит только через ВыводСекции, и эта сексия выведится только в конце таблицы, в самом низу. А в определенное место ты её ни как не вставишь.
#14 by NS
см. метод область. После того как ты вывел таблицу, и пользователь изменил значение в ячейке - ты методом таблицы область можешь менять значения в произвольных местах таблицы.
#15 by Lyopik
ну указал я область, назначил ей цвет, рамку, значение, ориентацию и т.д... с самой таблицей ничего не происходит.  Какой командой я должен её вывести в таблицу?
#16 by Тьма
Щелкни мышкой по таблице - она и обновится. Можно еще просмотр выключить/включить    таблица.толькопросмотр; с тем же результататом
#17 by Lyopik
Вообще-то, все то, что я писал перед этим я и делаю по клику на ячейке таблицы
#18 by NS
Таблица.Показать("",,1);
#19 by NS
Вот пример: Тоже самое делаешь по клику на ячейках.
#20 by NS
На всякий случай, вдруг у тебя не работает клик - должен быть только просмотр, и не пустая расшифровка.
#21 by Lyopik
Да я понял, я проверю, спасибо
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С