|
Комбинированное поле внешнего отчета | ☑ | ||
---|---|---|---|---|
0
Len1vec
21.08.17
✎
18:09
|
Добрый день. Подскажите, пожалуйста. Есть отчет, но не могу сделать последний шаг.
Внешний отчет. Нужно вывести в отчет поле (пусть будет "ЭтоСуперМаршрут"), в котором показывается "Да", если маршруты переработки имеют строки "01;02" + "02;01". Вычисляемое поле "ЭтоКомбинированныйМаршрут" показывает "Да", если в записях маршрутов есть строки ТОЛЬКО "01;02" или "02:01", и "Нет", если записи содержат ТОЛЬКО "01;01" или "02;02". Наглядно. Нет случая, где были бы строки со значениями маршрутов "01;02" + "02;01". Только "01;01" + "01;01", "02;02" + "02;02" или "02;01" + "02;01" + "02;01". ВЫБРАТЬ СпецификацииУпрУчет.Ссылка КАК ТехКарта, СпецификацииУпрУчет.Контрагент КАК Клиент, СпецификацииУпрУчет.Владелец КАК Номенклатура, СпецификацииУпрУчетМаршрутыПереработки.МаршрутПереработки ПОМЕСТИТЬ ТехКарты ИЗ Справочник.СпецификацииУпрУчет КАК СпецификацииУпрУчет ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.СпецификацииУпрУчет.МаршрутыПереработки КАК СпецификацииУпрУчетМаршрутыПереработки ПО (СпецификацииУпрУчетМаршрутыПереработки.Ссылка = СпецификацииУпрУчет.Ссылка) И (СпецификацииУпрУчетМаршрутыПереработки.НомерСтроки = 2) ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ТехКарты.ТехКарта, ТехКарты.Клиент, ТехКарты.Номенклатура, МАКСИМУМ(ЗаказПокупателя.Ссылка) КАК ЗаказПокупателя, ТехКарты.МаршрутПереработки, ВЫБОР КОГДА ТехКарты.МаршрутПереработки ПОДОБНО "%01%" И ТехКарты.МаршрутПереработки ПОДОБНО "%02%" ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ КАК ЭтоКомбинированныйМаршрут ИЗ ТехКарты КАК ТехКарты ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПокупателя КАК ЗаказПокупателя ПО ТехКарты.Клиент = ЗаказПокупателя.Контрагент И ТехКарты.ТехКарта.Спецификация = ЗаказПокупателя.Товары.Спецификация И ТехКарты.ТехКарта.ХарактеристикаПродукции = ЗаказПокупателя.Товары.ХарактеристикаНоменклатуры И ТехКарты.ТехКарта.Владелец = ЗаказПокупателя.Товары.Номенклатура СГРУППИРОВАТЬ ПО ТехКарты.ТехКарта, ТехКарты.Клиент, ТехКарты.Номенклатура, ТехКарты.МаршрутПереработки, ВЫБОР КОГДА ТехКарты.МаршрутПереработки ПОДОБНО "%01%" И ТехКарты.МаршрутПереработки ПОДОБНО "%02%" ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ |
|||
1
Len1vec
22.08.17
✎
10:06
|
Не реально реализовать, ребят?
|
|||
2
FIXXXL
22.08.17
✎
11:41
|
(0) я ничё не понял
но посмотри в сторону условного оформления ячейки отчета |
|||
3
Len1vec
22.08.17
✎
11:54
|
(2) Есть табличная часть "МаршрутыПереработки". В ней поле - "МаршрутыПереработки" с типом "Строка". Табличная часть содержит записи, в поле "Маршруты переработки" которой записываются значения "01;02", "01;01", "02;01" или "02;02". В отчет выводится техкарта с заказом, клиентом, номенклатурой, комбинированным маршрутом (если в поле "Маршруты переработки" есть записи с 01 и 02 выводится "Да" и "Нет", если запись содержит "01;01" или "02;02") и вычисляемое поле. Вычисляемое поле, должно показывать "Да", если поля в строках различаются.
Комбинированный маршрут: 1. "02;01" 2. "02;01" Пример того, что надо реализовать (Табличная часть "Маршруты переработки"): 1. "01;01" 2. "02;01" 3. "02;02" Надеюсь, что объяснил понятливее для Вас |
|||
4
FIXXXL
22.08.17
✎
11:56
|
(3) да не хочу я вникать в Ваши маршруты
и даже не буду спрашивать зачем разрез анализа сделан строкой :) условное оформление уже посмотрели? |
|||
5
Len1vec
22.08.17
✎
11:59
|
(4) да, но эту ячейку отчета мне еще вывести надо с правильным значением :)
|
|||
6
lexasan
22.08.17
✎
13:40
|
Как вариант можно предложить считать количество строк с комбинированными маршрутами и с некомбинированными, соответственно у тебя будет таблица заказ - количество комб. - количество некомб. и по ним делать отбор. Не знаю на сколько я правильно понял задачу.
|
|||
7
Len1vec
22.08.17
✎
14:22
|
(6) пробую, пытаюсь, но пока не получается)
|
|||
8
Len1vec
22.08.17
✎
14:45
|
(6) А может количество строк комбинированных меньше, чем количество всех строк?)
|
|||
9
lexasan
22.08.17
✎
16:02
|
(8) Что получить нужно в конечном итоге? Если нужно отфильтровать только документы, где есть комбинированные маршруты, то условие будет количество комбинированных > 0.
|
|||
10
Len1vec
22.08.17
✎
16:56
|
(9) в итоге надо выводить "Да", если в строках есть И комбинированные И не комбинированные, и "Нет", если там ТОЛЬКО комбинированные или ТОЛЬКО не комбинированные.
Вычисляемое поле в СКД сделал следующим: ВЫБОР КОГДА (ВЫРАЗИТЬ(КОЛИЧЕСТВО(ВЫБОР КОГДА ТехКарты.МаршрутПереработки ПОДОБНО "%01%" И ТехКарты.МаршрутПереработки ПОДОБНО "%02%" ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ) КАК ЧИСЛО)) < (ВЫРАЗИТЬ(КОЛИЧЕСТВО(ТехКарты.МаршрутПереработки) КАК ЧИСЛО)) И (ВЫРАЗИТЬ(КОЛИЧЕСТВО(ВЫБОР КОГДА ТехКарты.МаршрутПереработки ПОДОБНО "%01%" И ТехКарты.МаршрутПереработки ПОДОБНО "%02%" ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ) КАК ЧИСЛО)) > 0 ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ Но почему-то в количество считаются заказы покупателей (в документе СпецификацииУпрУчет есть табличная часть "ЗаказПокупателя", но так же и связь с документом "ЗаказПокупателя") Комбинированные маршруты показывает нормально: ВЫБОР КОГДА ТехКарты.МаршрутПереработки ПОДОБНО "%01%" И ТехКарты.МаршрутПереработки ПОДОБНО "%02%" ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ |
|||
11
lexasan
22.08.17
✎
17:08
|
(10)
Комбинированные: ВЫБОР КОГДА ТехКарты.МаршрутПереработки ПОДОБНО "%01%" И ТехКарты.МаршрутПереработки ПОДОБНО "%02%" ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ Некомбинированные ВЫБОР КОГДА (ТехКарты.МаршрутПереработки ПОДОБНО "%01%" И НЕ ТехКарты.МаршрутПереработки ПОДОБНО "%02%") ИЛИ (ТехКарты.МаршрутПереработки ПОДОБНО "%02%" И НЕ ТехКарты.МаршрутПереработки ПОДОБНО "%01%") ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ твое поле "да/нет" = (Комбинированные И неКомбинированные) |
|||
12
FIXXXL
22.08.17
✎
17:12
|
(10) так тебе надо на документ "повесить" да/нет в зависимости от набора строк ТЧ?
сделай лучше приЗаписи документа присвоение булевого реквизита документа, там же "смотри" строки ТЧ, анализируй это будет правильно |
|||
13
Len1vec
23.08.17
✎
08:41
|
(12) если бы можно было так легко это сделать, то сделал бы)
|
|||
14
FIXXXL
23.08.17
✎
08:42
|
(13) в чем проблемс?
|
|||
15
Len1vec
23.08.17
✎
08:45
|
(11) я Вас понял. Благодарю)
Но в первой же строке недочёт обнаружил. Почему-то в ТехКарте в ТЧ "МаршрутыПереработки" есть следующие строки с полем "Маршруты переработки": 1. "02;02" 2. "02;02" 3. "01;02" 4. "01;02" В отчете выдает следующее: Комбинированный: Нет; Не комбинированный: Да; Моё поле: Нет. Почему в поле комбинированный выдал "Нет"? |
|||
16
FIXXXL
23.08.17
✎
08:49
|
(15) я бы на твоем месте описал кейс всех сочетаний и присвоил им 1 или 0, затем просуммировал бы
|
|||
17
Len1vec
23.08.17
✎
08:49
|
(14) перепроводить все документы, на которых стоит запрет на изменение, не здорово будет, я думаю. Так же идет синхронизация со сторонними программами.
|
|||
18
FIXXXL
23.08.17
✎
08:55
|
(17) Заведи РС, пиши ПриЗаписи, первоначальное заполнение - обработкой без перепроведения.
ну и документ как объект можно записать без проведения :) |
|||
19
FIXXXL
23.08.17
✎
08:56
|
(18) самый простой вариант: подписка и РС
|
|||
20
Len1vec
23.08.17
✎
09:15
|
(19) люди сказали, что им нужен внешний отчет, против них тяжело идти. Так что приходится выкручиваться как есть.
(16) Правду говорите. Ведь если будет вариант 1. "02;01" 2. "01;02", то он будет принадлежать к моему полю. |
|||
21
Len1vec
23.08.17
✎
11:30
|
Проблема в том, что почему-то считывается только первая строка в ТЧ...
|
|||
22
lexasan
23.08.17
✎
14:17
|
(21) И (СпецификацииУпрУчетМаршрутыПереработки.НомерСтроки = 2) - не из-за этого?
|
|||
23
Len1vec
23.08.17
✎
14:47
|
(22) заменил на И (СпецификацииУпрУчет.МаршрутыПереработки.НомерСтроки > 1) и самая первая карта, в которой записи
1. "02;02" 2. "02;02" 3. "01;02" 4. "01;02" продублировалась. В одной строке в поле "Комбинированные" показывает "да", а в поле "Не комбинированные" - "Нет". Во второй строке - наоборот ("Комбинированные" - "Нет", "Не комбинированные" - "Да"). Хотя группировки стоят по техкарте |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |