Список форумов BOSSForum.RU - Форум. БОСС-Кадровик
Независимый форум, посвященный системе БОСС-Кадровик
и всему, что с ней связано
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Определить поле с фокусом в диалоговой форме
На страницу 1, 2  След.
 
Начать новую тему   Ответить на тему    Список форумов BOSSForum.RU - Форум. БОСС-Кадровик -> X-язык
Предыдущая тема :: Следующая тема  
Автор Сообщение
Аленка



Зарегистрирован: 08.04.2011
Сообщения: 64
Откуда: Оттуда

СообщениеДобавлено: Чт Май 26, 2011 16:46    Заголовок сообщения: Определить поле с фокусом в диалоговой форме Ответить с цитатой

Задача следующая: Имеется одна таблица, в которой содержаться данные с разными типами,таблица имеет иерархическую структуру. При выборе в диалоге полей со списком с источником из этой таблицы, была задумка показывать древовидный список, построенный по определенному типу. Если на форме одно такое поле, тогда нет проблем, задаю переменную с типом и рисую дерево, у которого root=заданный тип. Но если полей несколько, хотелось бы задавать тип исходя из фокуса поля.
Пытаюсь определить фокус вот так, но не получается:
Код:
ProcLocal D:tls_character_obsl={
(nCmd,sField,nField,sParam);

switch :nCmd
{
42{   
   switch :nField
   {
   0,23,26 {@@{msg '!!!!!'};
   }--0,23,26
   
   }--nField
}--42
};--nCmd
};--tls_character_obsl


Подскажите, что не так?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
zhenya17



Зарегистрирован: 04.02.2009
Сообщения: 190
Откуда: Кемерово

СообщениеДобавлено: Пт Май 27, 2011 06:01    Заголовок сообщения: Ответить с цитатой

Честно говоря, трижды прочитала, но ничего не поняла. Например, как таблица может иметь иерархическую структуру? По определению "Таблица (из лат. tabula «доска») — способ передачи содержания, заключающийся в организации структуры данных, в которой отдельные элементы помещены в ячейки, каждой из которых сопоставлена пара значений — номер строки и номер колонки. Таким образом, устанавливается смысловая связь между элементами, принадлежащими одному столбцу или одной строке."

Сделайте пример более конкретным. Что за данные содержатся в таблице, может скриншоты приложить и т.п.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Аленка



Зарегистрирован: 08.04.2011
Сообщения: 64
Откуда: Оттуда

СообщениеДобавлено: Пт Май 27, 2011 10:06    Заголовок сообщения: Ответить с цитатой

zhenya17,
под иерархической структурой я имела ввиду структуру
id,id_parent,name, обычной для построения иерархического дерева
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
zhenya17



Зарегистрирован: 04.02.2009
Сообщения: 190
Откуда: Кемерово

СообщениеДобавлено: Пт Май 27, 2011 17:59    Заголовок сообщения: Re: Определить поле с фокусом в диалоговой форме Ответить с цитатой

С иерархической структурой разобрались Smile
А с задачей в целом всё равно непонятно. Есть ощущение, что у задачки должно быть какое-то решение кроме фокусов. Только всё равно я никак представить не могу, что конкретно и с какой целью хотите сделать.
Аленка писал(а):
... При выборе в диалоге полей со списком с источником из этой таблицы, была задумка показывать древовидный список, построенный по определенному типу...
Коллеги, я туплю или всё-таки фраза тяжела для восприятия? Surprised
Хочется верить, что Вас, Алёнка, не только я не понимаю. Т.к. странно что ещё никто не отписался в теме, учитывая 25 просмотров. Народ тут вполне активный Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Аленка



Зарегистрирован: 08.04.2011
Сообщения: 64
Откуда: Оттуда

СообщениеДобавлено: Пн Май 30, 2011 10:38    Заголовок сообщения: Ответить с цитатой

zhenya17
Простите за косноязычие, попробую объяснить задачу подробнее.
В базе имелось множество спровочников, с почти одинаковой структурой, и всего несколькими записями. Структура в общем случае
id, name, id_parent + 2-3 поля. Свела их все в две таблицы, в одной - задается тип справочника, во второй сам справочник с указанным типом. И тут столкнулась с проблемой, в диалоге, где несколько полей заполняются данными из справочников, нужно определять тип вызываемого справочника, хотя бы для ввода новой записи в справочник, или для построения иерархического списка. Была надежда задавать тип справочника при вызове списка из конкретного поля диалога. Пыталась сделать в коде инициализации на проверке nCmd =42 и nField. Если можете, подскажите другое решение, Boss для меня инструмент новый.
Приведенный выше код у меня не срабатывает.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
RVV
Большой шоколадный орден
Большой шоколадный орден


Зарегистрирован: 14.01.2010
Сообщения: 449

СообщениеДобавлено: Пн Май 30, 2011 11:45    Заголовок сообщения: Ответить с цитатой

Сделайте на форме диалога отдельное поле, которое будет задавать тип справочника, а в другом поле ссылку-ограничение на первое ...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Аленка



Зарегистрирован: 08.04.2011
Сообщения: 64
Откуда: Оттуда

СообщениеДобавлено: Пн Май 30, 2011 14:10    Заголовок сообщения: Ответить с цитатой

RVV
Не поняла, как это меня спасет. Допустим у меня на форме 3 поля со списком (источник их один и тот же),
одно должно открываться с ограничением тип=1, второе тип=2, третье тип=3.
Мне нужно чтобы открывался один и тот же список с разными ограничениями(тип=...). По вашей технологии как мне определить данный тип, не зная какое в данный момент поле активно?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
RVV
Большой шоколадный орден
Большой шоколадный орден


