Вход | Регистрация

1С:Предприятие ::

Метки: 

1с8.3 обращение к ячейке табличной части

Я
   I_learn_1c
 
09.10.17 - 13:55
Подскажите, пожалуйста, как в 1с 8.3 обратиться к конкретной ячейке на табличной части управляемой формы?

Табличная часть Товары
Известен НомерСтроки и имя колонки - Код.

ЗначениеЯчейки=ЭтаФорма.Элементы.Товары[НомерСтроки].Код;
- ошибка Получение элемента по индексу для значения не определено

ЗначениеЯчейки=ЭтаФорма.Элементы.Товары.ТекущиеДанные[Код]ПолучитьОбъект();
- тоже была какая то ошибка

пробовала еще по разному.. Строка на момент определения - активная, значение в колонке Код смотрим если клацнули по какой-то из ячеек строки. Но через Текущую строку что-то тоже не выходит

у 8.3 какая то особенность в этом? все не могу найти, помогите пожалуйста
 
 
   h-sp
 
1 - 09.10.17 - 13:57
Объект.Товары[НомерСтроки - 1];
Элементы.Товары.ТекущиеДанные.Код
   I_learn_1c
 
2 - 09.10.17 - 14:12
(1) попробовала
Код = ЭтаФорма.Элементы.Товары.ТекущиеДанные.Код;

ошибка - Значение не является значением объектного типа (Код)
   DrShad
 
3 - 09.10.17 - 14:18
а для чего тебе это нужно?
   I_learn_1c
 
4 - 09.10.17 - 14:24
(3) в табличной части список товаров. они туда добавляются по разному. это кассовый чек.

после того как чек сформирован, кассир может поменять цену, если выбран любой товар кроме товара А с кодом 1 (к примеру). По наименованию не проверяю так как оно может быть не уникально.

Хочу чтоб при активизации ячейки (щелчок по цене) проверялось
Если Код=1 то ячейка этой строки в колонке цена только просмотр
   h-sp
 
5 - 09.10.17 - 15:12
(4) ну а там есть колонка Код? Можкет вы забыли создать такую колонку?
   I_learn_1c
 
6 - 09.10.17 - 15:48
(5) колонки есть, созданы не мной
   dezss
 
7 - 09.10.17 - 16:07
(6) что показывает отладчик в ЭтаФорма.Элементы.Товары.ТекущиеДанные?
   I_learn_1c
 
8 - 09.10.17 - 16:38
Уууух.... наконец-то поняла. Простите, кажется я немного запутала вас, так как не поняла сразу.

В общем, проблема решилась так.
Колонка Код,как оказалось была не полем ввода,а полем надписи. И в текущих данных ее в наборе не было.
Так как к ячейке напрямую обратиться не вышло, но каждая строка соответствует товару, то брала значение колонки Номенклатура (тип СправочникСсылка.Номенклатура), у нее в реквизитах есть Код каждого товара, который и в колонке Код. Ее вот без проблем получить можно, (1)  совет верный.
Ссылка = ЭтаФорма.ТекущийЭлемент.ТекущиеДанные.Номенклатура;

Написала условие и отдельно функцию для выбора самого кода (без нее тоже не прокатывало что-то, ссылка только название хранила). Получилось:
&НаСервере
Функция ПолучитьКод(Ссылка)
    Код=Ссылка.Код;
    Возврат Код;
КонецФункции

&НаКлиенте
Процедура ТоварыПриАктивизацииЯчейки(Элемент)
    
    .......
        Колонка=ЭтаФорма.ТекущийЭлемент.ТекущийЭлемент.Имя;        
        Ссылка = ЭтаФорма.ТекущийЭлемент.ТекущиеДанные.Номенклатура;
    Если Ссылка <> Неопределено Тогда
        Код = СокрЛП(ПолучитьКод(Ссылка));
    КонецЕсли;
    
        
    Если Колонка = "ТоварыЦена" И Код="1" Тогда
        ЭтаФорма.ТекущийЭлемент.ТекущийЭлемент.ТолькоПросмотр = Ложь;
        Сообщить("Ураа!");
    КонецЕсли;
        .....
КонецПроцедуры

пробелы сокращала "для себя", т.к. тут ко строка и в конце могут быть пробелы. В общем случае думаю можно и без СокрЛП.
Спасибо за ответы выше) И может кто-то оценил, так адекватно делать вообще?
   DrShad
 
9 - 09.10.17 - 16:42
(8) вообще-то не совсем
   I_learn_1c
 
10 - 09.10.17 - 16:44
(9) а приблизить хотя бы к адекватному как-то можно?
 
 Рекламное место пустует
   DrShad
 
11 - 09.10.17 - 16:51
(10) пользователь сможет изменить цену, например если есть команды изменения табличной части в частности изменить цену на процент или еще как

ну и у вас слишком много обращений к элементам формы
   DrShad
 
12 - 09.10.17 - 16:51
ну и как-бы нет ничего невозможного
   I_learn_1c
 
13 - 09.10.17 - 16:55
(12) хорошо..ну подумаю еще, может как-то поменяю. А что вот функция ПолучитьКод вынесена такая, это не уродливо? Просто новичок еще и чужих кодов не много видела
   dezss
 
14 - 09.10.17 - 17:11
(13) сделай ее без контекста...а то ппц получается
   dezss
 
15 - 09.10.17 - 17:12
(14) + а еще лучше сделай все таки колонку и в нее пихай код...
а дальше тупо условным оформлением можно сделать...


Список тем форума
Рекламное место пустует Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует