Было: Lookup посредством drop[combo] (11.07.04)

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Гость

Сообщение Гость »

Hello ClaList,

Ранее обсуждалось, что при использовании drop[combo] не позволять пользователю вводить коды, а предлагать выбор из списка по названиям.
Попробовал dropbox и обнаружил, что в строке высвечивается первая колонка листбокса. Для простейшего справочника из кода и названия отлично, все работает! На коды действительно можно не глядеть! У меня сложный случай - в листбоксе четыре колоноки ( тип улицы, название, номер дома и корпуса ). Тип улицы и название из справочника улиц, остальное из справочника домов. Можно ли после выбора дома из выпадающего списка, в строке увидеть весь адрес, а не только первую колонку из листбокса?

--
Best regards,
Чаплыгин mailto:chapligin@fromru.com


(Добавление)

А ты уверен, что это эргономически верное решение?
У меня в задаче с адресами в одном окне уж не помню сколько связанных Browse. В том числе: Город ->> Улица ->> Дом ->> Квартира ->>...
Т.е. в форме на Квартиру мне не нужно выбирать остальные атрибуты адреса. Может, и тебе такое решение подойдет?

С уважением,
Владимир Смелик vovs@bigfoot.com

А я про это речь и вел в недавних обсуждениях, но ответа так и не дождался.
Пришось выкручиваться самому. Завел переменную LOC:FirstField типа STRING для вывода в первую колонку. В форматере дропбокса делаю ширину первой колонки 0, далее все нужные поля. В методе SetQueueRecord до вызова родителя инициализирую LOC:FirstField как мне угодно. В итоге: в всплывающем списке первого поля не видно, а в строку дропбокса после выбора выводится значение из первого поля. Насколько это оптимальный вариант - не знаю.
Не решена только проблема, когда в таком дроп при открытии окна надо вставать на уже известное значение.

С уважением, Семен Попов
Написал: ClaList(2)
Гость

Сообщение Гость »

И я это не решил. Сделал по старому - рядом с дропбоксом вывожу "ул " "Строителей" "12"/"а " т.е. полный адрес. А в строке над дропбоксом комплексная переменная string(10) - в ней коды района и улицы, дом и корпус закодированы, все равно пользователь эти коды не вводит. Тогда при редактировании формы все само в дропбоксе на нужный адрес встает.
Т.е. первая колонка дропбокса это комплексная переменная string(10).
Т.е. в форме на Квартиру мне не нужно выбирать остальные атрибуты адреса. Может, и тебе такое решение подойдет?
А вы то же занимаетесь учетом квартплаты ?
У меня под Дос И Виндовс сразу, с одной базой формата *.dat. В области техника старая, матричников полно, виндовую только один район пользует, остальные только некоторые отчеты из виндовой печатают.

--
Best regards,
Чаплыгин
Написал: ClaList(2)
Гость

Сообщение Гость »

Тут у меня на стадии тестирования находится еще одно решение этой проблемы, где не требуется дополнительных контролов. Может кто-нибудь это уже применяет.
Есть еще одна переменная LOC:UseFileDropBox (подобная переменной LOC:FirstField), которую я использую в качестве USE-переменной для этого дроп. При открытии окна, зная коды (в твоем случае - коды района, улицы, дома, корпуса), я инициализирую ее !!!в точно таком же комбинированном виде!!! как и LOC:FirstField в SetQueueRecord. Тогда дроп автоматически выставляется на эту запись. Видимо выполняется нечто вроде
GET(QUEUE:FileDrop,QUEUE:FileDrop.LOC:FirstField) и, если мы неверно проинициализируем (отличным от первого столбца значением) USE-переменную на входе, то дроп не выставляется на требуемую запись. Наверно потверждение этому можно найти, порывшись в исходниках классов, но у меня пока рука не доходила.

С уважением, Семен Попов
Написал: ClaList(2)
Гость

Сообщение Гость »

У меня под Дос И Виндовс сразу, с одной базой формата *.dat. В области техника старая, матричников полно, виндовую только один район пользует, остальные только некоторые отчеты из виндовой печатают.
Очень интересно. Я писал прогу для ЕИРЦ (Единый Инф. Расчетный центр) это в Москве. Там и квартплата и паспортный стол и пр.. А у вас в каком городе это работает?

Сергей. njgor@ru.mos.ru
Написал: ClaList(2)
Гость

Сообщение Гость »

А вы то же занимаетесь учетом квартплаты ?
Было дело - занимался. Впрочем, аналогичная структтура есть и в работающей сейчас программе БТИ.
У меня под Дос И Виндовс сразу, с одной базой формата *.dat. В области техника старая, матричников полно, виндовую только один район пользует, остальные только некоторые отчеты из виндовой печатают.
Мы как-то считали цену копии на матричнике и лазернике.
Разница была очень существенной. В пользу матричника.
Особенно при печати из рулона.

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

Про работу с адресами. В ДОС-версии оплата вешалась на лицевой счет, т.е. не было необходимости в массовом вводе адресов. А сама программа - последовательное открытие окон Город - Улица - Дом - Квартира
В win-версии, как я уже говорил, связанные Browse в одном окне.

Так что ни в том, ни в другом случае справочники с полным адресом не использовались.

С уважением,
Владимир Смелик
Написал: ClaList(2)
Гость

Сообщение Гость »

Очень интересно. Я писал прогу для ЕИРЦ (Единый Инф. Расчетный центр) это в Москве. Там и квартплата и паспортный стол и пр.. А у вас в каком городе это работает?
Работает в Волгоградской области. Паспортного стола нет, а ЕИРЦ есть.
Правда субсидию считают субсидисты сами. С нового года собираются перечислять субсидию на сберкнижки. В волгограде городской ВЦ есть - наши бывшие сотрудники.

Есть мысль: добавить строковую переменную - пусть копирует строку дропбокса и выводится вместо LOC:FirstField! А LOC:FirstField пусть содержит первый столбец и используется стандартно. Подробнее сказать не могу - использую ШВС и сейчас в разъездах по области.

--
Best regards,
Чаплыгин

Интересно будет узнать результаты. Если нетрудно, расскажи об этом потом по-подробнее. Хоть я и использую ABC, но думаю что логика одинаковая.

С уважением, Семен Попов
Написал: ClaList(2)
Ответить