@SteepNET

УТ 11.4 На клиенте получить текущую строку табличной части?

Добрый день!
УТ 11.4
Размещаю кнопку (СвязанныеДокументы) на командной панели ,столкнулся с проблемой получения на клиенте ссылки на текущий документ в табличной части..
Делаю так

&НаКлиенте
Процедура СвДокументы(Команда)
	СсылкаНаОбъект = Элементы.СписокДокументыПродажи.ТекущаяСтрока;
	Если ЗначениеЗаполнено(СсылкаНаОбъект) Тогда
		ОткрытьФорму("ОбщаяФорма.СвязанныеДокументы",Новый Структура("ОбъектОтбора", СсылкаНаОбъект));
	КонецЕсли;	
КонецПроцедуры


Но на клиенте СсылкаНаОбъект = РегистрСведенийКлючЗаписи.РеестрДокументов

На севере я спокойно получаю эту ссылку на документ
&НаСервереБезКонтекста
ДокументОбъект = ДокументОбъект.Ссылка.ПолучитьОбъект();
  • Вопрос задан
  • 458 просмотров
Решения вопроса 1
@SteepNET Автор вопроса
Ответ такой
&НаКлиенте
Процедура СвДокументы(Команда)
		
	ДокументОбъект = Элементы.СписокДокументыПродажи.ТекущаяСтрока;
	ДокументОбъект = Получить(ДокументОбъект);	
	Если ЗначениеЗаполнено(ДокументОбъект) Тогда
		ОткрытьФорму("ОбщаяФорма.СвязанныеДокументы",Новый Структура("ОбъектОтбора", ДокументОбъект));
	КонецЕсли;
	
КонецПроцедуры   

&НаСервереБезКонтекста
Функция Получить(ДокументОбъект)	
	ДокументОбъект = ДокументОбъект.Ссылка.ПолучитьОбъект();
	Возврат ДокументОбъект.Ссылка;
КонецФункции
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
nki
@nki
bezkart.ru готовая система лояльности
Стоп, стоп, стоп!
Попробуйте под отладчиком посмотреть, что вы получаете при
СсылкаНаОбъект = Элементы.СписокДокументыПродажи.ТекущаяСтрока;

Строка разделена на колонки, согласны? Где вы тут получили колонку с ссылкой на документ?
Ответ написан
@Dementor
программист, архитектор, аналитик
ТекущаяСтрока - равна ссылке только для динамических списков, для которых установлена основная таблица. В других случаях это идентификатор, по которому нужно в табличной части или таблице значений (то, что выводится на форму) находить нужную строку, в которой брать значение из нужного реквизита.
Ответ написан
fosihas
@fosihas
Автоматизации учета на 1С.
К = Элементы.Контрагенты.ТекущиеДанные;
	Если К <> Неопределено и К.Отчет <>  Дата(1, 1, 1) Тогда
		Диалог = новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.ВыборКаталога);
		Если Диалог.Выбрать() Тогда
			ИмяКаталога = Диалог.Каталог;
			//Полный путь к каталогу помещен в переменную ИмяКаталога
		КонецЕсли;
		ИмяФайла = ИмяКаталога+"\ОтчетФНС "+ К.ИНН +" от " + Формат(К.Отчет,"ДФ=dd.MM.yyyy")+".pdf";
//Элементы.Контрагенты.ТекущиеДанные.Отчет;
		ПолучитьНаСервере(К.Ссылка, ИмяФайла )    
	КонецЕсли;

где Контрагенты = имя таблицы на форме ДинамическийСписок
К.* вместо звездочки название ревизитов из табличной части.
если этот реквизит не выводите, в нужно включить "Использовать всегда" в реквизите.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы