|
Доступ к ячейкам табличного поля (обычные формы) | ☑ | ||
---|---|---|---|---|
0
denco_78
01.10.18
✎
20:52
|
Добрый день. 1С 8.2
Есть форма. На ней табличное поле, берущее данные из табличной части документа. Надо ограничить вводимые цифры некоторыми максимальными значениями, вычисляемыми при открытии формы. Для каждой строки - свое значение. Для этого я сделал в поле еще один столбец, не связанный с ТЧ. Он заполняется в обработчике поля "ПриПолученииДанных". С этим я вроде разобрался. Проблема возникла с обработчиком "ПриИзменении", в котором вводимое значение должно сравниваться с цифрой из того независимого столбца. Не пойму, как добраться до его ячеек. В отладчике видны только ячейки, связанные с ТЧ. Сама колонка видна, но только как оформление. Ячеек нет. |
|||
1
hhhh
01.10.18
✎
21:56
|
(0) там нет ничего. это фикция. Данные выводятся на форму и в ту же наносекунду грохаются нахрен. Никаких ячеек для хранения не существует в действительности.
|
|||
2
denco_78
02.10.18
✎
17:40
|
Да вроде не грохаются. По крайней мере, в таблице видны.
Порылся по форуму. Нашел несколько тем с подобными вопросами, но без нормального решения. А можно еще как-то осуществить задуманное? Фактически этот документ, где нужны ограничения получается копированием другого в новый. Вот надо, чтобы в таблице была возможность только уменьшать цифры относительно исходных. |
|||
3
Cool_Profi
02.10.18
✎
17:44
|
ПриПолученииДанных:
ОформлениеСтроки.ТвояКолонка.УстановитьТекст(ВычислитьНужноеЗначение()); ПриИзменении: Если ТвояДругаяКолонка <> вычсислитьНужноеЗначение() Тогда... |
|||
4
denco_78
02.10.18
✎
17:58
|
Так не получится.
Открываю форму - таблица уже заполнена скопированными значениями. ПриПолученииДанных копирую одну колонку в другую (запоминаю). ПриИзменении надо сравнить введенное значение с исходным, т.е. запомненым. |
|||
5
hhhh
02.10.18
✎
22:03
|
(4) не запоминаешь ты. Вот Фома неверующий. После вывода на экран значение стирается.
Поэтому в таблице они видны, а в ПриИзменении не видны. |
|||
6
denco_78
03.10.18
✎
18:05
|
Это я примерный алгоритм озвучивал. Что вычислять неоткуда.
А что не получится - уже понял. В итоге реализовал через 2-е поле с одной колонкой рядом. На мой взгляд изврат, но работает. |
|||
7
aka AMIGO
03.10.18
✎
18:08
|
Я-б при открытии документа создавал ТЗ, в ней нужные значения, (т.е старые!) при изменениях - сравнивал с ними.. Но я таки семерочник.
|
|||
8
denco_78
03.10.18
✎
18:19
|
Форма уже есть. Не моя. Я ее просто дорабатываю, одновременно разбираясь с программированием.
Понадобилось возвраты реализовать малой кровью. Естественно, возврат не может быть больше первоначальной выдачи. |
|||
9
sechs
03.10.18
✎
18:57
|
(8) > малой кровью
Ну-ну. Подумай о том, что будет если одну строку удалить, а другую добавить. |
|||
10
denco_78
03.10.18
✎
20:28
|
Перечень строк заблокирован. Можно менять только количество в сторону уменьшения.
|
|||
11
denco_78
03.10.18
✎
20:40
|
Т.е. цифры в столбике "количество".
|
|||
12
НЕА123
04.10.18
✎
08:52
|
(8)
самое правильное - проверять при проведении. |
|||
13
lEvGl
гуру
04.10.18
✎
09:05
|
есть же максимальное/минимальное значение для числовых полей ввода/реквизитов. ПриНачалеРедактирования поставить нужное ограничение. Сам не делал, проверять что то лень.
|
|||
14
lEvGl
гуру
04.10.18
✎
09:13
|
а, тут в другом вопрос..
а зачем рассчитывать в приполученииданных? если колонка заполняется данными из колонки другого документа зачем тут еще колонка? скопировал данные "один в один" и в событиях типа ПЕРЕД изменением фиксировать старое, потом в событиях типа ПРИ изменении сравнивать с новым. Либо как уже предлагал - ограничение макс. значения для поля ввода. |
|||
15
denco_78
04.10.18
✎
11:13
|
(13) С минимальным/максимальным значениями, похоже, та же история, что и с дополнительным столбцом - оформление столбца есть, а в ячейках их нет. С них я и начинал. Либо не разобрался.
(14) Проверять со старым значением при вводе не годится: представим, что изначально в ячейке стояло 20. Пользователь сначала поменял на 5, а потом передумал и захотел поставить 8... |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |