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

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

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

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

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

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

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

Помогите с отчетом

Автор F0bo$, 12.09.11, 15:25:36

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

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

F0bo$

Добрый день!
Моя цель - вывести номера операций техпроцесса в ряд, на первом листе 7 шт, на последующих по 10. Способ я, кажется, нашел, но результат нестабилен - строки начинают скакать где-то с 3-4

Как я делал - создал глобальные переменные в Правка -- Параметры формирователя -- Глобальные функции:

  xx = 0.0
yy = 0.0
count = 0


Затем добавил на форму 2 класса operations с атрибутом indexoper (для первого и последующих листов).
Потом изменил функции "До вставки" класса и "Функция" у атрибута (см. комментарии к ним).

Результат - используйте этот отчет на техпроцессе с более чем 40 функциями - строки начинают скакать.

Что у меня не так? Может, если какой-нить другой способ сделать так, как я хочу? Заранее благодарен

tur

Какая Вертикаль?

Выложите пример  отчета (на карте), что у Вас получилось в результате действий или того что требуется получить.

Цитата: F0bo$ от 12.09.11, 15:25:36
........................
Результат - используйте этот отчет на техпроцессе с более чем 40 функциями - строки начинают скакать.
.........

Это вообще непонятно, может операций?

teplinskiy

Цитата: F0bo$ от 12.09.11, 15:25:36
...вывести номера операций техпроцесса в ряд...
что значит в ряд?
номера должны распологаться на листе в столбик или в строчку?

Цитата: F0bo$ от 12.09.11, 15:25:36
если какой-нить другой способ сделать так, как я хочу?
есть способ сделать то, что Вы хотите без глобальных переменных и перекрытия функции "До вставки"

но, для начала, нужно понять какая у Вас версия ВЕРТИКАЛЬ и пример того, как должен выглядеть сформированный отчет.

F0bo$

Цитата: tur от 12.09.11, 17:21:51
Какая Вертикаль?
...
Это вообще непонятно, может операций?

Вертикаль V4 SP1
Да, конечно, операций, извиняюсь.

Мне нужна строчка.
Прикрепил скрины "как хочу" и "как получается". Обратите внимание на нумерацию: на втором листе все нормально (как и на третьем) на четверном - сбой.


tur

Карты для типовых реализованы стандартным функционалом.

F0bo$

#5
Наверное, Вас ввел в заблуждение гост, указанный на скринах внизу....
Просто у меня есть старый бумажный типографский вариант требуемой мне таблицы, на нем указан ГОСТ 3.1118-82, Форма 5 (скорей всего ошибка, не совпадает с описанием госта в интернете), да и в вертикали такого нет. Так что, к сожалению, стандартные формы мне не подходят.

tur

На самом деле это Вас ввел в заблуждение ГОСТ, это карта "самодельная" ГОСТ оставлен для красоты.

На карте выбирается Деталь и для этой детали выводятся все операции, каждая операция на отдельной строке, и так для каждой детали (техпроцесс типовый).

F0bo$

карта скорее всего действительно самодельная, но производству не прикажешь и надо реализовать именно такую, с перечислением операций по конкретной делали именно в одну стоку :(

teplinskiy

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

По реализации:
- таблица под номера операций - это состыкованные таблицы (7 либо 10), каждая из которых состоит всего из 1 ячейки;
- на каждую таблицу свой блок подстановок;
- в каждый блок подстановок добавлен фильтр operations и атрибут indexoper;
- у каждого атрибута indexoper перекрыта функция FillAttr, чтобы добавить "№" (для красоты как понимаю, можно не делать, либо сделать иначе - готовить таблицу из 2 ячеек между которыми нет границы, чтобы были как одно целое, а затем в левую сразу вписать текст" №", но тогда и блок подстановок для такой таблицы нужно подправить - добавить левее пустой атрибут, чтобы сдвинуть indexoper на свое место);

В итоге ни глобальных переменных, ни перкрытия не нужных функций. Реализация проста - набрасал и состыковал.

tur

Цитата: F0bo$ от 13.09.11, 12:45:51
..., но производству не прикажешь и надо реализовать именно такую....

Если не военная тайна, выложите пожалуйста ради любопытства заполненную карту.

F0bo$

Цитата: teplinskiy от 13.09.11, 16:01:44
Во вложении пример шаблона, а на рис. как можно разбить таблицы под заявленные требования.
Спасибо, сейчас буду пробовать.

2tur: смотрите вложение. Мне кроме операций в стоку и обозначения с наименованием на этих листах больше ничего и не надо...

F0bo$

Просто, как все гениальное! Спасибо  :) :) :)

Только не вижу смысла делать по таблице на каждый блок подстановок.... можно их выровнять по одной однострочной таблице.

tur

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

F0bo$

#13
да, что-то подобное, только в классическом, построчном виде.

И еще вопросик чтобы новую тему не создавать: можно ли в ячейке таблицы выставить перенос по словам? а то Наименование в ячейку одной строкой не помещается......

teplinskiy

Цитата: F0bo$ от 14.09.11, 10:37:26
...не вижу смысла делать по таблице на каждый блок подстановок.... можно их выровнять по одной однострочной таблице.
Правила таковы - на одну таблицу один блок подстановок и от этого приходится отталкиваться.
Также блок подстановок выводит информацию об объектах какого либо класса "растягивая" себя по вертикали (классический пример поведения, не говорим о программировании).
Поэтому если не программировать, то вывести атрибут какого-либо объекта удасться только в столбец. Будет у нас один блок подстановок, он отобразит все 10 номеров операций в один столбец. Будет у нас 2 блока подстоновок, тогда номера операций отобразятся в 2 столбика по 5 номеров. А будет у нас 10 блоков подстановок, тогда номера операций отобразятся в 10 столбиков по 1 номеру. И остается только эти столбики соединить в одно целое.
Не спорю, можно с помощью программирования реализовать поставленную задачу и с одним блоком подстановок и с одной таблицей. Но зачем это делать, если класический инструментарий позволяет "хитростью" решить задачу гораздо проще.

Цитата: F0bo$ от 14.09.11, 10:37:26
...можно ли в ячейке таблицы выставить перенос по словам? а то Наименование в ячейку одной строкой не помещается...
Можно и вариантов масса, но опять необходим пример того, как это выглядит на листе отчета.

F0bo$

Я понял на счет блока подстановок - их надо ставить по необходимому количеству выводимых значений.
Я имел в виду что необязательно делать множество таблиц под этими блоками, достаточно одной широкой однострочной.

Насчет выходящего значения - вывожу dseunit.namedse - длинные наименования не помещаются. ячейки таблицы переносить текст не могут, а в блоке подстановок такие вещи у меня не выводятся...

teplinskiy

Цитата: F0bo$ от 14.09.11, 13:55:19
...на счет блока подстановок - их надо ставить по необходимому количеству выводимых значений.
Не совсем так.
В Вашей задаче с выводом номеров операций это поможет, но в любой другой задаче возможно строить шаблон придется по иному.

Цитата: F0bo$ от 14.09.11, 13:55:19
Я имел в виду что необязательно делать множество таблиц под этими блоками, достаточно одной широкой однострочной.
Как и говорил ранее: правило следующее - 1 таблица под 1 блок подстановок.
Вы физически не сможете разместить блок подстановок лишь над частью таблицы, например над какой-то ячейкой таблицы, инструмент этого не позволит.
Конечно можно натянуть каждый блок подстановок на одну таблицу, но их 10. При этом блоки будут наложены друг на друга. А спозиционироваться на какой-то блок для настройки расположения атрибута, например 4 или 7, будет крайне тяжело в этой куче блоков.

Цитата: F0bo$ от 14.09.11, 13:55:19
...вывожу dseunit.namedse - длинные наименования не помещаются. ячейки таблицы переносить текст не могут, а в блоке подстановок такие вещи у меня не выводятся...
Используйте элемент панели инструментов - "Текст" (не путать с "Прямоугольником")
Во вложении пример шаблона с работой этого элемента.
Разместите его над ячейкой таблицы. Задайте класс и атрибут, который он должен выводить.
Также задайте высоту строк, которая растянет область элемента на нужную.
Функция заполнения текста перекрыта: программно подбирается высота строк и шрифт текста в зависимости от того, выходит ли текст из первоночальных размеров области элемента.