andthevoid
Гость
|
|
« : 24-11-2005 14:13 » |
|
Есть таблица в режиме ввода данных. в процессе работы таблица иногда перерисовывается и количество строк в ней бывает разным. последняя строка - итоговая. в ней, разумеется, необходимо выводить само слово "Итого:". для этого ячейке назначается тип "строка", а после этого если при очередной перерисовке таблицы строк становится больше, в той ячейке, где был строковый тип, установить обратно агрегатный тип (в моём случае - перечисление) не получается. ячейка остаётся строковой и в ней вылазят разные глюки. не посоветуете ли возможные решения этой проблемы (если они вообще существуют).
заранее спасибо!
|
|
|
Записан
|
|
|
|
schnibbl
Гость
|
|
« Ответ #1 : 24-11-2005 15:11 » |
|
Вообще не очень понятно, поподробнее пожалуйста , а так навскидку, что если сделать 2 ячейки (секции) Итого, одну на случай нормальных строк, другую на случай превышения кол-вом строк лимита вашего.
|
|
|
Записан
|
|
|
|
Harry
Модератор
Offline
|
|
« Ответ #2 : 24-11-2005 15:34 » |
|
В таблице делаешь три строки (секции). Шапка, Строка, Итог. Первую выводишь перед циклом, которым строки перебираешь, другую в цикле, третью - после. Если тебе нужно слово Итого - сделай между Строка и Итог строчку, не входящую в секцию. Если нужно вывести слово Итого и сам итог в одной строке - придется еще делать две секции по горизонтали. Если не поймешь - обращайся, только вчера писал подобный отчет
|
|
|
Записан
|
Слабый пол силен в силу слабости сильного пола к слабому
|
|
|
andthevoid
Гость
|
|
« Ответ #3 : 25-11-2005 07:50 » |
|
в том-то и беда, что в режиме ввода данных секции не работают. они работают только при генерации выходной таблицы. а в таблице в режиме ввода всё делается только через Таблица.Область. при этом есть возможность задать имя области и обращаться к ней по этому имени, но в таком случае область будет выводиться в той строке, в которой она прописана в редакторе таблицы. либо же обращение к области происходит по координатам. и именно в этом случае для ячеек, которые однажды стали стрококвыми, агрегатный тип уже не присвоить...
|
|
|
Записан
|
|
|
|
Harry
Модератор
Offline
|
|
« Ответ #4 : 25-11-2005 09:49 » |
|
Сбрось обработку на harry7@rambler.ruНе видя сам предмет обсуждения мне тяжело что нить сказать.
|
|
|
Записан
|
Слабый пол силен в силу слабости сильного пола к слабому
|
|
|
Kivals
|
|
« Ответ #5 : 02-12-2005 13:05 » |
|
andthevoid Используй Таблица.Очистить(); перед обновлением и выводи все по-новой. У меня так (именно в режиме ввода данных):
Таб = Таблица; Таб.ИсходнаяТаблица("ТабЭкспорт"); Таб.Очистить(); Таб.ВывестиСекцию("Шапка"); Для И1=1 По ТЗ.КоличествоСтрок() Цикл Таб.ВывестиСекцию("Строка"); КонецЦикла; Таб.ВывестиСекцию("Итого"); Таб.Показать();
|
|
|
Записан
|
|
|
|
andthevoid
Гость
|
|
« Ответ #6 : 02-12-2005 13:22 » |
|
спасибо! попробую, когда снова возьмусь за эту задачу!
|
|
|
Записан
|
|
|
|
easily
Участник
Offline
|
|
« Ответ #7 : 18-01-2006 12:23 » |
|
Пожалуйста, помогите,как выводить значения из таблицызначений в таблицу в режиме ввода данных
|
|
|
Записан
|
|
|
|
Kivals
|
|
« Ответ #8 : 18-01-2006 13:27 » |
|
easily А что тебя смущает в моем куске кода? в шаблоне таблицы (то, что видишь в конфигураторе), в секции "Строка" задай значения: ТЗ.Название, ТЗ.Код, ТЗ.ТраЛяЛя, и какие еще тебе поля надо вывести - и вперед.
|
|
|
Записан
|
|
|
|
easily
Участник
Offline
|
|
« Ответ #9 : 18-01-2006 14:24 » |
|
ой, прости.. просто не привычно тут как-то... Задавать значения в режиме ввода данных не получается напрямую, или может я что-то не так делаю...
|
|
|
Записан
|
|
|
|
Kivals
|
|
« Ответ #10 : 18-01-2006 14:38 » |
|
Вообще-то я пробовала туда вывести какую-нибудь переменную, неполучилось.. Я ее записывала в строку "формула" в свойствах ячейки..
А что получилось в итоге? Что ты понимаешь под "задавать значения"? Если просто вывести таблицу - все нормально видно? Не в обиду вопрос, но для понимания: а какой твой опыт программирования в 1С?
|
|
|
Записан
|
|
|
|
easily
Участник
Offline
|
|
« Ответ #11 : 18-01-2006 14:48 » |
|
в обычной режиме можно просто передать значение из модуля в таблицу, просто прописав переменную в ячейке и назначить ей тип "выражение"... А как сделать тоже самое только в режиме ввода данный?
|
|
|
Записан
|
|
|
|
Kivals
|
|
« Ответ #12 : 19-01-2006 10:54 » |
|
В свойствах формы устанавливается "Использовать таблицу" = Пустую После этого тот код, который написан выше используется для вывода таблицы в обычном режиме, причем это можно сделать в предопределенной процедуре "ПриОткрытии()" См. пример во вложении.
|
|
|
Записан
|
|
|
|
easily
Участник
Offline
|
|
« Ответ #13 : 19-01-2006 11:16 » |
|
ой, спасибо ... Я правда уже так попробовала Таблица.Область(Строка("R" + Строка(п) + "C1")).Значение = Строка(сДокумПрих); вывести, но у тебя гораздо легче...
|
|
|
Записан
|
|
|
|
easily
Участник
Offline
|
|
« Ответ #14 : 19-01-2006 11:23 » |
|
еще один момент.. смогу ли я тогда использовать предопределенные процедуры, например ПриВыбореЯчейкиТаблицы() ?... мне надо чтобы по щелчку на ячейки, выбирался справочник из другой конфигурации.
|
|
|
Записан
|
|
|
|
Kivals
|
|
« Ответ #15 : 19-01-2006 11:50 » |
|
да - можешь
|
|
|
Записан
|
|
|
|
easily
Участник
Offline
|
|
« Ответ #16 : 19-01-2006 13:24 » |
|
ОбработкаЯчейкиТаблицы() - не работает, пытаюсь получить значение ячейки, а он даже процедуру вызывать не хочет..
|
|
|
Записан
|
|
|
|
Kivals
|
|
« Ответ #17 : 19-01-2006 13:36 » |
|
Чтобы работал метод ПриВыборе... таблица должна быть в режиме ТолькоПросмотр(1); я в коде установил его в 0...
|
|
|
Записан
|
|
|
|
easily
Участник
Offline
|
|
« Ответ #18 : 23-01-2006 07:02 » |
|
нет, он процедуру не видит...
|
|
|
Записан
|
|
|
|
Kivals
|
|
« Ответ #19 : 23-01-2006 10:21 » |
|
Извиняюсь. Кроме вышесказанного - для этой ячейки еще должна быть задана расшифровка...
|
|
|
Записан
|
|
|
|
easily
Участник
Offline
|
|
« Ответ #20 : 23-01-2006 14:01 » |
|
спасибо, попробую
|
|
|
Записан
|
|
|
|
|