Управляемые формы, как правильно писать код #549736


#0 by Midaw
На форме есть программно-созданная кнопка. При нажатии на кнопку в зависимости от её имени определяется логика работы. Один из вариантов при нажатии выдается пользователю диалог на сохранение файла. Возможная реализации алгоритма с проблемой: 1. На сервере выполняется определение логики работы в зависимости от имени (выполнимо только на сервере, на клиенте не работает получение свойства "Заголовок" у объекта "КомандаФормы"). 2. Далее на клиенте выполняется вывод диалога пользователю (!ПРОБЛЕМА, переход из серверной в клиентскую процедуру выдает ошибку!). --- Тогда пишем алгоритм заново начиная с начала: 1. На клиенте вызываем серверную процедуру с передачей параметра "КомандаФормы" для определения логики. (!ПРОБЛЕМА, передача параметра "КомандаФормы" невозможен!) Так как же правильно и красиво расписать такую логику?
#1 by acsent
>>При нажатии на кнопку в зависимости от её имени определяется логика работы
#2 by Midaw
а что ещё нельзя и как можно, нужно?
#3 by Stimcool
скажи это разработчикам РМК Розницы
#4 by mikecool
почитай Радченко Коротко о главном
#5 by Asmody
у КомандаФормы есть Имя. даже у программносоданных
#6 by Midaw
они это реализовали? есть книга, но не коротко. прийдется читать ) думаешь оно будет передаваться?
#7 by Midaw
чего только стоило сделать отбор в динамическом списке по владельцу. реально интерфейс у 8.2 кривой )
#8 by Stimcool
1. Да. У них на форме одна эталонная кнопка, при открытии добавляются кнопки-клоны со своими именами. В зависимости от имени нажатой кнопки происходит то или иное событие
#9 by Midaw
имя на клиенте легко получается из команды, в отличии от заголовка. вроде уже что-то получается )
#10 by Defender aka LINN
Внимание, вопрос: если пользователь нажал кнопку, не она ли будет текущим элементом формы?
#11 by Midaw
как то не привычно определяет активный элемент или нет, если передается "КомандаФормы". я лучше их сделаю по одной на каждую кнопку ))) следующая проблема вот эта хрень на клиенте не работает ))) такое чувство что кодируешь на минном поле... СправочникСсылка.<Имя справочника> (CatalogRef.<Имя справочника>) <Имя табличной части> (<Tabular section name>) Использование: Только чтение. Описание: Тип: СправочникТабличнаяЧасть.<Имя справочника>.<Имя табличной части>. Набор свойств содержит табличные части справочника. Доступ к табличной части осуществляется по имени, как оно задано в конфигураторе. Доступность: Сервер, толстый клиент, внешнее соединение.
#12 by Midaw
что собственно и понятно, нефиг тонкому клиенту получать табличные части :)
#13 by Defender aka LINN
Именно. А что ты с ней делать-то собрался?
#14 by Midaw
не поверишь, это тоже параметры для выполнения нажатия кнопки ) надеюсь таблицазначений будет передана
#15 by Midaw
не будет... доступность ТЗ Доступность: Сервер, толстый клиент, внешнее соединение.
#16 by Defender aka LINN
Ну выполняй на сервере, какие проблемы?
#17 by Asmody
чья-то неспособность использовать мощнейший инструмент правильно не делает последний плохим.
#18 by Aleksey
Если инструмент ниразу не интуитивно понятный - то это не делает его хорошим
#19 by Defender aka LINN
Для управления машиной имеются: руль, педали , переключатели на руле , рычаг коробки переключения передач, который имеет 5-6 положений. Как этим всем пользоваться, интуитивно непонятно. Отсюда вывод - автомобиль - хреновый инструмент, лошадь - наше все.
#20 by Midaw
тем не менее 8.0-8.1 меня только радовал ))) а тут хоть и понятно, что могут быть проблемы с передачей параметров. так ещё интерфейс явно не дружелюбный. чего только стоит совмещение формы, реквизитов, команд и все с кучей вкладок ) должно быть проще! )))
#21 by Midaw
так, кто нибудь подскажет. переменные в модуле это серверные или клиентские переменные? )
#22 by ZDenis
В модуле формы - как напишешь
#23 by Asmody
вам бы перфоратор в руки или болгарку в ноги...
#24 by Aleksey
Поэтому я езжу на автомате. там всего 2 педали, и 3 положения у ручки (вперед, назад, паркковка)
#25 by Defender aka LINN
Пропустил еще как минимум 3, а то и 4, от коробки зависит. Еще есть N, L, 2, может быть 4. А если типтроник, то еще 2 прибавляются. Никакой интуиции не напасешься :)
#26 by Defender aka LINN
*может быть 4 = может быть 3
#27 by Reaper_1c
подсос петрович... так сложно передать из клиента на сервер имя активного элемента управления, аж жуть.
#28 by Midaw
уже выяснили, можно 22 доставать
#29 by Midaw
следующий вопрос. как реализовать в тонком клиенте:
#30 by Smallrat
#31 by Midaw
Доступность: Толстый клиент.
#32 by eromanov
Если я не ошибаюсь РМК в Рознице под тонким работать не должно, только толстый
#33 by Smallrat
Глобальный контекст.ПолучитьФорму (Global context.GetForm) Глобальный контекст (Global context) ПолучитьФорму (GetForm) Синтаксис: ПолучитьФорму(<ИмяФормы>, <Параметры>, <Владелец>, <Уникальность>, <Окно>) Параметры: ---бла-блабла Возвращаемое значение: Тип: Форма; УправляемаяФорма. Описание: Получает форму или управляемую форму. Перед получением осуществляется поиск уже открытой такой же формы. Поиск осуществляется по типу формы, значениям ключевых параметров формы, владельцу формы, пользовательскому ключу уникальности. Если в параметре <Уникальность> передано значение Истина, то поиск уже открытых форм не осуществляется. Доступность: Тонкий клиент, веб-клиент, толстый клиент. Вызов метода выполняет обращение к серверу.
#34 by Midaw
работает, уже проверил ) спс. ещё тут разобрался с написанием Элементы.Список.ТекущиеДанные...
#35 by Smallrat
А насчет зависимости от имени логики - непонятно в чем проблема.
#36 by Midaw
проблема была в том, что на клиенте запрещено обращаться к свойству Заголовок. зато к имени можно и все становиться замечательно )
#37 by Midaw
я тут CRM Рарусовский немного мучал на управляемых формах. впечатления, на УФ можно сделать всё ))) поэтому ничего меня не остановит, главное не изобретать велосипед.
#38 by Midaw
кстати таблицу значений научился передавать с сервера ))) выглядит это ужасно ))) короче получается в виде списка значений с элементами типа "структура"...
#39 by Defender aka LINN
Ну, молодец. А для нахрена ты ее передал?
#40 by Midaw
надо, нетленка нестадартная.
#41 by Defender aka LINN
Я понимаю, что написана криво. Но для нафига туда-сюда обратно гонять данные?
#42 by Midaw
есть некий конструктор меню. для данного конструктора есть много параметров. вот они и тянутся для выполнения пункта меню. не тяни с меня больше подробностей )
#43 by Defender aka LINN
Да мне пофигу, что у тебя делается. Зачем ты формируешь таблицу на сервере, преобразуешь ее в это угробище, потом передаешь на клиента и тут же отсылаешь обратно на сервер?
#44 by Midaw
мне нужна табличная часть изначально
#45 by Defender aka LINN
Ну, нужна - хорошо. Кто запрещает ее передать в вызываемую форму так, как это положено делать?
#46 by Midaw
динамическим списком?
#47 by Defender aka LINN
О_о Ты сам-то себе это как видишь? Временное хранилище для таких вещей предназначено
#48 by Midaw
непонял, а хранилище здесь зачем? )
#49 by Defender aka LINN
При том, что именно оно предназначено для временного хранения данных на сервере, как ни парадоксально. И можно (а в твоем случае так даже нужно) в него сохранить эту твою ТЗ и прочее, что доступно только на сервере, и потом восстановить в вызываемой форме.
#50 by Midaw
в тонком клиенте нельзя обращаться к ТЗ. через хранилище или ещё как то передавать его бесполезно. именно поэтому все передается в списках и структурах, ибо иначе тонкий клиент шлёт нафиг.
#51 by Defender aka LINN
Мне слова "на сервере" большими буквами написать и с буффонами вокруг них попрыгать?
#52 by Midaw
так мне тз использовать надо на клиенте, ключевое ))) если бы задача была передать сервер-клиент-сервер, то проблем бы не было и с обычными типами
#53 by Asmody
ну не хочет человек книжки читать, все думает методом тыкал как раньше обойтись
#54 by Midaw
читаю уже ) но пытаюсь и вас понять... пример чтоли нарисуйте.
#55 by Midaw
я как бы по теме уже все сделал давно. но что предлагается хотелось бы все таки понять ) вдруг чего упустил
#56 by Asmody
основные моменты уже рассказали: гонять туда-сюда надо как можно меньше, как можно реже, пользоваться врменным хранилищем. И вообще, УФ требуют понимания не только того, ЧТО ты хочешь сделать, но и КАК это будет работать. Еще для понимания концепций, рекомендую ознакомиться с тем,как устроены современные веб-приложения, в частности,  с технологией ajax, асинхронными вызовами и веб-сокетами. Это очень близко к тому, что происходит в УФ.
#57 by Midaw
php знаю, протокол http подробно тоже знаю. помоему меня вынуждают описать цель данных извращений, а я не готов обсуждать нетленку :)
#58 by Asmody
знание языков и протоколов не при чем. важно понимание концепций
#59 by Midaw
изучим ajax новая проблема. как сделать отбор в табличной части на форме. как в динамическом списке делается я знаю или нужно изобразить табличную часть в виде динамического списка?
#60 by Midaw
+ нашел работает
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С