![](/user_photo/2706_HbeT2.jpg)
- •Анненков и. В.
- •Глава 1. Это нельзя понять, это нужно запомнить.
- •IbExpert. Хранимые процедуры.
- •Скрипт.
- •Алгоритмы.
- •Журнал.
- •Глава 2. На старт. Внимание. Марш. Прежде, чем создавать объекты. Полезные советы.
- •Создадим новый справочник.
- •Создадим новый отчет.
- •Глава 3. И что у нас на финише. Или - дожить до апдейта. Это сладкое слово - апдейт.
- •Iec – дело тонкое.
- •Выгружаем отчет.
- •Выгружаем справочник.
- •Cmd, или навесим документу добротных алгоритмов.
- •Глава 4. Это как же, вашу мать, извиняюсь, понимать?
- •До свидания.
- •Процедура для выборки номеров и дат всех документов за период.
- •Объекты Avarda по закладкам.
Iec – дело тонкое.
Отдельно про выгрузку объектов конфигурации в *.iec файлы. Это процесс хитрый, его надо осознать. Выгрузка производится для выбранной конфигурации, при помощи двух буферов «Буфер элементов» и «Буфер метаданных». Есть еще «Буфер справочников», но про него можно сказать только то, что он всегда должен быть пустым. См. рис. 3.
В буфер элементов выгружаются записи XADM, а в буфер метаданных – CFG. Записи XADM обычно надо выгружать только тогда, когда Вы создали новый объект, и конфигурировали его. Такая ситуация нам встретилась при выполнении первого примера - создание справочника (111000111).
Если Вам надо выгружать конфигурационную информацию объектов, это XADM, то последовательность действий такая:
Найти нужные объекты и добавить их в буфер элементов с помощью зеленой стрелки (кнопка «Выбрать запись для экспорта»).
Проверить буфер элементов, если туда попали лишние записи, то удалить их.
Очистить буфер метаданных и буфер справочников с помощью кнопки «Очистить».
В буфер метаданных добавить нужные записи с помощью кнопки «Выборка записей». Это будет запрос к CFG. См. рис. 4.
Когда буфера сформированы, нажать кнопку «Экспорт» (см. рис. 3), и выбрать файл, в который надо выгрузить.
Если конфигурационную информацию выгружать не надо, то нужно активировать буфера, для чего добавить в буфер элементов первый попавшийся объект. Затем очистить буфер элементов. Затем выполнить к пункты 3, 4 и 5.
Небольшая тонкость, все файлы апдейта можно просматривать в блокноте, за исключением файлов *.iec, как посмотреть их? В каталоге Avarda5/Tools должна находиться утилита CheckAdm, она позволяет просматривать и немного редактировать содержимое *.iec файлов. Если у Вас ее нет, то попросите тимлидера помочь Вам ее найти.
И еще одна тонкость. Всегда выгружайте объекты конфигуратора в iec файл вместе с их ярлыками. Даже если Вы слегка изменили что-то в объекте, а ярлык не трогали, все равно выгружайте пару записей CFG – запись объекта + запись ярлыка. Почему так надо? Пожалуй я не буду это объяснять, так как Вы и сами можете догадаться, если немного подумаете об этом.
Выгружаем отчет.
Начнем с выгрузки в апдейт созданного нами отчета (ZDA_111000112 ) - это проще, так как нет конфигурационной информации и прямой выгрузки из таблиц.
Итак, по шагам:
Выгрузим в IBExpert процедуру R_ALL_DOC_PERIOD в файл rdb_111000112.sql.
Проверим rdb_111000112.sql, сначала должно идти CREATE процедуры с пустым телом, а затем ALTER ее же с заполненным телом. Если что-то не так, то подредактируем.
Допишем в конце rdb_111000112.sql строку:
EXECUTE PROCEDURE install_update('FIX_111000112', 'Создание отчета Документы за период');
Вообще-то это пишут в upd_xxxxxxxxx.sql, но, если это все, что туда надо написать, то файл upd вообще не создают.
В конфигураторе (конфигурации/системная) выгружаем записи CFG с ID=999000006, 999000007, 999000008, 999000009, 999000010, 999000011. Выгружаем их в файл cfg_111000112_sys.iec.
В reg_ver пишем две строчки:
DB410.029.034
-FIX_111000112
Это требования апдейта, как определять требования - это отдельная песня, сейчас не будем этим пока заморачиваться. Позже, при выполнении реальной задачи, обратите на это внимание. А пока напишем именно так.
Что писать в readme я не буду детально описывать, возьмите readme из примера апдейта, посмотрите как их пишут. Отмечу только, что для данного апдейта, наверно надо написать в секции «Установка» после:
Запустить update.bat Ваша_база.gdb.
строку:
Установить алгоритм «Документы за период» в меню.
С update.bat то же, что и с readme, посмотрите в примере, только отмечу, что в данном случае в нем должны быть строки:
call %exec% rdb_111000112.sql %1
call %exec% cfg_111000112_sys.iec %1
Разместим файлы апдейта в одной папке 111000112_REPORT_DOC_PERIOD. Должно получиться пять файлов:
readme.txt
req_ver
update.bat
rdb_111000112.sql
cfg_111000112_sys.iec
Вроде все, можно проверять. При накате апдейта на базу, с которой Вы еще не работали, в ней должен появиться наш отчет. Кстати, хочу Вас спросить как программист программиста, - прежде чем начинать издеваться над базой, Вы резервную копию себе сделали?