• Добро пожаловать на Форум пользователей ПО АСКОН. Пожалуйста, авторизуйтесь.
 

Уважаемые пользователи,

Хотим проинформировать вас о режиме работы регистрации на нашем сайте.

Зарегистрироваться возможно в рабочие дни, с 8:00 до 20:00 (мск).

Если у вас возникнут вопросы или потребуется дополнительная информация, не стесняйтесь обращаться к нашей службе поддержки. Вы можете связаться с нами по указанным контактным данным на нашем сайте.

Благодарим вас за понимание и сотрудничество. Мы ценим ваше терпение и стремимся предоставить вам лучший опыт использования нашего сервиса.

С уважением,
Команда Ascon

Создание шаблона карты, состоящий из четырех различных "штампов"

Автор CherryMan, 22.01.16, 08:08:50

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

CherryMan

Добрый день, коллеги!

Подскажите  или поделитесь опытом, пожалуйста!
Требуется создать шаблон карты "Технологический паспорт", состоящий из штампа первого листа, штампа последующих листов и двух различных штампов, которые идут последними двумя листами в документе. Например, техпаспорт состоит из одного "первого" листа, 2-3 "последующих" листов, и в конце документа добавляются два листа (допустим для замечаний ОТК и заказчика). Требуется чтобы сквозная нумерация внутри документа сохранялась.
На данный момент реализовано следующим образом: имеется шаблон для техпаспорта, состоящий из двух листов, а такж же два шаблона для каждого из (ОТК и ПЗ). минус в том, что технологу приходится формировать отчет, править руками нумерацию листов в ТП и птом вручную прикреплять файл комплекта документов к объекту "Архив техпроцесса" в Лоцмане.

Не могу разобраться как сказать формирователю, что после того как он (формирователь) внесет ВСЕ данные в блоки подстановок (стандартная ситуация), требуется добавить в конец документа еще два листа.

Буду весьма признателен помощи в решении данной головоловки

tur

Давайте подробнее, а то непонятно что Вы хотите сделать.
Я так понял, все штампы документов на первом листе?

По поводу нумерации, можно начинать не с первого листа а например со второго, программа это разрешает.

CherryMan

Tur< ситуация следующая. Есть комплект документов (ТЛ, МК, КК, и т.д).  В этот комплект документов, имеющий сквозную нумерацию, входит и техпаспорт. Сам техпаспорт имеет свой заглавный лист отображающий блок подстановок класса operations, последующие листы, в которые содержат ту же информацию. и в конце техпаспорта должно быть еще два листа определенной формы. Эти два последних листа техпаспорта должны иметь нумерацию техпаспотра и сквозную нумерацию комплекта документов (со сквозным номером проблем нет). Псое техпаспотра в комплекте документов могут идти другие документы, будь то КТТБ или прочие внутренние документы.

Сейчас сделано так: 4 штампа разбиты на 3 шаблона:
1 - техпаспорт "заглавный лист" и техпаспорт "последующие листы"
2 - Замечания ОТК
3 - Замечания ПЗ (ну или сейчас ВП)

Шаблон карт с замечаниями состоит лишь из пустых таблиц, в которые вписывается информация в цехе при изготовлении. Разумеется, на бумажную копию

tur

Т.е. добавить в конец документа или комплекта два (или сколько нужно) пустых листов по определённой форме?


tur

Если эти два листа всегда в конце документа, тут есть два пути или писать скрипт плюсующий два пустых листа или делать шаблон.
Если есть кому писать, то скрипт удобней будет.

CherryMan

Скрипт на какое событие привязывать?
и какая процедура присоединяет подобным образом шаблоны?

tur

У вас я так понимаю какой-то документ в комплекте идёт всегда последним, вот на последнюю строку этого документа и подвязать скрипт.
Процедура не поменяется, шаблон добавили и в нём всегда будут два последних листа пустые, но с полями по форме шаблона.
Если нужны другие поля то наверное легче будет Новый шаблон сделать.

CherryMan

БЛИИИН!!!

Всё оказалось гораздо проще. На событие завершения формирования документа DocAfterFill добавил две строчки

rptBuilder.rActiveBuild.rDstPageAdd(n)
rptBuilder.rActiveBuild.rDstPageAdd(n1)

где n и n1 - номера страниц в шаблоне

CherryMan

Главный плюс форума - это возможность выговориться, а потом самому прочитать свои слова и всё понять как делать)
+ Благодарностей: 1

CherryMan

Продолжаем тему .Вышел из отпуска и оказалось, что комплект формируется не совсем корректно.
Поскольку мы использовали событие завершения формирования ДОКУМЕНТА, то у нас выходят два листа, но на них не проставляются атрибуты ДСЕ (Обозначение, Наименование и пр.)
А это есть плохо. Посему вновь запрашиваю Вашей помощи, как вернее организовать добавление листов в конец документа, входящий в комплект документов со сквозной нумерацией.

CherryMan

Есть идея прописать
rptBuilder.rActiveBuild.rDstPageAdd(n)
rptBuilder.rActiveBuild.rDstPageAdd(n1)

не на завершение формирования документа, а на завершение заполнения блока подстановки. Но тогда возникает проблема в том, что после каждого второго листа, заполняемого данными через блок подстановок, добавляются эти два дополнительных листа.

Как бы проверить и сказать формирователю, что добавь листы (rptBuilder.rActiveBuild.rDstPageAdd(n)), только тогда когда не блок подстановки закончился, а когда данные для блока подстановки подошли к концу?

CherryMan

function PageBeforeFill(page)
  ' page - создаваемая страница
  ' -2 (выход) 0 (OK)
  PageBeforeFill = 0
   
    set root = rptBuilder.rModel.vrGetObjVector 
    set it = root.vrCreateIterator("dse",root.vrItem(0),true)
    it.vrFirst
    set obj =  it.vrGetObject

  UnMarkPrinted(obj)

end function


UnMarkPrinted(obj) - вот как то так я вышел из положения. Вроде работает, как для единичных ТП, так и для типовых

CherryMan

Это функция инициализации первого из дополнительных листов