Имя: Пароль:
1C
1С v8
Обрбаотка нескольких документов с большим количеством реквизитов в ТЧ.
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) Из-за ПВХ придется все переделывать. Но во общем суть уяснил, спасибо вам.

Всем спасибо. Буду думать :/
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший