Проблема при переходе с С5.5 на С6.2

Clarion, Clarion 7

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

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
gudkov
Бывалый
Сообщения: 67
Зарегистрирован: 03 Август 2005, 14:03
Откуда: Иркутск

Проблема при переходе с С5.5 на С6.2

Сообщение gudkov »

Здравствуйте.

Ситуация такая, перевожу проект с С5.5F ШВС на С6.2(9049)ШВС. В проекте есть форма редактирования основного файла, на ней Drop List'ы для выбора значений из справочников.

Cправочники имеют структуру типа:
spr:id(уникальный код)
spr:name

Основной файл связан со справочниками по этому spr:id, как много к одному, что в принципе логично. Так вот, в листформатере дроплиста, определено поле из справочника: spr:name, в use-переменной определено поле из основного файла, которое содержит уникальный код записи справочника, и тут возникла проблема в С5.5, при открытии формы, дроплист справочника автоматически позиционируется на spr:name соответствующий коду справочника в основном файле(т.е. полю определенному в use-переменной), в С6.2 позиционирования не происходит, т.е. дроплист просто позиционируеться на первую запись справочника и все.
Не пойму в чем проблема, может кто подскажет, очень не хочеться делать позиционирование руками.
ШВС вроде практически не поменялись, что для C5.5, что для С6, так что дело наверное не в них.

В приатаченых скринах видно, как позиционируеться запись в зависимости от версии Clarion'a(zapis-вид записи основного файла, form_C5.5-вид формы в С5.5F, form_C6.2-вид формы в С6.2 соотвественно)
Удачи!
Аватара пользователя
Admin
Администратор
Сообщения: 4010
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 53 раза
Поблагодарили: 33 раза
Контактная информация:

Сообщение Admin »

в use-переменной определено поле из основного файла, которое содержит уникальный код записи справочника
Я здесь всегда ставлю не поле из основного файла а поле наименования из справочника. В твоем случае spr:name ...
В добавок ты не сказал заполняешь ли ты в шаблоне поля:
Field to fill from: и Target field:

Попробовал в C6.2 9049 сделать как у тебя. В дроп-листе вообще не встает ни на какую запись.
Даже если ставишь галку на Default to first entry if USE variable empty
gudkov
Бывалый
Сообщения: 67
Зарегистрирован: 03 Август 2005, 14:03
Откуда: Иркутск

Сообщение gudkov »

Хмм...., сделал, как ты сказал, и в дроплисте пусто, да и по логике в use-переменной должны быть переменная из основного файла, чтоб дроплист "знал" на что спозиционироваться. Поля Field to fill from: и Target field:, заполняю(правда в ШВС они называются Заполняеться полем: и Ввод в поле:, но это сути конечно не меняет. А заполняю их так - Заполняеться полем:spr:id, Ввод в поле:glo:upd_publ(это промежуточная переменная для апдейта основного файла). Галку на Default to first entry if USE variable empty: не ставлю, мне не нужно в начало позиционировать. Но я думаю заполнение вышеописанных полей никак не должно влиять на позиционирование записи в дропе, тут решающее значение имеет use-переменная.
Кстати если в форматере листа поставить вместо spr:name, spr:id, то позиционирование этого дропа по spr:id происходит, как надо, т.е. соответствует значению spr:id из общего файла.
Вот я и не пойму, что изменилось в С6.2 в отличие от С5.5, как ты заметил по скринам в С5.5, все, что я описал выше работает на ура, а в С6 нет :cry:. Я уж тут подумал, может Вадим, чтото поменял в шаблонах, хотя это маловероятно, в ШВС уже 100 лет ничего не менялось, кроме совместимости с новыми версиями Клары.
Удачи!
softcreator
Ветеран движения
Сообщения: 78
Зарегистрирован: 04 Август 2005, 9:35
Контактная информация:

Сообщение softcreator »

Тут есть принципиальная ошибка - и не совсем понятно, почему все позиционируется в C55 нормально. Ошибка в том, что для use-переменной используется целевое поле таблицы. Подправленная логика данного шаблона требует, что бы:
1. В Target Field (Ввод в поле) было указано именно целевое поле таблицы, куда должно попадать значение Field to fill from (Заполняеться полем).
2. Use-переменная должна быть того же типа, что и Target Field и не быть полем Target Field - например просто локальной переменной.

т.е. Use - glo:upd_publ (или что-то другое - логичнее все ж локальная переменная)
Target Field - поле основного файла
Field to fill from - spr:id

А судя по описанию сделано наоборот.
gudkov
Бывалый
Сообщения: 67
Зарегистрирован: 03 Август 2005, 14:03
Откуда: Иркутск

Сообщение gudkov »

Сделал, так как сказал, Вадим, все по старому не позиционируеться :cry: . Кстати, через переменную пришлось работать, потому что, по той схеме, которую подсказал Вадим, запись не апдейтилась(было просто пустое поле), пришлось заводить переменную и руками приравнивать, поле общего файла к этой переменной.

Прилагаю пример, в нем: аппликация для С6.2(9049)ШВС, аппликация для С5.5F ШВС, шаблоны supertagging от boxsoft(без них не компилится, а чистить там до фига, они почти в каждой процедуре), directexcel от О. Руденко(тоже почти в каждой процедуре).

Отправлю еще Вадиму в личку
Удачи!
Аватара пользователя
Admin
Администратор
Сообщения: 4010
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 53 раза
Поблагодарили: 33 раза
Контактная информация:

Сообщение Admin »

gudkov - а у тебя точно droplist а не dropcombo?
softcreator
Ветеран движения
Сообщения: 78
Зарегистрирован: 04 Август 2005, 9:35
Контактная информация:

Сообщение softcreator »

честно говоря очень лениво ставить какие-то чужие шаблоны, потом что-то еще не будет хватаить, потом искать что поставил и удалять...
сделай простейшее приложение с одним окном - тебе дела на 15 минут же.
gudkov
Бывалый
Сообщения: 67
Зарегистрирован: 03 Август 2005, 14:03
Откуда: Иркутск

Сообщение gudkov »

Однозначно дроплист, хорошо сейчас почищу аппку от этих boxsoft
Удачи!
Аватара пользователя
Admin
Администратор
Сообщения: 4010
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 53 раза
Поблагодарили: 33 раза
Контактная информация:

Сообщение Admin »

Сюда пример цепляй. Не нужно мылом. Все и посмотрим ...
softcreator
Ветеран движения
Сообщения: 78
Зарегистрирован: 04 Август 2005, 9:35
Контактная информация:

Сообщение softcreator »

да сделай же простой пример!!!
тебе же проще и мне очевидней будет!
gudkov
Бывалый
Сообщения: 67
Зарегистрирован: 03 Август 2005, 14:03
Откуда: Иркутск

Сообщение gudkov »

Да я уже прицепил, (смотри выше), только там надо boxsoft'овские темплейты доставить, счас вот сижу чищу от них аппликацию, чтоб пример более голый был, как почищу прицеплю еще один
Удачи!
gudkov
Бывалый
Сообщения: 67
Зарегистрирован: 03 Август 2005, 14:03
Откуда: Иркутск

Сообщение gudkov »

Так в том то и дело, что надо посмотреть на рабочей аппликации, может там чего не так, хотя все переносилось простой конвертацией аапликации, без всяких изменений
Удачи!
gudkov
Бывалый
Сообщения: 67
Зарегистрирован: 03 Август 2005, 14:03
Откуда: Иркутск

Сообщение gudkov »

Вот выкладываю почищеный пример(только ШВС и кларин код).

Возможно проблема всетаки в шаблоне, если вы помните, я уже обращался с подобной проблемой(насчет скроллинга в дроплистах), там была такая же ситуация, в С5.5F ШВС, все нормально, в более поздних версиях клары(включая С6.2), скроллинг глючил безбожно. Вадим подправил шаблон и все нормализовалось, может и здесь такая же проблема.

Ключевые процедуры: brw_books_all и upd_all, это чтоб не рыться там особо :roll:
Удачи!
softcreator
Ветеран движения
Сообщения: 78
Зарегистрирован: 04 Август 2005, 9:35
Контактная информация:

Сообщение softcreator »

Я же просил сделать тестовый пример - чистый от сторонных шаблонов и библиотек? В прилагаемом приложении используются шаблоны:
1. от MikeHanson
2. от SuperBrowse
3. от MAV
4. от MAVSEC

У меня этого нет и никогда не будет.

Я еще раз говорю - нужен чистый простой пример. Если на нем проблем
нет - нужно искать в куче навесных шаблонов - кто косячит.
Если проблема есть - тогда можно локализовать ее.
gudkov
Бывалый
Сообщения: 67
Зарегистрирован: 03 Август 2005, 14:03
Откуда: Иркутск

Сообщение gudkov »

Прошу прощения, сделал сейчас чистые примеры с нуля, проблема остаеться, выкладываю.

Просьба к адину, удалить два предыдущих сообщения с приатачеными архивами.
Удачи!
Закрыто