Re: Как изменить порядок строк

nikiforov-vyacheslav писал(а):
Здравствуйте.
Такая проблема. В маршрутной карте по мехобработке по госту необходимо чтобы строка режимов резания шли после строки инструментов. В шаблоне бланка в поле заполнение состава карты меняю их местами. Он все равно их выводит в том же порядке. Набор данных, шаблон до и после прилагаю (в почте).  Как изменить порядок строк?

Re: Как изменить порядок строк

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

SELECT P5 FROM TechnoParameters_RptSheet WHERE P2=[Par1] AND P3=[Par2] AND P4='TCS_TP_PI'
Par1=2;Par2=15

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

Re: Как изменить порядок строк

Вячеслав Стёпин писал(а):
Для того, чтобы такая строка формировалась только после требуемого инструмента, нужно написать дополнительное условие во втрое служебное поле у этого шаблона.

А не подскажите какое дополнительное условие нужно написать?

Re: Как изменить порядок строк

Это зависит от того как нужно формировать строки. Напиши конкретное требование.

Re: Как изменить порядок строк

SELECT UCASE(LEFT([par1],6))='СВЕРЛО'
par1=9

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

Re: Как изменить порядок строк

Вячеслав Стёпин писал(а):
Такое условие позволит выводить строки по шаблону только для тех записей, в которых наименование номенклатурной позиции начинается со слова "сверло".

Такое условие не пойдет. Он будет вставлять режимы только после инструмента сверло. А если будет встречаться другой инструмент, например метчик, он не вставит, хотя должен. Может подскажите, к чему можно привязать условие.

Re: Как изменить порядок строк

Все зависит от того когда нужно показывать, а когда не нужно. Режимы резания указываются в параметрах у перехода, а если у перехода несколько инструментов привязано, то нужно показывать эти режимы:
а) только после конкретного инструмента
б) только после нескольких конкретных инструментов
в) после каждого инструмента
?

Re: Как изменить порядок строк

Вячеслав Стёпин писал(а):
Все зависит от того когда нужно показывать, а когда не нужно. Режимы резания указываются в параметрах у перехода, а если у перехода несколько инструментов привязано, то нужно показывать эти режимы:
а) только после конкретного инструмента
б) только после нескольких конкретных инструментов
в) после каждого инструмента
?

Нам нужно выводить режимы после всех инструментов в данном переходе.

Re: Как изменить порядок строк

Тогда дополнительного условия писать не нужно.
Для шаблона с троки с параметрами режимов резания в первом служебном поле нужно записать 5
В элементах строк в запросах вместо "...;Par2=3" написать "...;Par2=15"
Шаблон разместить после шаблона для инструмента
PS в 15-м поле указывается идентификатор текущего перехода, таким образом для каждой записи, привязанной к переходу, можно получить ид перехода, по этому ид селекты и будут доставать необходимые параметры

Re: Как изменить порядок строк

Извините, может я неправильно выразился, выводить нужно после последнего инструмента в переходе. А так если в переходе два инструмента, он выводит и после первого и после второго.

Re: Как изменить порядок строк

Для этого нужен какой-то флаг что текущий инструмент является последним в списке инструментов для текущего перехода.

Re: Как изменить порядок строк

Сделай так:
Для шаблона с троки с параметрами режимов резания в первом служебном поле нужно записать 5
Во втором служебном поле записать

SELECT IIF(LEN([Par1])=0,FALSE, CN.N) FROM (SELECT COUNT(*)=0 AS N FROM RptSheet AS TP INNER JOIN (SELECT P15 FROM RptSheet WHERE P3=[Par2]) AS PID ON (TP.P15=PID.P15) WHERE P12=5 AND P4>[Par3]) AS CN
Par1=15;Par2=3;Par3=4

В элементах строк в запросах вместо "...;Par2=3" написать "...;Par2=15"
Шаблон разместить после шаблона для инструмента

Re: Как изменить порядок строк

Все получилось, большое спасибо.
Еще небольшой вопросик по этому бланку. Не подскажите, как сделать побольше междустрочный интервал в выводе комментария, может можно вставить пустую строку между комментариями.

Re: Как изменить порядок строк

Вопрос снимается.  :D  Я добавил в десятое поле "ВставлятьПустыеПосле" и между комментариями вставляются пустые строки.