|
8.2 Как лучше всего связать две нединамические таблицы на форме по общему полю | ☑ | ||
---|---|---|---|---|
0
eddy_n
25.11.11
✎
11:25
|
Имеем на форме 2 реквизита с типом Таблица значений. У каждой есть связующее поле. Например, слева на форме таблица классов, справа - учеников всех классов. Хочется, чтобы при активизации строки на таблице классов отображались только ученики этого класса.
|
|||
1
Maxus43
25.11.11
✎
11:35
|
УФ?
|
|||
2
Maxus43
25.11.11
✎
11:36
|
если в обычном приложении то есть пример в типовой: Ввод начальных остатков НДС
|
|||
3
eddy_n
25.11.11
✎
11:46
|
(2) В том то и дело, что речь именно про управляемое приложение.
|
|||
4
eddy_n
25.11.11
✎
16:28
|
Вообщем, сделал через ОтборСтрок к таблице справа через ФиксированнуюСтруктуру
|
|||
5
vmv
25.11.11
✎
16:38
|
(0) в тонком клиенте не прокатит
вся трабла в том, что события актививизации строки в одной таблице можно поймать только в клиентских методах и активизировать(позиционировать) строку в другой таблице можно тоже только на клиенте, чтобы это работало очевидно и естественно, как например мастер-деталь на отборах в ЗУП 8.1 "Начисление ЗП" для таьбличных частей. Таким образом интерфейсная активизицая строки и той и другой таблицы возможна только на клиенте, а само позиционирование на сервере. Получем мертвую завязку Объяснил непонятно, но попробуйте "прохавать" тему сами в отладчике на тонком |
|||
6
vmv
25.11.11
✎
16:39
|
(4) но это не синхронная активизиция строк разных таблиц формы.
|
|||
7
Defender aka LINN
25.11.11
✎
16:41
|
(5) *молча протягивает пустой коробок*
|
|||
8
Buster007
25.11.11
✎
16:41
|
(5) ну ты и загнул...
я уже так делал и автор уже сделал и всё работает. в каком случае его метод не будет работать? |
|||
9
Buster007
25.11.11
✎
16:41
|
(7) ))))
|
|||
10
vmv
25.11.11
✎
16:41
|
(7) ты много куришь, задумайся)
|
|||
11
vmv
25.11.11
✎
16:48
|
да отборы хрень на посном масле они и в африке отборы.
у меня была задача На форме есть две Тз, не табличные части! Т1 - заполняется при создании на сервере например такими данными ИмяИсточника....ИмяТаблицы.... ТablSpace1......Ts1Tab1 ТablSpace1......Ts1Tab2 ....................... ТablSpaceN......TsNTabN ... Вторая таблица формы имела всего одну свтроенную колонку "НомерСтроки" Так вот при перемещении по первой таблице я хотел динамически формировать струкутуру колонок по выбранной строке Т1, выполняя свой запрос к внешнему. Все получилось запросы, динамика, очиска и загрузка второй таблицы на лету, НО только по кнопке, при активизации таблицы 1-й строки хер, переадача управлений клиент-сервер в таком замесе это не позволила. Так что не знаю что ви курили, но ви не правы!) |
|||
12
Buster007
25.11.11
✎
16:50
|
(11) а в при активизации строки нельзя передать в серверную процедуру данные по колонкам и генерить их?)
|
|||
13
vmv
25.11.11
✎
16:53
|
(12) пр активизации строки в 1-й таблице я получаю и структуру колонок и строки и сами строки если нужно и хочу просто перемещаясь по первой на лету смотреть, например, первые 10 строк совершенной другой таблицы по составу строк и это получилось, но только пр активизации в первой нужно вызывать серверные методы загрузки во вторую и обновления
|
|||
14
Buster007
25.11.11
✎
16:54
|
(13) а по кнопке ты не вызываешь?)
|
|||
15
vmv
25.11.11
✎
16:55
|
(13) все можно в смыслек получения данных, но чистый клиентский просмотр на лету никак не возможен в таком случае - не веришь попробуй сам сваять.
там в принципе тествого кода на страницу будет и сразу станет очевидна причина невозможного |
|||
16
Buster007
25.11.11
✎
16:56
|
кинь код свой и посмотрим, зачем мне делать, когда у тебя уже есть
|
|||
17
vmv
25.11.11
✎
16:56
|
(14) по кнопке все работает
выбрал строку в первой, жамкнул на кнопу "загрузить деталь" и вижу данные другой таблицы которая динамически создалась во 2-й таблице формы. |
|||
18
Buster007
25.11.11
✎
16:59
|
не вижу разницы между жмакнул кнопку и при активизации.
|
|||
19
vmv
25.11.11
✎
17:09
|
(17) код кидал на той неделе.
Фишка в том, ч тоо в мое случае нужно убить все колонки в 2-0й таблице, создать новые колонке соглдасно струкутре полученной 2-0й тз и загрузит данные 2-й тв в обновленную структуру. Вызывать все это из клиенткой процедуры активизации строки не возможно, там есть особенность уж слишком серверные методы "тяжелые" в смысле передачи управления. все, рано или позно вам придется столкнуться с подобной проблемой |
|||
20
Buster007
25.11.11
✎
17:33
|
(19) ну знаешь ) есть такие методы, как подключить обработчик ожидания, чтобы при каждой активизации загружать, обновлять и т.д. например когда я зажав стрелку вниз бегу по списку. Это во первых.
Ну а во вторых, про то, что серверные методы тяжелые, уже давно известно. Для того, чтобы это узнать далеко ходить не надо, достаточно просто открыть СП и там написано, что вызов серверных методов не допустимо. НО Если открыть типовую УТ11 и посмотреть как там всё сделано и почитать про недоступность вызова серверных методов в СП, можно сделать вывод, раз 1С этим пренебрегает, то нам то уж и подавно можно забить на это. Тем более я уже делал, что-то вроде данного и никаких проблем не заметил. |
|||
21
vmv
25.11.11
✎
19:36
|
(20) тяжелые в смысле получения данных обработчики ожидания использовать в чисто сервисных методах формы - моветон и непозволительная роскошь для хорошей работы клиент-серверной технологии.
описанная мной ситуация не заработает. обработчик ПриАктивизацииСтроки() просто не позволит вызвать внутри себя серверные процедуры которые МЕНЯЮТ структуру колонок(реквизиов формы) и данные другой таблицы формы и чтобы там ни ваяли где - не тот случай, у сервера свое мнение на сей счет и оно вполне логично. Сервер 8.1 позволял такой финт ушами, правда он был ужасно туповат во всех аспектах производительности) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |