Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как обратиться к родителю элемента
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование обычных форм 1С 8.2 и не интерфейсной логики
Incognito
В поле ввода с типом СписокЗначений выбираем элементы! как мне вывести в шапку макета Родителей тех элементов?
Flexy
А в Синтакс - Помощнике => Поиск => родитель, не рулит?
Incognito
не помогает 09000000.gif
Flexy
Ну скорее всего нужно пройтись циклом по списку и выбрать значения.
Потом в цикле процедуры печати выводить Область с Родителями Элементов.
Vofka
А как вывести в макет элемент, родителя которого надо вывести?
Incognito
Цитата(Flexy @ 10.11.11, 17:24) необходимо зарегистрироваться для просмотра ссылки
Ну скорее всего нужно пройтись циклом по списку и выбрать значения.
Потом в цикле процедуры печати выводить Область с Родителями Элементов.

я так понимаю нужно в список выгрузить из поля ввода элементы затем их перебрать! а как выгрузить в список из поля ввода элементы?
Flexy
Цитата(Incognito @ 10.11.11, 17:31) необходимо зарегистрироваться для просмотра ссылки
я так понимаю нужно в список выгрузить из поля ввода элементы затем их перебрать! а как выгрузить в список из поля ввода элементы?

Покажите код.Честно, вообще не понятно что там у вас.То ли список, то ли поле ввода.Какие именно элементы?
Incognito
Цитата(Flexy @ 10.11.11, 17:38) необходимо зарегистрироваться для просмотра ссылки
Покажите код.Честно, вообще не понятно что там у вас.То ли список, то ли поле ввода.Какие именно элементы?

у меня есть поле ввода в которое я ввожу склады! мне нужно чтоб Родители тех складов выводились в шапке! Из книг я понял что надо вигрузиты то поле ввода в список а затем в списке перебрать все элементы и вывести их родителей но у меня то не получается!
MATEVI
Поугадываю.
Спис = ЭлементыФормы.ПолеВвода1.Значение; // ПолеВвода1 ПолеВвода с типом Список значений
Для а=1 По Спис.Количество()  Цикл
       Сообщить(Спис[а-1]);            
КонецЦикла;
pablo
Поправлю предыдущего оратора wink.gif
Спис = ЭлементыФормы.ПолеВвода1.Значение; // ПолеВвода1 ПолеВвода с типом Список значений
Для а=1 По Спис.Количество()  Цикл
       Сообщить(Спис[а-1].Родитель);            
КонецЦикла;
Flamepayne
Вы вводите как? Ручками или выбираете из справочника?
Incognito
Цитата(pablo @ 11.11.11, 8:49) необходимо зарегистрироваться для просмотра ссылки
Поправлю предыдущего оратора wink.gif
Спис = ЭлементыФормы.ПолеВвода1.Значение; // ПолеВвода1 ПолеВвода с типом Список значений
Для а=1 По Спис.Количество()  Цикл
       Сообщить(Спис[а-1].Родитель);            
КонецЦикла;


дальше неполучаеться! говорит что поле Родители не найдено! 09000000.gif

Цитата(Flamepayne @ 11.11.11, 9:46) необходимо зарегистрироваться для просмотра ссылки
Вы вводите как? Ручками или выбираете из справочника?


элементы в поле ввода я выбираю из списка!
Flamepayne
Цитата(Incognito @ 11.11.11, 16:03) необходимо зарегистрироваться для просмотра ссылки
элементы в поле ввода я выбираю из списка!

Ай! Клещами с Вас тянуть что-ли надо? Как заполняется список? Вообще, покажите скрин формы с развернутым списком. Что за абстрактные ответы...
Flexy
Цитата(Incognito @ 11.11.11, 10:03) необходимо зарегистрироваться для просмотра ссылки
поле Родители не найдено! 09000000.gif

А шо это за поле такое прикольное: РодителИ ...?
Или у вас опечатка тут или в тексте кода.
Выложите точное описание ошибки сюда.
Incognito
Цитата(Flexy @ 11.11.11, 10:15) необходимо зарегистрироваться для просмотра ссылки
А шо это за поле такое прикольное: РодителИ ...?
Или у вас опечатка тут или в тексте кода.
Выложите точное описание ошибки сюда.


поле обьекта не обнаружено(Родитель)

Цитата(Flamepayne @ 11.11.11, 10:08) необходимо зарегистрироваться для просмотра ссылки
Ай! Клещами с Вас тянуть что-ли надо? Как заполняется список? Вообще, покажите скрин формы с развернутым списком. Что за абстрактные ответы...



Процедура ВивестиШапку(Макет,ТабВив)
               
    Обл = Макет.ПолучитьОбласть("Шапка | Початок");
    Эл = ЭлементыФормы.ПриУмоваСклад.Значение;
    Для а=1 по Эл.Количество() цикл
        Обл.Параметры.Підрозділ = Эл[а-1];
        КонецЦикла;
    
        Обл.Параметры.Агент = "";
    Обл.Параметры.Період = ПредставлениеПериода(НачДата,КонецДня(КонДата),"Л=uk; ФП=Истина");
    ТабВив.Присоединить(Обл);
    Для Каждого СпСтр из СписокКолонок Цикл
        Если СпСтр.Пометка = Ложь Тогда
            продолжить;
        КонецЕсли;
        Секція = СокрЛП(СпСтр.Значение);
        Обл = Макет.ПолучитьОбласть("Шапка | "+Секція);
        ТабВив.Присоединить(Обл);
    КонецЦикла;
КонецПроцедуры
Incognito
всем спасибо за помощь! уже получилось! теперь разбираюсь как вывести все элементы и всех Родителей так как выводит только последнего! Возможно,
Может кто подсказать как это сделать? 32000000.gif
Vofka
Цитата
всем спасибо за помощь! уже получилось!

Т.е. народ мучался, пытался вам помочь, а вы в итоге просто сказали, что всё получилось. Решение огласите!
MATEVI
Цитата(Incognito @ 11.11.11, 11:57) необходимо зарегистрироваться для просмотра ссылки
всем спасибо за помощь! уже получилось! теперь разбираюсь как вывести все элементы и всех Родителей так как выводит только последнего! Возможно,
Может кто подсказать как это сделать? 32000000.gif

необходимо зарегистрироваться для просмотра ссылки
Incognito
Цитата(Vofka @ 11.11.11, 12:04) необходимо зарегистрироваться для просмотра ссылки
Т.е. народ мучался, пытался вам помочь, а вы в итоге просто сказали, что всё получилось. Решение огласите!

ЭлементМассива = ЭлементыФормы.ПолеВвода.Значение;
    Для а=0 по ЭлементМассива.Количество()-1 цикл
        ПоточнийЕлемент = ЭлементМассива[а];
        Обл.Параметры.Підрозділ = ПоточнийЕлемент.Значение.Родитель;
        Обл.Параметры.Агент = ПоточнийЕлемент.Значение;
    КонецЦикла;
Vofka
Incognito, вывод секции в конец цикла поставьте, тогда будет всех выводить.
Incognito
Цитата(Vofka @ 11.11.11, 13:19) необходимо зарегистрироваться для просмотра ссылки
Incognito, вывод секции в конец цикла поставьте, тогда будет всех выводить.


а можно накапливать массив?если да то как?
MATEVI
Цитата(Vofka @ 11.11.11, 13:19) необходимо зарегистрироваться для просмотра ссылки
Incognito, вывод секции в конец цикла поставьте, тогда будет всех выводить.

Да, но я вот что то не уверен, что будет выводить родителя, родителя, родителя. И т.д.

То Incognito, по Вашему решению тогда почему не сразу?
МассивЭлементов = ЭлементыФормы.ПолеВвода.Значение.ВыгрузитьЗначения();
Vofka
Цитата
а можно накапливать массив?

Зачем? Какая цель?

Цитата
если да то как?

Ну так в чем проблема? Создайте массив и в цикле добавляйте в него элементы методом
Добавить()

но см. мое сообщение немножко выше.
Incognito
Цитата(Vofka @ 11.11.11, 14:14) необходимо зарегистрироваться для просмотра ссылки
Зачем? Какая цель?


а цель такая чтобы мне выводило в этом цикле не последний элемент а все!

ЭлементМассива = ЭлементыФормы.ПриУмоваСклад.Значение;
    Для а=0 по ЭлементМассива.Количество()-1 цикл
        
        ПоточнийЕлемент = ЭлементМассива[а];
                
        Обл.Параметры.Підрозділ = ПоточнийЕлемент.Значение.Родитель;
        Обл.Параметры.Агент = ЭлементМассива;
    КонецЦикла;
Vofka
Цитата
а цель такая чтобы мне выводило в этом цикле не последний элемент а все!

Так нафига их накапливать в каком-то массиве?! Выводите в цикле! Сделайте так как я раньше писал.
Incognito
Цитата(Vofka @ 11.11.11, 14:43) необходимо зарегистрироваться для просмотра ссылки
Так нафига их накапливать в каком-то массиве?! Выводите в цикле! Сделайте так как я раньше писал.

а как делать это в моем массиве? я это делаю но что-то не получается
Vofka
Цитата
а как делать это в моем массиве? я это делаю но что-то не получается

Я вас уже не понимаю. Может кто-то другой подскажет.
pablo
Телепатирую по содержимому всей темы
   Для а=1 по Эл.Количество() цикл
        Обл.Параметры.Підрозділ = Обл.Параметры.Підрозділ+Строка(ПоточнийЕлемент.Значение.Родитель)+", ";      
       КонецЦикла;
Incognito
Цитата(pablo @ 11.11.11, 15:10) необходимо зарегистрироваться для просмотра ссылки
Телепатирую по содержимому всей темы
   Для а=1 по Эл.Количество() цикл
        Обл.Параметры.Підрозділ = Обл.Параметры.Підрозділ+Строка(ПоточнийЕлемент.Значение.Родитель)+", ";      
       КонецЦикла;



выдает ошибку Преобразование значения к типу число не может бить выполнено

Уважаемые господа! Эврика! получилось, насколько все просто! надо просто в этот мой цикл вставить вот это
ПоточнийЕлемент1=ПоточнийЕлемент.Значение.Родитель;
        ПоточнийЕлемент2 = ""+ПоточнийЕлемент2+ПоточнийЕлемент1;



спасибо всем за помощь! icon_beer17.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.