Зарегистрирован: 14.01.2010
Сообщения: 449

СообщениеДобавлено: Пн Май 30, 2011 14:26    Заголовок сообщения: Ответить с цитатой

"одно должно открываться с ограничением тип=1, второе тип=2, третье тип=3. "

Ну так и написали бы сразу, а то мы тут гадать должны, что и как Вы себе представляете.

1 Можно сделать три разных списка джля каждого поля (со своим ограничением)

2 Можно сделать один список и передавать в него доп. ограничение, прописав его непосредственно в поле, после имени списка.

что-то типа
имя_списка WHERE ttt = 1
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Аленка



Зарегистрирован: 08.04.2011
Сообщения: 64
Откуда: Оттуда

СообщениеДобавлено: Пн Май 30, 2011 16:49    Заголовок сообщения: Ответить с цитатой

RVV,
Ограничение where меня спасет только если выпадающий список не редактируемый (об этом и толкую!), если же нужно ввести новую запись, как мне определить тип списка? Что мне подставить как тип, ведь список-то будет фильтроваться по этому типу и новая запись в нем без типа не появится, или я не правильно понимаю?
Разные списки – бред! Что, в Boss-e нельзя определить поле с фокусом?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Mike
Большой шоколадный орден
Большой шоколадный орден


Зарегистрирован: 07.04.2011
Сообщения: 255

СообщениеДобавлено: Пн Май 30, 2011 17:59    Заголовок сообщения: Ответить с цитатой

Как определить поле с фокусом не знаю.
А почему нельзя просто задавать тип записи при ее введении, а обязательно нужно в зависимости от фокусировки?

Я так понимаю, что ваше творение похоже на что-то типа списка подразделений в Штатном расписании, только и там не фокусируется ничего

pr_lst_structs_tree
pr_lst_structs
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
RVV
Большой шоколадный орден
Большой шоколадный орден


Зарегистрирован: 14.01.2010
Сообщения: 449

СообщениеДобавлено: Пн Май 30, 2011 18:20    Заголовок сообщения: Ответить с цитатой

Определить в каком поле фокус не получится.
В Вашем случае самый простой способ - сделать три Lookup с отдельными browser. И это не бред. тк кнопки ОК/Отказ и перерисовка выбранного значения и посыл команд основному диалогу будут произведены системой автоматически.

Да можно и в Вашем случае сделать один список, вызвав через процедуру или написать вызов Browser c параметром ...
но кнопки, перерисовка и т.д см. выше - уже на Вашей совести.
Оно Вам надо?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Аленка



Зарегистрирован: 08.04.2011
Сообщения: 64
Откуда: Оттуда

СообщениеДобавлено: Вт Май 31, 2011 10:21    Заголовок сообщения: Ответить с цитатой

RVV писал(а):

Да можно и в Вашем случае сделать один список, вызвав через процедуру или написать вызов Browser c параметром ...


Как и на какое событие ее(процедуру) повесить? Подскажите, если не трудно.
Кстати, в документации по Боссу документирована проверка активности поля в диалоге, код nCmd=42, огорчает что декларированная возможность не реализована.

RVV писал(а):

...но кнопки, перерисовка и т.д см. выше - уже на Вашей совести.
Оно Вам надо?

Надо, у меня диалоговое окно, где 15 полей со списками подобным вышеописанным.

Mike,
к сожалению, у нас закуплен "голый" Босс, без модулей, так что стандартную реализацию чего-либо посмотреть не могу.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
RVV
Большой шоколадный орден
Большой шоколадный орден


Зарегистрирован: 14.01.2010
Сообщения: 449

СообщениеДобавлено: Вт Май 31, 2011 10:39    Заголовок сообщения: Ответить с цитатой

"15 полей" - нашли чем удивить ....
Программирование в дизайнере имеет свою специфику, к ней нужно привыкнуть, перенастроить свой стиль программирования ...

Читайте документацию, смотрите примеры (лучше в Кадровике)

http://www.rp-server.com/download_files/rp-quick-start.pdf

Если не получается, пишите проще.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Аленка



Зарегистрирован: 08.04.2011
Сообщения: 64
Откуда: Оттуда

СообщениеДобавлено: Вт Май 31, 2011 11:00    Заголовок сообщения: Ответить с цитатой

RVV
Еще раз, нет у меня кадровика, нет!
У нас только средство Босс Дизайнер, без модулей!
А начсет 15 полей, так этож только один диалог, а переделывать мне 750 диалогов Sad
Вобщем прихожу к выводу, что под каждый тип справочника нужно иметь свой список, грустно как-то... Crying or Very sad
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
RVV
Большой шоколадный орден
Большой шоколадный орден


Зарегистрирован: 14.01.2010
Сообщения: 449

СообщениеДобавлено: Вт Май 31, 2011 11:44    Заголовок сообщения: Ответить с цитатой

Каждый справочник - отдельная таблица
Каждый справочник - отдельный список, диалог, Lookup

Это НОРМАЛЬНО !!!
Это ПРАВИЛЬНО !!!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов BOSSForum.RU - Форум. БОСС-Кадровик -> X-язык Часовой пояс: GMT + 4
На страницу 1, 2  След.
Страница 1 из 2

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Pоwerеd by рhpВB © 2001, 2005 рhpВB Grouр
Русская поддержка phрВB
Rambler's Top100 Рейтинг@Mail.ru Список форумов BOSSForum.RU