#0
by VaS
В общем при любом действии юзера на форме, вызывается функция из глобального модуля. В неё передаётся параметром её контекст и имеется список реквизитов формы, который при вызове функции, обходится циклом и получаются текущие значения реквизитов формы. ЗначениеИзСтрокиВнутр(Шаблон("[ЗначениеВСтрокуВнутр("+ТекРеквизит+")]")) Вот блин везде работает, а с выпадающим списком не хочет (может и с др. структурными элементами... не знаю, не пробовал). Получаеся сам список без намёков на текущую строку и т.п. Помогите победить...
#3
by VaS
А если вопрос повнимательнее прочитать... Попробуй-ка таким образом получить значение ТекущейСтроки
#8
by VaS
Сорри, я кажется говорил, что ТекРеквизит берётся из списка реквизитов. Так что ТипЗначенияСтр(ТекРеквизит)="Строка" ...всегда
#9
by OctoberHammer
Если это форма првязанная к объекту метаданных, тогда так: Метаданные.Справочник(Вид).Реквизит(ТекРеквизит).Тип
#10
by Diter
Так занеси его в этот список так : СписокРеквизитов.ДобавитьЗначение(Реквизит.Вид,Реквизит) Потом будешь получать и раскладывать на вид реквизита и наименование реквизита.
#11
by VaS
Ну, для начала, это не справочник, а отчёт. Вид реквизита получить легко... ТипЗначенияСтр(ЗначениеИзСтрокиВнутр(Шаблон("[ЗначениеВСтрокуВнутр("+ТекРеквизит+")]"))) Мне бы значение его получить, вернее значение из текущей строки списка.
#13
by Diter
Ты чего. Раз ты можешь получить вид реквизита - ну так получай его значение как в я тебе написал.
#15
by Diter
ТипЗначения=ТипЗначенияСтр(ЗначениеИзСтрокиВнутр(Шаблон("[ЗначениеВСтрокуВнутр("+ТекРеквизит+")]"))) или как там ешё короче получаешь ТипЗначения как строку вида "ТаблицаЗначений" или "СписокЗначений" или "Число" и т.д. Иначе Конт.Форма.ПолучитьАтрибут(ТекРеквизит).
#17
by Diter
Повторю ещё раз для тех кто на бронепоезде : Когда ты проверяешь ТИПЗНАЧЕНИЯ и оно раво "СПИОКЗНАЧЕНИЙ" то пользуешься Конт.Форма.ПолучитьАтрибут(ТекРеквизит.ПолучитьЗначение(ТекРеквизит.ТекущаяСтрока)). ВО ВСЕХ ОСТАЛЬНЫХ СЛУЧАЯХ Конт.Форма.ПолучитьАтрибут(ТекРеквизит). Если это не понятно - вызывай нормального программиста.
#18
by Diter
А чтобы у тебя ТЕКУЩИЙРЕКВИЗИТ был вида "СПИСОКЗНАЧЕНИЙ" а не "строка" создавай список как я тебе сказал в Да кстати вопрос - а на кой тебе этот самый список реквизитов? Пробежать все реквизиты документа можно и без промежутночного списка реквизитов. Или ты его создаёшь отдельно и вносишьтуда только те реквизиты, которые нужно обрабатывать? Так тем более делай как в
#19
by VaS
С перона, мимо проносящимся, отвечаю... Из списка заначений, содержащего строки с идентификаторами реквизитов формы. В цикле они последовательно выбираются и... Конт.Форма.ПолучитьАтрибут(ТекРеквизит) даёт ссылку на реквизит, как на объект метаданных. Т.е. я могу оперировать только со свойствами этого реквизита, но не с его значением. Либо могу получить весь список (из реквизита), без намёка на то, какая строка является текукщей... Все эти действия выполняются в глобальном модуле. И у строки нет метода "ПолучитьЗначение" и ему подобных.
#20
by VaS
Да, мне нужны только некоторые реквизиты. Рекизиты отчета (даже встроенного в конфигу) пробежать нельзя, и как объект метаданных их не сохранишь. Потому и приходится прибегать к помощи промежуточного списка. И вид и наименование реквизита (я думал это и так понятно) у меня уже есть.
#21
by GrayT
Извращенцы :)) Путаете божий дар с яишницей :) Две обработки. У первой на форме "МойСЗ" и кнопка открывающая вторую обработку 1 - модуль //_____________________________________________________________________________ А извращенцы потому что проще передать не идентификаторы реквизитов, а сами реквизиты
#22
by Diter
"Конт.Форма.ПолучитьАтрибут(ТекРеквизит) даёт ссылку на реквизит, как на объект метаданных. Т.е. я могу оперировать только со свойствами этого реквизита, но не с его значением. Либо могу получить весь список (из реквизита), без намёка на то, какая строка является текукщей... Все эти действия выполняются в глобальном модуле. И у строки нет метода "ПолучитьЗначение" и ему подобных" У тебя же есть контекст формы. Ну так и запроси из него текущую строку списка и заодно текущее занчение списка. Ты скажи - вместо того, чтобы здесь по пять раз рассказывать - ты пробовал или нет настучать этот код? Чего пишет в отладчике?
#24
by VaS
Сообщить(ТекРек.ПолучитьЗначение(1,Значение)); {Глобальный модуль(1453)}: Поле агрегатного объекта не обнаружено (ПолучитьЗначение) Спасибо за науку, тока не всё так просто. У клиента желание - минимум изменений в отчётах. Потому на форме лежит текст, вызывающий функцию из глобальника. В ней то всё и должно обработаться. Так что передавать каждый реквизит в отдельности, слишком громоздко. В этом то и проблема. Я сам над этим уже неделю голову ломаю и ничего не выходит. Видимо не судьба мне написать сие извращение. А внешние компоненты юзать не хочется, не доверяю я им. Ну да ладно. Большое спасибо всем, кто откликнулся. Наверное, тему можно закрыть и забыть...
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Получить id и получить объект по id
- Как программно получить получить пароль пользователя в текущем сеансе работ
- Как получить разность дат (Нужно получить количество дней)
- Как получить ГУИД элемента по OLE, записать и получить по нему ссылку?
- получить текущее значение ставки НДС
- Как получить текущее значение списка значений
- Получить значение выпадающего списка
В этой группе 1С
- При выборе вида субконто не работает отбор
- Выбор плана счетов. v7.7
- Конфигурация для кабельного телевидения
- Основны средства с стандартной конфигурации
- Как создать DBF с оговоренной структурой из Excel VBA?
- Увязать 1С и ОЛАП
- Получение остатков по регистру без использования запроса
- Как в общем организован многовалютный учет в 1С
- Работа с индексами.
- Правило 4-х Хабов ?
- Как в форме списка редактировать данные табличной части элемента? (2)
- сканер штрих кодов СОМ , внешняя компонента
- Функция в Excele
- Люди помогите нет ли у кого пограмки для работы с memo полями в dbf
- Торг 12 печатается не на всю длину листа,а только наполовину,как заставить
- Как перегнать накладные в dbf?
- Помогите собрать сервер
- Проблемы при изменении родителя элемента справочника
- Как в табличной части документа вернуть значение строки?
- Настройка клиентов в терминальном режиме Win2000Server