IE 2017

Объединение документов

Обработки - Свертка базы

Универсальное объединение нескольких (одного вида) документов в итоговый:

- выбор документа-основания для заполнения шапки
- суммирование итогов по числовым реквизитам шапки
- объединение табличной части.
- свертка табличной части, вычисляемые пересчитываемые колонки (цена, например)
- заполнение колонок табличной части, не участвующих в свертке.
Обработка "Объединение документов"

Обработка создает итоговый документ, объединяющий в себе несколько документов
одного вида:
заполнение шапки документа на основании заданного,
суммирование итогов по числовым реквизитам шапки (например, СуммаВзаиморасчетов),
объединение и свертка заданных числовых реквизитов (Количество, Сумма) по заданным реквизитам-группировкам (Номенклатура) в табличной части,
автозаполнение и вычисление оставшихся данных табличной части (Цена)

Основные моменты:
- Задается вид документа. Если раньше пользователь настраивал обработку для данного вида, прежняя настройка восстановится.
- Подбор документов для объединения в список значений из предложенных журналов и отметка документа-основания для реквизитов шапки итогового
- Задаются поля группировки свертки табличной части, отмечаются числовые поля для суммирования.
- Вычисляемые поля задаются прямым кодом в текстовом поле, поэтому оно доступно только при отключении контроля прав доступа, по идее, настраивается 1с-ником в соответствии с конфигурацией
- Все остальные, не свертываемые реквизиты табличной части заполняются первым непустым значением.
- Отмечаются суммируемые поля шапки объединяемых документов.
- Возможность посмотреть структуру документа, названия, тип, вид реквизитов (для предыдущего пункта)
- Открытие записанного документа с заполненной табличной частью.

Изменения от 12.04.2007

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

Изменения от 04.04.2007

- Исправлен подбор документов, в список журналов для подбора добавлены все общие журналы.

Изменения от 15.03.2007

- Исправлена кнопка "открыть в журнале" - не работало при отсутствии компоненты "Бухгалтерский учет"
(Метаданные.ДокументОперации.Идентификатор)

Изменения от 12.03.2007

- Сделал недоступным открытие нового документа. Недоступен и предустановлен только переключатель на форме, код остался рабочим.
- Возможность пометки на удаление объединяемых документов
- кнопка "открыть в журнале..."
- вычисление полей сделано в контексте документа (т.е. доступны ф-ции глобального модуля при пересчете табл. части, оперирующие документом в целом)
- вычисление полей можно делать / не делать при простом объединении ТЧ, без свертки
- сохранение настроек сделано единое для всех пользователей

Скачать файлы

Наименование Файл Версия Размер
DocUnion.zip
.1173652098 22,92Kb
25.09.09
506
.1173652098 22,92Kb 506 Скачать

См. также

Комментарии
1. Сhe Burashka (CheBurator) 12.03.07 01:47 Сейчас в теме
а пересчет, например, суммы взаиморасчетов...? фурычит? ;-)
2. Сhe Burashka (CheBurator) 12.03.07 01:49 Сейчас в теме
у меня есть похожая мелочевочка, попроще возможностями...
http://infostart.ru/projects/267/?ref=174
есть возможность, например, настроил один раз схему объединения "реализаций" - и автоматом можно применить следующий раз...?
3. Михаил Семенов (Shaman100M) 1180 12.03.07 01:59 Сейчас в теме
Сумму взаиморасчетов фурычит.
Сохранение настроек - автоматом. Потом только документы подбирай.
ссылку посмотрим
4. Сhe Burashka (CheBurator) 12.03.07 02:16 Сейчас в теме
О, если так - посмотрим!
1. В объединенных доках ТЧ "сворачивается"?
2. При "свертке" - партии сворачиваются корректно?
3. Поддерживает пометку на удаление объединенных-ненужных?
4. Поддерживает замену партий (ссылок)? например, если объединяется нескольо поступлений ТМЦ - в доках движения, где партии указаны явно - произвести подмену ссылок на партии поступления при необходимотси?
5. Сhe Burashka (CheBurator) 12.03.07 03:52 Сейчас в теме
Нифига навскидку не понял, для чего эмулируем f9...?
6. Сhe Burashka (CheBurator) 12.03.07 03:53 Сейчас в теме
Проводится ли пересчет данных при объединении доков с разными значениями шапок (ндс внутри, сверху, например?)
7. Михаил Семенов (Shaman100M) 1180 12.03.07 09:28 Сейчас в теме
Да там все написано.

F9 - это просто способ открыть новый документ с заполненной ТЧ (лучше открывать сохраненный, т.к. в ВводНового() возможно присвоение значений по умолчанию)

ТЧ может сворачиваться, если указаны поля группировки или поля суммирования. В противном случае - просто объединение ТЧ объединяемых документов.

Чтобы партии при свертке корректно сворачивались, необходимо задать две группировки : "Номенклатура" и "Партия"

Пометки на удаление объединяемых документов нет, но это можно сделать. Просто факт необходимости удаления неявен. Раньше была галочка.

Замена партий (ссылок) происходит неявно. Для этого группировку указать только "Номенклатура". После свертки ТЧ заполнение партий будет происходить по принципу: перебор всех значений "Партия" для данной "Номенклатуры" и заполнение первого из них не пустого.

"Пересчет данных при объединении доков с разными значениями шапок (ндс внутри, сверху, например?)" это уже пахнет шаманством, однако, и это решаемо. "Вычисляемые поля", - задавай пересчет такой, какой нужен. Недостаток в моем решении - обрабатывается предварительная "ТЗ". по идее, здесь можно обрабатывать уже сформированный документ с корректным вызовом функций глобального модуля. Это подумаю. И будет полноценный пересчет.
8. Сhe Burashka (CheBurator) 12.03.07 11:55 Сейчас в теме
> F9 - это просто способ открыть новый документ с заполненной ТЧ (лучше открывать сохраненный, т.к. в ВводНового() возможно присвоение значений по умолчанию)
..ниче не понимаю...
ну вот есть у тебя новый документ сформированный, записанный.. открыть его по ОткрытьФорму() - нельзя...?
9. Михаил Семенов (Shaman100M) 1180 12.03.07 12:37 Сейчас в теме
можно, просто кому как нравится.
10. Сhe Burashka (CheBurator) 12.03.07 13:48 Сейчас в теме
ну ты великий шаман, однако...
11. cs25 (cs25) 80 12.03.07 22:07 Сейчас в теме
Shamanу спасибо !!! Бывает надобность в таких Шаманстких ert-шках !!! Плюсуем !!!
12. GENDALF (Gendalf) 19.03.07 19:54 Сейчас в теме
Хы, за идею точно +1... действительно что-то шаманское в это есть :)
13. Михаил Семенов (Shaman100M) 1180 20.03.07 09:19 Сейчас в теме
14. Михаил Семенов (Shaman100M) 1180 12.04.07 15:03 Сейчас в теме
исправил косячок,
добавил реальную возможность - предварительное приведение табличной части объединяемых документов, например, для колонки "Количество", - перед ее сверткой по всем документам проконтролировать и умножить на Коэффициент (естественно, без сохранения).
15. YARA (YARA) 28.02.08 16:27 Сейчас в теме
Ни дать, ни взять - ШАМАН !!!
16. Антон (tosha) 13.03.08 15:08 Сейчас в теме
а нет такого же но под восьмерочку?
17. Khaliff (Khaliff) 2 16.12.08 22:54 Сейчас в теме
при запуске выдает:
Док.ДатаДок = Док3.ДатаДок;
{F:\PROG_USER\1C\DEMO_081\EXTFORMS\DOCUNION.ERT(799)}: Значение не представляет агрегатный объект (ДатаДок)

комплексная 7.7
18. Михаил Семенов (Shaman100M) 1180 19.12.08 10:02 Сейчас в теме
Спасибо. Это логическая ошибка определения документа для копирования шапки, - исправил. В случае (17): либо поля группировки по свертке ТЧ не заданы, либо реквизиты ТЧ для суммирования, - табличная часть просто объединяется, без свертки.
19. Виталий Тулинцев (neobagz) 12.04.10 15:31 Сейчас в теме
при объединении 3 доков выдает

Если Таб1.ПолучитьЗначение(М3,"Поиск_Поле121") <> ПоиПо Тогда
{D:\ОСТАТКИ\ВИТ_ОБРАБОТКИ\DOCUNION.ERT(762)}: Номер за пределами значения!

