Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 09:34

Выделенная строка в регистре сведений (8.3)

Автор Rassvetniy, 07 фев 2016, 13:03

0 Пользователей и 1 гость просматривают эту тему.

Rassvetniy

День добрый. Подскажите с наверное примитивным вопросом.
Задумка в регистре сведений выделить строку, запомнить данные по этой строке и передать их в документ. В форме списка отображаются поля номенклатура (название товара) и Шкод (код справочника номенклатура), к номенклатуре доступ есть как и другим полям цена, период, а к коду ни в какую, в чем тут ошибка?

&НаКлиенте
перем  ВыделеннаяСтрока;
&НаКлиенте
Процедура выборЦены(Команда)
   //   сообщить(ВыделеннаяСтрока.ШКод);   ВЫДАЕТ ОШИБКУ
   Парамет = Новый Структура("номенклатура", ВыделеннаяСтрока.номенклатура) ;
   сообщить(парамет.номенклатура) ;  // отображает название
сообщить(ВыделеннаяСтрока.ЦенаРозн);     // отображает цену
   
КонецПроцедуры
&НаКлиенте
Процедура СписокПриАктивизацииСтроки(Элемент)

   ВыделеннаяСтрока = Элемент.ТекущиеДанные;
   Сообщить(Элемент.ТекущиеДанные.номенклатура);

КонецПроцедуры

1Cnastroika

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

Rassvetniy

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

Rassvetniy

в продолжение...
в регистр сведений добавил кнопку открытия другой формы в обработке нажатия такой фрагмент:
П = Новый Структура("новаяЦена, старая, пар", ВыделеннаяСтрока.ЦенаРозн, 5000,
   ВыделеннаяСтрока.номенклатура) ;

   Форма= ПолучитьФорму("Документ.ИзменениеЦены.ФормаОбъекта",П, ЭтаФорма);
Форма.Открыть();
тип данных реквизита номенклатура справочник.номенклатура.ссылка

в обработчике открытия формы фрагмент:
// ЗначениеВРеквизитФормы(Параметры.пар, "объект.номенклатура");  выдает ошибку
       объект.новаяЦена =  Параметры.новаяЦена;
       объект.номенклатура =  Параметры.пар;     // а так работает
хотя по всем примерам что находил написано, что нужно использовать ЗначениеВРеквезитФормы, подскажите почему выдает ошибку?

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск