Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Доступ к ячейкам табличного поля (обычные формы)

Доступ к ячейкам табличного поля (обычные формы)
Я
   denco_78
 
01.10.18 - 20:52
Добрый день.  1С 8.2

Есть форма. На ней табличное поле, берущее данные из табличной части документа. Надо ограничить вводимые цифры некоторыми максимальными значениями, вычисляемыми при открытии формы. Для каждой строки - свое значение.

Для этого я сделал в поле еще один столбец, не связанный с ТЧ.
Он заполняется в обработчике поля "ПриПолученииДанных". С этим я вроде разобрался.

Проблема возникла с обработчиком "ПриИзменении", в котором вводимое значение должно сравниваться с цифрой из того независимого столбца. Не пойму, как добраться до его ячеек. В отладчике видны только ячейки, связанные с ТЧ. Сама колонка видна, но только как оформление. Ячеек нет.
 
 
   hhhh
 
1 - 01.10.18 - 21:56
(0) там нет ничего. это фикция. Данные выводятся на форму и в ту же наносекунду грохаются нахрен. Никаких ячеек для хранения не существует в действительности.
   denco_78
 
2 - 02.10.18 - 17:40
Да вроде не грохаются. По крайней мере, в таблице видны.

Порылся по форуму. Нашел несколько тем с подобными вопросами, но без нормального решения.

А можно еще как-то осуществить задуманное?
Фактически этот документ, где нужны ограничения получается копированием другого в новый. Вот надо, чтобы в таблице была возможность только уменьшать цифры относительно исходных.
   Cool_Profi
 
3 - 02.10.18 - 17:44
ПриПолученииДанных:
ОформлениеСтроки.ТвояКолонка.УстановитьТекст(ВычислитьНужноеЗначение());

ПриИзменении:
Если ТвояДругаяКолонка <> вычсислитьНужноеЗначение() Тогда...
   denco_78
 
4 - 02.10.18 - 17:58
Так не получится.
Открываю форму - таблица уже заполнена скопированными значениями.
ПриПолученииДанных копирую одну колонку в другую (запоминаю).

ПриИзменении надо сравнить введенное значение с исходным, т.е. запомненым.
   hhhh
 
5 - 02.10.18 - 22:03
(4) не запоминаешь ты. Вот Фома неверующий. После вывода на экран значение стирается.

Поэтому в таблице они видны, а в ПриИзменении не видны.
   denco_78
 
6 - 03.10.18 - 18:05
Это я примерный алгоритм озвучивал. Что вычислять неоткуда.
А что не получится - уже понял.

В итоге реализовал через 2-е поле с одной колонкой рядом. На мой взгляд изврат, но работает.
   aka AMIGO
 
7 - 03.10.18 - 18:08
Я-б при открытии документа создавал ТЗ, в ней нужные значения, (т.е старые!) при изменениях - сравнивал с ними.. Но я таки семерочник.
   denco_78
 
8 - 03.10.18 - 18:19
Форма уже есть. Не моя. Я ее просто дорабатываю, одновременно разбираясь с программированием.
Понадобилось возвраты реализовать малой кровью. Естественно, возврат не может быть больше первоначальной выдачи.
   sechs
 
9 - 03.10.18 - 18:57
(8) > малой кровью

Ну-ну. Подумай о том, что будет если одну строку удалить, а другую добавить.
   denco_78
 
10 - 03.10.18 - 20:28
Перечень строк заблокирован. Можно менять только количество в сторону уменьшения.
 
 Рекламное место пустует
   denco_78
 
11 - 03.10.18 - 20:40
Т.е. цифры в столбике "количество".
   НЕА123
 
12 - 04.10.18 - 08:52
(8)
самое правильное - проверять при проведении.
   lEvGl
 
13 - 04.10.18 - 09:05
есть же максимальное/минимальное значение для числовых полей ввода/реквизитов. ПриНачалеРедактирования поставить нужное ограничение. Сам не делал, проверять что то лень.
   lEvGl
 
14 - 04.10.18 - 09:13
а, тут в другом вопрос..
а зачем рассчитывать в приполученииданных? если колонка заполняется данными из колонки другого документа зачем тут еще колонка? скопировал данные "один в один" и в событиях типа ПЕРЕД изменением фиксировать старое, потом в событиях типа ПРИ изменении сравнивать с новым. Либо как уже предлагал - ограничение макс. значения для поля ввода.
   denco_78
 
15 - 04.10.18 - 11:13
(13) С минимальным/максимальным значениями, похоже, та же история, что и с дополнительным столбцом - оформление столбца есть, а в ячейках их нет. С них я и начинал. Либо не разобрался.

(14) Проверять со старым значением при вводе не годится: представим, что изначально в ячейке стояло 20. Пользователь сначала поменял на 5, а потом передумал и захотел поставить 8...

Список тем форума
Рекламное место пустует  Рекламное место пустует
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Э. Йодан
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует