|
Можно ли считать данные из табличного документа на управляемой форме? | ☑ | ||
---|---|---|---|---|
0
Анцеранана
26.08.22
✎
09:58
|
Добрый день! Странно, почему-то не получается это сделать. Метод Область на клиенте не работает. Поле формы на сервер тоже не передается - ПоместитьВоВременноеХранилище(Элементы.Результат, КлючУникальности) выдает ошибку.
В поле формы - цифры, которые пользователь вводит с клавиатуры и/или копирует туда из диапазона(ов) ячеек. PS Можно для решения моей задачи загрузить из Excel, но это будут лишние действия, так же как и добавление строчек в список. Такая реализация была - бы оптимальнее с точки зрения юзера и программиста. |
|||
1
6awkup_true
26.08.22
✎
10:02
|
табдок можно прочитать в таблицу значений при помощи построителя запроса
|
|||
2
6awkup_true
26.08.22
✎
10:05
|
построителя отчета*
примерно так ПоследняяСтрока = ТабДокумент.ВысотаТаблицы; ПоследняяКолонка = ТабДокумент.ШиринаТаблицы; ОбластьЯчеек = ТабДокумент.Область(1, 1, ПоследняяСтрока, ПоследняяКолонка); ИсточникДанных = Новый ОписаниеИсточникаДанных(ОбластьЯчеек); ПостроительОтчета = Новый ПостроительОтчета; ПостроительОтчета.ИсточникДанных = ИсточникДанных; ПостроительОтчета.Выполнить(); ТабЗначений = ПостроительОтчета.Результат.Выгрузить(); |
|||
3
ptiz
26.08.22
✎
10:06
|
(2) В случае УФ - как раз ПостроительЗапроса (с сервера). Только это будет избыточно для данной задачи.
|
|||
4
Eugeneer
26.08.22
✎
10:07
|
(2) табдок перекидывать зат ос клиента на сервер и обработно - почти ничего не стоит.
|
|||
5
PaulBC
26.08.22
✎
10:08
|
(0) Элементы.Результат - не табличный документ.
Область() работает на клиенте. |
|||
6
6awkup_true
26.08.22
✎
10:11
|
(4) а ПоместитьВоВременноеХранилище(..) вас не смутило? тут и так сервер участвует
|
|||
7
Kassern
26.08.22
✎
10:13
|
(0) Конечно можно. Как по вашему работает расшифровка полей в отчете?
|
|||
8
Eugeneer
26.08.22
✎
10:14
|
(6) таб док можно передавать параметром. без всякого хранилища
|
|||
9
Анцеранана
26.08.22
✎
10:15
|
(5) Что-то я совсем запутался. так как из ПоляФормы типа ТабличныйДокуемнт сделать собственно ТабЛичныйДокумент. чтобы Область() отработало.
|
|||
10
Eugeneer
26.08.22
✎
10:17
|
Размер таб доков в сотни раз будет меньше таблиц.
|
|||
11
Eugeneer
26.08.22
✎
10:18
|
&НаКлиенте
Процедура ТаблицаЦеныНоменклатурыПриАктивизации(Элемент) Если ТаблицаЦеныНоменклатуры.ВысотаТаблицы = 0 Тогда Возврат; КонецЕсли; ЛинияДнойная = Новый Линия(ТипЛинииЯчейкиТабличногоДокумента.Сплошная,3); ЛинияОбычная = Новый Линия(ТипЛинииЯчейкиТабличногоДокумента.Сплошная); ТекущаяОбласть = ТаблицаЦеныНоменклатуры.ТекущаяОбласть; НомерТекущейСтрокиТаб = ТекущаяОбласть.Верх; Если НомерТекущейСтрокиТаб < 2 Тогда Возврат; КонецЕсли; ОбластьВыборки = ТаблицаЦеныНоменклатуры.Область("R"+НомерТекущейСтрокиТаб+"C1"); ЗначениеНоменклатуры = ОбластьВыборки.Расшифровка; Если НЕ ЗначениеЗаполнено(ЗначениеНоменклатуры) Тогда Возврат; КонецЕсли; ШиринаТаблицы = ТаблицаЦеныНоменклатуры.ШиринаТаблицы; Если ВремНомерСтроки_ТаблицаЦен <> Неопределено И НомерТекущейСтрокиТаб <> ВремНомерСтроки_ТаблицаЦен Тогда ИзменяемаяОбласть = ТаблицаЦеныНоменклатуры.Область(ВремНомерСтроки_ТаблицаЦен,1,ВремНомерСтроки_ТаблицаЦен,ШиринаТаблицы); ИзменяемаяОбласть.ЦветРамки = WebЦвета.ТемноСерый; ИзменяемаяОбласть.ГраницаСверху = ЛинияОбычная; ИзменяемаяОбласть.ГраницаСнизу = ЛинияОбычная; //ИзменяемаяОбласть.ЦветФона = Новый Цвет; ИзменяемаяОбласть.Шрифт = Новый Шрифт(,8,Ложь); КонецЕсли; ИзменяемаяОбласть = ТаблицаЦеныНоменклатуры.Область(НомерТекущейСтрокиТаб,1,НомерТекущейСтрокиТаб,ШиринаТаблицы); ИзменяемаяОбласть.ЦветРамки = WebЦвета.ТемноЗеленый; ИзменяемаяОбласть.ГраницаСверху = ЛинияДнойная; ИзменяемаяОбласть.ГраницаСнизу = ЛинияДнойная; ИзменяемаяОбласть.Шрифт = Новый Шрифт(,9,Истина); ВремНомерСтроки_ТаблицаЦен = НомерТекущейСтрокиТаб; КонецПроцедуры Все работает на клиенте. табдок - реквизит формы. |
|||
12
Eugeneer
26.08.22
✎
10:20
|
На сервер тоже таб док передается элементарно как параметр. Можно как с контекстом так и без контекста.
И функции работают - возвращают легко таб доки без всяких хранилищ. |
|||
13
Анцеранана
26.08.22
✎
10:36
|
(12) У меня просто в задаче по кнопке .Конечно же Результат в моём случае - это реквизит формы , это табличный документ, а я пару часов копался с Элементы.Результат поэтому и не получалось! Затупил (
Всем спасибо ! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |