8.2 Как лучше всего связать две нединамические таблицы на форме по общему полю #581975


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