Создание новой формы отчета АДЕМ ТДМ Отчеты формируются на основе данных электронного архива, т.е. по документам, которые находятся в нем. В отчет включаются только документы, которые находятся в состоянии «Завершен». В момент формирования отчета система считывает все ТП, которые входят в указанный проект. Таким образом, дерево ТДМ начинает содержать не один ТП, а несколько и расположены они на втором уровне, т.е. все данные ТП смещены на один уровень. Т.е. Общие данные находятся на втором, операции на третьем, переходы на четвертом, оснастка на пятом. Т.е. задача разработчика отчета состоит в том, чтобы пробежаться по всем ТП, выбрать нужную информацию, и поместить ее на соответствующие бланки... При нажатии на кнопку Формирование начинает выполняться алгоритм 0005MAIN.ALP Загрузка бланков 00050001.ALP Заполнение шапки 00050027.ALP Прочие алгоритмы находятся в каталоге …AlgPrint\OTCHET Собственные алгоритмы для порядка желательно тоже сохранять в этот каталог. 1. Нарисовать формы. Для заполнения общей информации создать параграфы с соответствующими именами (см. Описание параграфов форматок стандартной поставки.doc). Для информации, не предусмотренной в данном документе можно создавать параграфы с произвольными именами. Заполнение новых параграфов необходимо произвести в алгоритме 00050027.ALP. Сохранить файлы необходимо в каталоге MAKET текущей настройки. Если параметров, которые находятся в диалогах ТП, не хватает, то необходимо отредактировать соответствующие ini файлы или создать новые. 2. Если необходимо сделать формирование отчета зависимое (т.е. формировать или нет), то для этого необходимо создать в файле otchet.ini параметр подобного типа параметра _n_vsn. А затем в алгоритме формирования отчета проверять значение данного параметра на предмет формировать или нет отчет. 3. Создать алгоритм заполнения нового отчета в каталоге AlgPrint (рекомендуется AlgPrint\OTCHET). Он будет описывать движение по дереву с ТП и сбор необходимой информации, загрузка бланков и вывод этой информации на бланки. Его необходимо вызвать в 0005MAIN.ALP 4. Загрузка бланков алгоритм 00050001.alp. В алгоритме получения отчета необходимо его вызвать. Call 1; 5. В созданном алгоритме перед вызовом алгоритма загрузки бланков необходимо проинициализировать параметры описывающие форматку… NameBlankFirst=<имя файла первого листа форматки>; NameBlankNext=<имя файла последующих листов>; TypeBlank=<тип форматки (заносится в левый нижний угол – МК, ОК и т.п.)>; StrMaketPrim=<Примечание карты – нижняя часть форматки - Ведомость технологических документов>; N_ok=<шифр карты полный>; if NameBlankFirst=<имя файла первого листа форматки> do; nTypeLineColFirst=8; //Координата вывода для литеры LengthLineFirst=270; # длина строки бланка # BeginColFirst=20; # начало строки бланка по Х# ID_LINE=''; Литера BeginRowFirst=140.5; # начало строки бланка по Y# myLimRowFirst=10; //Нижняя координата бланка (т.е. та координата при достижении которой необходимо загружать следующий бланк) enddo; else if NameBlankFirst=<имя файла последующих листов> do; nTypeLineColFirst=25.5; LengthLineFirst=167; BeginColFirst=37; ID_LINE='Г'; BeginRowFirst=241; myLimRowFirst=34; enddo; else return; HTXT=3; n_list=0; 6. В алгоритме 0005MAIN.ALP организовать вызов созданного алгоритма Call PATHALP+’<имя алгоритма>’;