Не загружаются настройки грида
Данная проблема может возникнуть в случае создания формы из скрипта с помощью объекта Designer, если тип формы и присваиваемое имя различны, например:
set frm = Designer.CreateObject(Application, "usrf_gdv_BuyingBook", "gdv_BuyingBook")
Пояснение
Загрузка настроек гридов обычно делается в событии OnLoadSettingsAfterCreate. Это событие срабатывает во время создания формы, НО до присвоения ему указанного имени. То есть при срабатывании события форма имеет имя равное типу формы.
frm.Name = "usrf_gdv_BuyingBook"
Путь в хранилище для сохранения настроек грида строится по цепочке имен компонентов владельцев грида, в нашем случае форма является владельцем грида поэтому путь имеет вид:
\usrf_gdv_BuyingBook(Tgdv_frmG)\usrg_gsIBGrid1(TgsIBGrid)\data
И настройки грида читаются по этому пути. Но после создания форме присваивается имя "gdv_BuyingBook", и при сохранении настроек грида будет использовано уже это имя, следовательно настройки сохранятся по новому пути:
\gdv_BuyingBook(Tgdv_frmG)\usrg_gsIBGrid1(TgsIBGrid)\data
Сохраненные здесь настройки никогда не будут прочитаны.
Действия
Чтобы избежать вышеописанных проблем можно:
1) создавать форму без указания имени, тогда имя всегда будет равно типу
set frm = Designer.CreateObject(Application, "usrf_gdv_BuyingBook", "")
2) создавать форму с именем равным типу
set frm = Designer.CreateObject(Application, "usrf_gdv_BuyingBook", "usrf_gdv_BuyingBook")
См. также
Обсуждение проблемы Issue 2318.