можешь подсказать в чем причина?
pixelhead; +1 Ответить
20. Михаил Семенов (Shaman100M) 1180 12.04.10 16:56 Сейчас в теме
Данная строка в текущей версии обработки - 774. Обнови ее. Возможно, в текущей версии проблема решена.
pixelhead; +1 Ответить
21. Юрий Горбунов (pixelhead) 15.04.10 17:37 Сейчас в теме
при объединении 3 доков выдает

Если Таб1.ПолучитьЗначение(М3,"Поиск_Поле121") <> ПоиПо Тогда
{D:\ОСТАТКИ\ВИТ_ОБРАБОТКИ\DOCUNION.ERT(774)}: Номер за пределами значения!

Тоже самое что и в 19 комменте только номер строки 774. Что делать?
22. Михаил Семенов (Shaman100M) 1180 16.04.10 08:22 Сейчас в теме
(21) если не трудно, прикрепи скриншот обработки с параметрами
23. Юрий Горбунов (pixelhead) 16.04.10 08:35 Сейчас в теме
Скриншот во вложении. Уже со всеми параметрами пробовал. Все рано ошибка выходит.
Прикрепленные файлы:
24. Михаил Семенов (Shaman100M) 1180 16.04.10 09:05 Сейчас в теме
(23) хм... либо сворачивать по реквизиту "Цена", либо суммировать его (однако, смысла суммировать цену нет вообще - снять галку). С "Ценой" можно поступить: а) как указано на скринах, - добавить в Вычисляемое поле строку (оно доступно только для пользователя с галкой "Отключить контроль прав") Док.Цена = Док.Сумма / Док.Количество; б) не сворачивать по цене, - в этом случае в строку документа встанет первое значение цены, встретившееся для совокупности сворачиваемых реквизитов, проще говоря, цена товара из первого документа.

Включить видимость текста вычисляемых полей - заремарить 978 строку.
Прикрепленные файлы:
26. Y.Tz Цыганков (Y.Tz) 04.05.10 13:32 Сейчас в теме
Класс! Подскажите: Как организовать в ТЧ результирующего документа добавление графы с информацией из шапок объединяемых документов (например, дата документа). Пример: у нас всего одно наименование номенклатуры - Трансп.услуги. Дата услуг в ТЧ берется из шапки документа. При объединении доков все даты записываются из помеченного документа с шапкой. Вложение: Скриншот результата объединения 5 документов.
Прикрепленные файлы:
27. Михаил Семенов (Shaman100M) 1180 04.05.10 17:40 Сейчас в теме
(26) Привести объединяемые документы к виду, в котором их обработка объединит, т.е. если я правильно понял - в объединяемых документах есть та же колонка, - заполнить ее датой родного документа, а при объединении указать эту колонку в полях группировки.
28. Y.Tz Цыганков (Y.Tz) 04.05.10 20:21 Сейчас в теме
Так точно и делал, да указать колонку не могу, т.к. ее нет при выборе. Кстати как обнулить поля группировки? Я не просёк. Требуется простое объединение, когда все строки в ТЧ объединяемых доков просто переносятся в результирующий со всеми своими клетками. Все переносится как надо, а клетка Дата (та которая из шапки родного дока) не хочет, потому, что заполняется по образцу документа - прообраза шапки. Чего делать? Спасибо.
29. Михаил Семенов (Shaman100M) 1180 05.05.10 09:41 Сейчас в теме
"нет при выборе" - значит, ее нет в табличной части документа. Возможно ли ее в таком случае заполнить?
30. Михаил Семенов (Shaman100M) 1180 05.05.10 09:42 Сейчас в теме
+ (29) "Требуется простое объединение" , - для этого все три поля свертки д.б. пустыми.
31. Александр (karbofos) 06.10.11 09:50 Сейчас в теме
Мой бух пользует эту обработку до сих пор. Для нее это актуально. Автору большое спасибо. Самому просто лень было заморачиваться.
32. SAshock 28.12.11 11:36 Сейчас в теме
большое спасибо за труды, очень пригодилась в работе
33. Э. Лукманов (erthia) 10.02.14 06:16 Сейчас в теме
При попытке объединения 4 документов пишет "Не удалось записать итоговый документ". Связано ли это с тем, что автонумерация нарушена?
35. Михаил Семенов (Shaman100M) 1180 10.03.14 15:28 Сейчас в теме
(33) да, это может быть. Установите рабочую дату (сервис - параметры) в периоде нумерации, в котором находился первый документ объединения, затем попробуйте создать новый документ этого вида и сохранить его.
Оставьте свое сообщение