|
Обращение к элементу поля табличного документа | ☑ | ||
|---|---|---|---|---|
|
0
synapce
02.09.21
✎
14:49
|
Всем привет!
1С бухгалтерия 8.3 Начну сначала. Есть функция в общем модуле, которая вычисляет запросами результат и выводит его на форму, в поле табличного документа ТабДок К примеру, он заполнился: Поле1 Поле2 Поле3 Мне же нужно обратиться к Поле2 и сделать проверку, что если он меньше нуля, то Сообщить("Поле2 меньше нуля, перепроверьте данные"); Как это осуществить? Заранее спасибо! |
|||
|
1
ДенисЧ
02.09.21
✎
14:53
|
А не лучше это проверять перед выводом?
А так - получаешь область по адресу и смотришь... |
|||
|
2
synapce
02.09.21
✎
15:00
|
(1) запрос километровый) много зависимостей, каждому своё. Лучше бы конечно по адресу получить, так понимаю, конкретно по строке обратиться? Типа [R2C4] нечто такого?
|
|||
|
3
Мультук
гуру
02.09.21
✎
15:09
|
(2) тогда проверяй "во время" вывода
|
|||
|
4
synapce
02.09.21
✎
15:13
|
(3) не канает, вопрос стоит именно по результату в табличном поле
|
|||
|
5
Мультук
гуру
02.09.21
✎
15:23
|
(4) Тогда по [R2C4]
Как вариант можно именовать области во время вывода, как тебе нравится, например строка_X_Y --> строка_1_2 и перебирать области в цикле. Так в свое время делали регламентированные отчеты в БП (например бухбаланс) |
|||
|
6
synapce
02.09.21
✎
15:29
|
(5) В данном случае как его сравнить с нулем? Он ж не даст) Несоответствие типов и т.д.
Всё, что в ячейке - текст |
|||
|
7
Guk
02.09.21
✎
15:32
|
(6) а текст запрещено в число преобразовывать?...
|
|||
|
8
Мультук
гуру
02.09.21
✎
15:34
|
(6) F1 в синтакс-помошнике по Табличный документ СодержитЗначение Значение
|
|||
|
9
Мультук
гуру
02.09.21
✎
15:36
|
(6) Вот тут внезапно люди как-то что-то делают
Ячейка = Результат.Область(ИндексСтрока, ИндексКолонка, ИндексСтрока, ИндексКолонка); Если Ячейка.Видимость = Истина Тогда Если Ячейка.СодержитЗначение И ТипЗнч(Ячейка.Значение) = Тип("Число") Тогда Сумма = Сумма + Ячейка.Значение; ИначеЕсли ЗначениеЗаполнено(Ячейка.Текст) Тогда ЧислоВЯчейке = Число(СтроковыеФункцииКлиентСервер.ЗаменитьОдниСимволыДругими(Символ(32)+Символ(43), Ячейка.Текст, Символ(0))); Сумма = Сумма + ЧислоВЯчейке; КонецЕсли; КонецЕсли; |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |