|
Обрбаотка нескольких документов с большим количеством реквизитов в ТЧ. | ☑ | ||
---|---|---|---|---|
0
LexaDF
04.06.14
✎
11:14
|
Добрый день. Подскажите пожалуйста по следующему вопросу: имеем 2 документа, в ТЧ каждого имеется около 25 реквизитов.Кратко: 2 Реквизита имеют тип ссылки справочника, 4 Реквизита это число, 1 Реквизит строка 500 символов, и остальные это булево. Итог: нужно сделать отчет в котором будут не значения истина/ложь, а имена колонок (реквизитов) в которых имеется истина.
Нужно как то записать в регистр данные с отклонениями и остальными типами (реквизитами например строку с комментарием 500 символов). Я создал ТЗ, загрузил в нее ТЧ документа, построчно обрабатываю значения в колонках, где есть истина , добавляю в ТЗ строку. В итоге получается не очень красиво. Если в 5 колонках есть отклонения, то это 5 строк с одинаковыми значениями кроме 1го - Имя колонки. Не знаю как оптимизировать такую задачу, добавлять регистр 50, а то и более реквизитов, другую форму документа нельзя использовать. Подскажите как оптимизировать хранение итоговых данных, или если есть пример например в УПП подскажите. Спасибо. |
|||
1
Ksandr
04.06.14
✎
11:19
|
Ну и каша. А теперь попробуй это как то формализовать:
1. Дано 2. Требуется получить 3. Выбранный способ |
|||
2
LexaDF
04.06.14
✎
13:40
|
1. Дано: 2 документа, в каждом есть Табличное поле, в каждом разнородные реквизиты. Имею тип булево, ссылка (справочники), число. Заполняются документ довольно тупо, выбирается номенклатура, и по всем реквизитам у которых есть Булево указываются отклонения, в итоге ставится кол-во проверенных образцов и комментарий.
2. Как выяснилось в конце дали форму отчета. В Котором необходимо указывать номенклатуру и имена колонок в которых были отклонения.Кол-во образцов, комментарий и еще что бы была статистика за период. 3. Выбрал способ при проводке Загружаю в ТЗ табличную часть, и делаю обход по каждой строке: Для каждого Строка из ТЗ Цикл Для каждого Колонка из Тз.Колонка Цикл и добавляю имена колонок с отклонениями в ТЗ. Потом собираюсь эту ТЗ записать в регистр (еще не определился в какой). Во общем мне кажется мой подход в корне не правильный, но и правильный найти не могу. В ТЗ получается Есть колонка Номенклатура , отклонение, комментарий и т.д. Получается что сколько отклонений в колонках столько и строк в ТЗ что в свою очередь ведет к однородности колонок Номенклатура комментарий.Лишние данные записывать не хочу. Не хватает опыта организовать как-то правильно структуру обработки документа и последующей записи, вроде и задача не сложная, но с постоянными дополнениями задачи получилась хрень :( Спасибо. |
|||
3
Enders
04.06.14
✎
13:50
|
Явно какая-то хрень. А если у одной номенклатуры отклонений больше чем у другой, то будут пустые колонки.
И у тебя будет так Ном1 НазвОткл1 КолВоОткл1 НазвОткл2 КолВоОткл2 Ном2 НазвОткл2 КолВоОткл2 Ном3 НазвОткл3 КолВоОткл3 НазвОткл1 КолВоОткл1 Не правильнее сделать стандартно, а то и для анализа не очень удобно, ведь в одной и той же колонке могут быть разные отклонения. А ведь захотят увидеть какой-нить итог по отклонению "НазвОткл1" и как в этой чудо форме его получить?) |
|||
4
Ksandr
04.06.14
✎
13:54
|
Правильно понял, что нужен отчет вида:
Название отклонения Ном1 Количество откл. |
|||
5
LexaDF
04.06.14
✎
14:34
|
(3) В ТЗ выглядит так:
Ном1 Откл1 Ком1 Ном1 Откл2 Ком1 Ном1 Откл3 Ком1 Ном1 Откл4 Ком1 Ном1 Откл5 Ком1 Вот таков вот в итоге выглядит ТЗ после обхода строки по колонкам. Далее ее можно смело запиливать в Регистр. Но это не правильно. Лишнего много. Если мы захотим снять с такои таблицы по датам отчет по количеству отклонений определенной группы, мне кажется труда не составит именно в таком виде. |
|||
6
LexaDF
04.06.14
✎
14:35
|
(4) Отчет должен иметь вид:
Наименование1 Отклонение1 Комментарий1 Наименование1 Отклонение2 Комментарий2 И так же с него надо снять количество определенных отклонений за период, по наименованию. |
|||
7
LexaDF
04.06.14
✎
16:08
|
Проблема в том что если делать отбор (а его делать придется) в отчете, по сути все имеет кроме номенклатуры строковый тип. Во общем какая то объемная и тормазнутая хреновица будет.
|
|||
8
Kamas
04.06.14
✎
16:57
|
можно
1) обойтись без регистра только зачем 2) можно сделать Отклонение - пвх 3) можно посмотреть как в типовых сделаны доп реквизиты к объектам мне кажется задача очень похожа |
|||
9
vmv
04.06.14
✎
17:05
|
получить запросом (5)
куда и как сохранить для формирования отчетов зависит только от степени извращенности спеца |
|||
10
vmv
04.06.14
✎
17:06
|
ах да отчет на СКД, ибо остальные варианты профанство
|
|||
11
LexaDF
04.06.14
✎
17:11
|
(8)1) Большие таблицы, при формировании отчета за месяц или за пол года мне кажется тормазить будет дико. И Опять же в отчете придется каждый документ, каждую ТЧ, обрабатывать. Получать колонки со значением истина, имена...может ошибаюсь.
2)можно попробовать 3) Можно пример, если вы знайте не что похожее. У меня есть УПП, УТ, Бух, ЗуП. (9)Да, отличная идея. Начал делать и понял что не получается реализовать толково 1 вещь, про которую не писал. Что в Табличной части у колонок есть градуировочная колонка, по ней нужно делать отбор. И в отчете групповая колонка должна участвовать. Запрос отпал у меня на этом моменте возможно и зря. (10) Для меня нет значения СКД или так макет настрогать. |
|||
12
Kamas
04.06.14
✎
17:23
|
(11) без регистра можно свернуть таблицу и хранить точно в такой же записи как (6) в ТЧ .Хотя как я уже писал особого смысла нет можно и в регистре(а если этот документ нужен только ради этой табличной части то можно ваще Заменить документ на обработку и хранить данный в периодическом Р.С). При открытии программно формировать то что видит пользователь. (ИЗ плюсов можно выделить то что отклонения можно будет добавлять из ПВХ пользователю самому Хоть 200 хоть 500)
|
|||
13
Segate
04.06.14
✎
17:53
|
а нельзя в запросе одну тч объеденить с другой по полному соединению и по <> и все что осталось в результате запроса - и есть строки с изменениями... как то так
|
|||
14
LexaDF
05.06.14
✎
08:39
|
(12) Из-за ПВХ придется все переделывать. Но во общем суть уяснил, спасибо вам.
Всем спасибо. Буду думать :/ |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |