powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Перестало работать dddw
16 сообщений из 16, страница 1 из 1
Перестало работать dddw
    #39404749
mgl_www
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть простейшее dddw в строке grid-таблицы. Display Column - NAME, Data Column - ID.
Работало сто лет.
При внесении изменений в приложение (добавление window, dw, function, изменения в БД - новые таблицы, поля и view) перестало работать, т.е. при выборе на экране NAME не выдаёт ID. Изменения в приложении этого окна не касались.
PB 12.5 Classic, ASA7.
Кто-нибудь сталкивался с подобным? Что делать?
...
Рейтинг: 0 / 0
Перестало работать dddw
    #39404784
Механик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может быть что угодно. В том числе возможно был создан dwobject с тем-же именем, но в другой библиотеке. Пересоздайте dwobject с другим именем, перепривяжите его к dd и посмотрите поведение.
...
Рейтинг: 0 / 0
Перестало работать dddw
    #39404868
mgl_www
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МеханикПересоздайте dwobject с другим именем, перепривяжите его к dd и посмотрите поведение.
Спасибо, сделал так, как Вы сказали. Не помогло.
Самое смешное, что это dddw в других окнах работает.

Может быть у PowerBuilder'а есть какие-то ограничения на размер приложения? У меня большое приложение - порядка 670 dw и 270 windows.
...
Рейтинг: 0 / 0
Перестало работать dddw
    #39405989
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может просто ретрайв не делается?
Оно заполнено при открытии?
...
Рейтинг: 0 / 0
Перестало работать dddw
    #39406071
mgl_www
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spas2001Может просто ретрайв не делается?
Оно заполнено при открытии?

Да, оно заполняется как и должно быть при ретрайве материнского grid dw.

Расследование показало, что само dddw работает, т.е. выдаёт нужный ID и, более того, помещает его в поле grid dw.
Потеря данных происходит при Update grid dw.

Я начал делать новое grid dw. В строке в разных полях должны быть три разных dddw.
Добавил первое - всё работает.
Добавил второе - потеря данных по этому полю.
У меня возникло подозрение, что это глюк РВ 12.5, не позволяющий располагать несколько dddw в одной строке.
Дело в том, что исходное grid dw не редактировалось в РВ 12.5, а было получено путём миграции из РВ5 и прекрасно себе работало со всеми своими 3-мя dddw. А тут возникла необходимость его подредактировать и перезаписать уже в РВ 12.5.
И пошло-поехало.
Может быть где-то есть параметр, отвечающий за количество dddw в строке?
Никто не сталкивался?
...
Рейтинг: 0 / 0
Перестало работать dddw
    #39406390
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так может Update property проверить?
Параметр количества ddw в строке не видел, ставь сколько хочешь.
Допустим если поле не включено в список update, вполне возможна такая ситуация.
Импорт тут не при чем, раз ddw заполняется и выбирается, но не сохраняется - надо копать в обновлении
...
Рейтинг: 0 / 0
Перестало работать dddw
    #39406396
mgl_www
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spas2001Так может Update property проверить?

Это я, конечно, проверил. Всё прописано правильно (ведь до этого инцидента всё работало :-)
...
Рейтинг: 0 / 0
Перестало работать dddw
    #39406449
Фотография medoed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mgl_www,
Включите профайлер на стороне СУБД. Возможно синтаксис трансляции для dddw на базу изменился от версии PB.
Например, Null поля по другому стали обрабатываться! :-(
...
Рейтинг: 0 / 0
Перестало работать dddw
    #39406521
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mgl_wwwДело в том, что исходное grid dw не редактировалось в РВ 12.5, а было получено путём миграции из РВ5 и прекрасно себе работало со всеми своими 3-мя dddw. А тут возникла необходимость его подредактировать и перезаписать уже в РВ 12.5.
И пошло-поехало.
Может быть где-то есть параметр, отвечающий за количество dddw в строке?
Никто не сталкивался?
Сэкспортировать DataWindow в srd до редактирования и после и посмотреть через fc, что там изменилось
...
Рейтинг: 0 / 0
Перестало работать dddw
    #39406765
mgl_www
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локшин МаркСэкспортировать DataWindow в srd до редактирования и после и посмотреть через fc, что там изменилось
Марк, спасибо за дельный совет. Я ему последовал и сравнил распечатки "до" и "после". Правда различий я не обнаружил, но зато обратил внимание на слишком переусложнённое условие WHERE в родительском grid_dw. Я его упростил и всё заработало!
Инцидент исчерпан. Ну и хорошо, а то я уже начал сомневаться в святости РВ :-)
Однако вопрос о том, почему это раньше работало, а проблемы появились после расширения приложения остался открытым.
...
Рейтинг: 0 / 0
Перестало работать dddw
    #39406891
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Встречал такое
Но так и не понял в чем дело
Переписал по-другому
Если несложно, можно условие посмотреть?
...
Рейтинг: 0 / 0
Перестало работать dddw
    #39406903
mgl_www
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spas2001Если несложно, можно условие посмотреть?

Было:

SELECT income.inc_id,
income.ent_id,
income.safe_id,
income.inc_date,
income.inc_sum,
...

FROM {oj income LEFT OUTER JOIN enterprise ON income.ent_id = enterprise.ent_id}, {oj income LEFT OUTER JOIN safe ON income.safe_id = safe.safe_id}, currency_business
WHERE ( income.inc_date >= :m_date_begin AND
income.inc_date <= :m_date_end ) AND
(income.inc_notes like :m_search OR
income.inc_article +' '+income.inc_notes like :m_search OR
enterprise.ent_name_short+safe.safe_name + safe.safe_currency+income.inc_article +income.inc_invoice_numb+income.inc_notes like :m_search OR
safe.safe_name + safe.safe_currency like :m_search OR
safe.safe_currency like :m_search) AND
safe.safe_name like :m_branch

Стало:

SELECT income.inc_id,
income.ent_id,
income.safe_id,
income.inc_date,
income.inc_sum,
...

FROM {oj income LEFT OUTER JOIN enterprise ON income.ent_id = enterprise.ent_id}, {oj income LEFT OUTER JOIN safe ON income.safe_id = safe.safe_id}, currency_business
WHERE ( income.inc_date >= :m_date_begin AND
income.inc_date <= :m_date_end ) AND
enterprise.ent_name_short+safe.safe_name + safe.safe_currency+income.inc_article +income.inc_invoice_numb+income.inc_notes like :m_search AND
safe.safe_name like :m_branch
...
Рейтинг: 0 / 0
Перестало работать dddw
    #39407298
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, не тот случай
Нехорошо, правда, использовать ANSI JOIN и non-ANSI SQL JOIN
Я бы переписал
...
Рейтинг: 0 / 0
Перестало работать dddw
    #39407702
mgl_www
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spas2001Нехорошо, правда, использовать ANSI JOIN и non-ANSI SQL JOIN
Я бы переписал
Ну, тут я не виноват. Так сделал DataWindow Painter - я ему не помогал :-)
А как бы Вы переписали?
...
Рейтинг: 0 / 0
Перестало работать dddw
    #39408241
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Явно указал бы join c currency_business
...
Рейтинг: 0 / 0
Перестало работать dddw
    #39408430
mgl_www
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spas2001Явно указал бы join c currency_business
А..., но тут особый случай: currency_business не имеет связи ни с одной из присутствующих таблиц. Это особая таблица, состоящая из одного поля и одной записи, в которой содержится константа - валюта бизнеса ("USD", например). Эта таблица включена в dw исключительно для индикации этой валюты в шапке формы.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Перестало работать dddw
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]