|
1с8.3 обращение к ячейке табличной части | ☑ | ||
---|---|---|---|---|
0
I_learn_1c
09.10.17
✎
13:55
|
Подскажите, пожалуйста, как в 1с 8.3 обратиться к конкретной ячейке на табличной части управляемой формы?
Табличная часть Товары Известен НомерСтроки и имя колонки - Код. ЗначениеЯчейки=ЭтаФорма.Элементы.Товары[НомерСтроки].Код; - ошибка Получение элемента по индексу для значения не определено ЗначениеЯчейки=ЭтаФорма.Элементы.Товары.ТекущиеДанные[Код]ПолучитьОбъект(); - тоже была какая то ошибка пробовала еще по разному.. Строка на момент определения - активная, значение в колонке Код смотрим если клацнули по какой-то из ячеек строки. Но через Текущую строку что-то тоже не выходит у 8.3 какая то особенность в этом? все не могу найти, помогите пожалуйста |
|||
1
h-sp
09.10.17
✎
13:57
|
Объект.Товары[НомерСтроки - 1];
Элементы.Товары.ТекущиеДанные.Код |
|||
2
I_learn_1c
09.10.17
✎
14:12
|
(1) попробовала
Код = ЭтаФорма.Элементы.Товары.ТекущиеДанные.Код; ошибка - Значение не является значением объектного типа (Код) |
|||
3
DrShad
09.10.17
✎
14:18
|
а для чего тебе это нужно?
|
|||
4
I_learn_1c
09.10.17
✎
14:24
|
(3) в табличной части список товаров. они туда добавляются по разному. это кассовый чек.
после того как чек сформирован, кассир может поменять цену, если выбран любой товар кроме товара А с кодом 1 (к примеру). По наименованию не проверяю так как оно может быть не уникально. Хочу чтоб при активизации ячейки (щелчок по цене) проверялось Если Код=1 то ячейка этой строки в колонке цена только просмотр |
|||
5
h-sp
09.10.17
✎
15:12
|
(4) ну а там есть колонка Код? Можкет вы забыли создать такую колонку?
|
|||
6
I_learn_1c
09.10.17
✎
15:48
|
(5) колонки есть, созданы не мной
|
|||
7
dezss
09.10.17
✎
16:07
|
(6) что показывает отладчик в ЭтаФорма.Элементы.Товары.ТекущиеДанные?
|
|||
8
I_learn_1c
09.10.17
✎
16:38
|
Уууух.... наконец-то поняла. Простите, кажется я немного запутала вас, так как не поняла сразу.
В общем, проблема решилась так. Колонка Код,как оказалось была не полем ввода,а полем надписи. И в текущих данных ее в наборе не было. Так как к ячейке напрямую обратиться не вышло, но каждая строка соответствует товару, то брала значение колонки Номенклатура (тип СправочникСсылка.Номенклатура), у нее в реквизитах есть Код каждого товара, который и в колонке Код. Ее вот без проблем получить можно, (1) совет верный. Ссылка = ЭтаФорма.ТекущийЭлемент.ТекущиеДанные.Номенклатура; Написала условие и отдельно функцию для выбора самого кода (без нее тоже не прокатывало что-то, ссылка только название хранила). Получилось: &НаСервере Функция ПолучитьКод(Ссылка) Код=Ссылка.Код; Возврат Код; КонецФункции &НаКлиенте Процедура ТоварыПриАктивизацииЯчейки(Элемент) ....... Колонка=ЭтаФорма.ТекущийЭлемент.ТекущийЭлемент.Имя; Ссылка = ЭтаФорма.ТекущийЭлемент.ТекущиеДанные.Номенклатура; Если Ссылка <> Неопределено Тогда Код = СокрЛП(ПолучитьКод(Ссылка)); КонецЕсли; Если Колонка = "ТоварыЦена" И Код="1" Тогда ЭтаФорма.ТекущийЭлемент.ТекущийЭлемент.ТолькоПросмотр = Ложь; Сообщить("Ураа!"); КонецЕсли; ..... КонецПроцедуры пробелы сокращала "для себя", т.к. тут ко строка и в конце могут быть пробелы. В общем случае думаю можно и без СокрЛП. Спасибо за ответы выше) И может кто-то оценил, так адекватно делать вообще? |
|||
9
DrShad
09.10.17
✎
16:42
|
(8) вообще-то не совсем
|
|||
10
I_learn_1c
09.10.17
✎
16:44
|
(9) а приблизить хотя бы к адекватному как-то можно?
|
|||
11
DrShad
09.10.17
✎
16:51
|
(10) пользователь сможет изменить цену, например если есть команды изменения табличной части в частности изменить цену на процент или еще как
ну и у вас слишком много обращений к элементам формы |
|||
12
DrShad
09.10.17
✎
16:51
|
ну и как-бы нет ничего невозможного
|
|||
13
I_learn_1c
09.10.17
✎
16:55
|
(12) хорошо..ну подумаю еще, может как-то поменяю. А что вот функция ПолучитьКод вынесена такая, это не уродливо? Просто новичок еще и чужих кодов не много видела
|
|||
14
dezss
09.10.17
✎
17:11
|
(13) сделай ее без контекста...а то ппц получается
|
|||
15
dezss
09.10.17
✎
17:12
|
(14) + а еще лучше сделай все таки колонку и в нее пихай код...
а дальше тупо условным оформлением можно сделать... |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |