|
Обращение к элементу поля табличного документа |
☑ |
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)));
Сумма = Сумма + ЧислоВЯчейке;
КонецЕсли;
КонецЕсли;
|
|