Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Получить объекты выделенных элементов динамического списка
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование управляемых форм 1С 8.2
Gigi
Всем привет!
Блин! Опять столкнулся с проблемой ... даже не знаю..
Помоему скоро среда разработки доведет до психоза .. 32542620.gif
Я просто удивляюсь ... такое впечатление, что что бы сделать один шаг, вместо того, что бы его просто сделать, оказывается, нужно понимать, что в метре 100 см.
И нужно не шаг делать, а стоять на цыпочках и делать "шаги" по каждому сантиметру. 64000000.gif
И Не то, что на каждом шагу на каждом миллиметре возникают барьеры. Поэтому топчешься не на одном шаге, а на одном сантиметре этого шага .. блиин!
Ладно! это опять просто эмоции. Но просто делюсь впечатлением.
Что нужно для первого шага задуманной процедуры.. ПОЛУЧИТЬ ОБЪЕКТ ЭЛЕМЕНТА ВЫДЕЛЕННОЙ СТРОКИ ДИНАМИЧЕСКОГО СПИСКА!
Я просто не могу понять почему это можно когда речь о получении одного элемента списка:
СписокИмя="Список";
ЭлементСписка = Элементы[СписокИмя].ТекущаяСтрока;
Предупреждение(ЭлементСписка);

А почему целая проблема когда нужно получить объекты несколько выделенных элементов уже в цикле.
СписокИмя="Список";
ВыделенныеСтроки = Элементы[СписокИмя].ВыделенныеСтроки;
Для каждого СтрокаСписка Из ВыделенныеСтроки Цикл
ЭлементСписка=Элементы[СписокИмя].ДанныеСтроки(СтрокаСписка);
Сообщить(ЭлементСписка);
КонецЦикла;

И самое не понятное, что бы получить не объект элемента, а просто значение реквизита можно сделать так:
ЭлементСписка=Элементы[СписокИмя].ДанныеСтроки(СтрокаСписка)["ИмяРеквизита"];

Только в случае если это список справочника, то можно указать любой реквизит наименование, код и т.д.
Но в случае, если список документов то, стоит только указать реквизит возврата номер то выдает кляузу.
А нужно получить именно номер. А лучше не номер не какое либо значение реквизита, а просто объект ... элемент как ссылку.
А уже полом сам знаю как получить нужные значения реквизитов.
Нужно просто получить объекты выделенных элементов списка.
И что понять не могу, почему если список справочника все без проблем, а если документа то выдает кляузу. Тогда как и тот и другой это динамический список.
Блиин! Поэтому это уже не просто просьба а крик о помощи!
БУДУ ОЧЕНЬ ПРИЗНАТЕЛЕН!




logist
Цитата(Gigi @ 06.09.17, 11:17) необходимо зарегистрироваться для просмотра ссылки
Только в случае если это список справочника, то можно указать любой реквизит наименование, код и т.д.
Но в случае, если список документов то, стоит только указать реквизит возврата номер то выдает кляузу.

Динамический список формируется путем запроса. Доступность реквизита так же может быть по свойству "Использовать всегда". На самом деле всё просто, только это надо читать, а не тратить время на нытье.
Gigi
Gigi @ Сегодня, 10:17 необходимо зарегистрироваться для просмотра ссылки ,
Гууууу ... сам разобрался ... А то на самом деле ... согласен с тем ...
необходимо зарегистрироваться для просмотра ссылки
То что геморрой smile.gifsmile.gif
Но к счастью для того, что было нужно не нужна вся эта хрень ..
ЭлементСписка=Элементы[СписокИмя].ДанныеСтроки(СтрокаСписка)["ИмяРеквизита"];

А оказывается нужно всего лишь ... smile.gifsmile.gif
Для каждого СтрокаСписка Из ВыделенныеСтроки Цикл
Сообщить(СтрокаСписка);
знНомерАкта=ПолучитьРеквизит(СтрокаСписка , "Номер",);
Сообщить(СтрокаСписка+"   /   "+знНомерАкта);
КонецЦикла;
// т.е. в данном случае "СтрокаСписка"  как я понимаю это уже объект.
//Гууууу ... наконец то ..
//Главное получить этот несчастный объект :):).
// а после что угодно делай и получай любой реквизит с сервера на пример подобной функцией :
&НаСервере
Функция ПолучитьРеквизит(ОбъектСсылки, РеквизитСсылки,РеквизитСсылкиСвязи) Экспорт
Попытка
//--------------------------------------
//Сообщить(РеквизитСсылки + "  --  " + РеквизитСтроки);
Если РеквизитСсылки=Неопределено тогда    
    Возврат ОбъектСсылки[РеквизитСтроки];
ИначеЕсли  РеквизитСтроки=Неопределено тогда
    Возврат ОбъектСсылки[РеквизитСсылки];
Иначе
    Возврат ОбъектСсылки[РеквизитСсылки][РеквизитСтроки];
КонецЕсли
//--------------------------------------
Исключение
Возврат "Объект не указан!";
КонецПопытки;
КонецФункции

Гууу ... наконец то
Это для тех которые шастают и ищут .. для них которые сталкивались с подобным.
Блиин! Тоже мне че это везде по форумам и статьям внутри указанного цикла пишут такой вариант:
ЭлементСписка=Элементы[СписокИмя].ДанныеСтроки(СтрокаСписка)["ИмяРеквизита"];

Который НЕ РАБОТАЕТ! Или во многих случаях.
А нужно было всего лишь просто переменная указанного цикла в д. сл. "СтрокаСписка" и все.
Без этого Элементы .. ДанныеСтроки и т.д.
Ладно!
Если кому принесет пользу... smile.gifsmile.gif
Пока!

Цитата(logist @ 06.09.17, 15:46) необходимо зарегистрироваться для просмотра ссылки
только это надо читать, а не тратить время на нытье.

Правильно! Согласен ... но ..
У меня просто другое отношение .... я начинаю с цели и читаю только вокруг того и для того, что бы реализовать цель.
а так в целом конечно теории сильно не хватает.
Ладно! Спасибо всем!
Спасибо за понимание и отклик!
Пока!
logist
Цитата(Gigi @ 06.09.17, 17:46) необходимо зарегистрироваться для просмотра ссылки
я начинаю с цели

О_о
казалось вы начинаете с нытья как всё х@#во, а потом понимаете что выбора нет и надо ставить цель и идти к ней.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.