Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Получить объекты выделенных элементов динамического списка          
Gigi Подменю пользователя
сообщение 06.09.17, 10:17
Сообщение #1

Оратор
*****
Группа: Пользователи
Сообщений: 498
Спасибо сказали: 5 раз
Рейтинг: 0

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

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

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

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





logist Подменю пользователя
сообщение 06.09.17, 15:46
Сообщение #2

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

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

Динамический список формируется путем запроса. Доступность реквизита так же может быть по свойству "Использовать всегда". На самом деле всё просто, только это надо читать, а не тратить время на нытье.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Спасибо сказали: Gigi,

Gigi Подменю пользователя
сообщение 06.09.17, 16:46
Сообщение #3

Оратор
*****
Группа: Пользователи
Сообщений: 498
Спасибо сказали: 5 раз
Рейтинг: 0

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

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

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

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

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

Правильно! Согласен ... но ..
У меня просто другое отношение .... я начинаю с цели и читаю только вокруг того и для того, что бы реализовать цель.
а так в целом конечно теории сильно не хватает.
Ладно! Спасибо всем!
Спасибо за понимание и отклик!
Пока!

logist Подменю пользователя
сообщение 06.09.17, 17:20
Сообщение #4

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(Gigi @ 06.09.17, 17:46) *
я начинаю с цели

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


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 29.03.24, 8:28
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!