Перенос присоединенных файлов в документооборот при бесшовной интеграции

26.02.21

Функциональные - Документооборот и делопроизводство (СЭД)

Сейчас присоединенные файлы, добавленные к документу, перенести в связанный документ документооборота можно только вручную. В статье приведен программный код для решения этой задачи в ERP.

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

Наименование Файл Версия Размер
Перенос присоединенных файлов в документооборот при бесшовной интеграции:
.cfe 5,99Kb
98
.cfe 5,99Kb 98 Скачать бесплатно

После организации бесшовной интеграции ERP и Документооборота  выяснилось. что присоединенные файлы, которые добавлены к документу на стороне ERP, в связанный документ на стороне Документооборота автоматически не переносятся. Со стороны ERP "прилетает" только печатная форма.

А эти файлы нужны для принятия решения по согласованию нашими сотрудниками.

Для решения этой задачи были внесены изменения в процедуру модуля менеджера справочника ПравилаИнтеграциис1сДокументооборотом

ЗаполнитьПечатныеФормы

&После("ЗаполнитьПечатныеФормы")
Процедура УО_ФинБлок_ЗаполнитьПечатныеФормы(Источник, Файлы, Правило, ТолькоОбновление, ПомещатьВоВременноеХранилище, ИдентификаторФормы)
		
	МассивФайловЛокальный = РаботаСФайламиСлужебный.ВсеПодчиненныеФайлы(Источник);
	
	ИмяВременногоФайла = ПолучитьИмяВременногоФайла();
	
	ОбщийРазмерВложений=0;
	Для каждого ПрисоединенныйФайл из МассивФайловЛокальный Цикл
		ОбщийРазмерВложений=ОбщийРазмерВложений+ПрисоединенныйФайл.Размер;
	КонецЦикла;
	
	Если ОбщийРазмерВложений<20480000 Тогда
		Для каждого ПрисоединенныйФайл из МассивФайловЛокальный Цикл
			Если ПрисоединенныйФайл.Размер > 0 Тогда
				
				ДанныеФайла = РаботаСФайлами.ДвоичныеДанныеФайла(ПрисоединенныйФайл.Ссылка, Ложь);
				Если ДанныеФайла <> Неопределено Тогда
					ДанныеФайла.Записать(ИмяВременногоФайла);
				КонецЕсли;
				
				СтрокаФайлов = Файлы.Добавить();
				ЗаполнитьЗначенияСвойств(СтрокаФайлов,ПрисоединенныйФайл);
				
				Если ПомещатьВоВременноеХранилище Тогда
					СтрокаФайлов.АдресВременногоХранилищаФайла =
					ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(ИмяВременногоФайла), ИдентификаторФормы);
					СтрокаФайлов.ИндексКартинки = РаботаСФайламиСлужебныйКлиентСервер.
					ПолучитьИндексПиктограммыФайла(СтрокаФайлов.Расширение);
				Иначе
					СтрокаФайлов.ДвоичныеДанные = Новый ДвоичныеДанные(ИмяВременногоФайла);
				КонецЕсли;
				ИмяФайла=ПрисоединенныйФайл.Наименование;
				ИмяФайла = ОбщегоНазначенияКлиентСервер.ЗаменитьНедопустимыеСимволыВИмениФайла(ИмяФайла, " ");
				СтрокаФайлов.Наименование = ИмяФайла;
				
			КонецЕсли;
		КонецЦикла;
	КонецЕсли;
	УдалитьФайлы(ИмяВременногоФайла);
	
	
КонецПроцедуры

Сейчас это все работает на связке ERP 2.4.13.123 и ДО 2.1.27.1 , платформа 8.3.18.1208.

Ограничение по общему размеру присоединенных файлов сделано из-за ограничений веб-сервера. 

В расширении программный код, который приведен в публикации

См. также

1С:Документооборот - цена на лицензии КОРП, ПРОФ и ДГУ

Документооборот и делопроизводство (СЭД) Типовые Платформа 1С v8.3 Управленческий учет Платные (руб)

Организуйте правильный документооборот на вашем предприятии. Ведение учета и хранения документов. Управление потоками документации между подразделениями. Работа с договорами в компании. Автоматизация подготовки, согласования и подписания документов. Сократите время и объем ошибок с 1С:Документооборот!

42500 руб.

19.02.2016    106995    103    5    

84

Таймлист (1С:Совещание, Таймлист Лайт)

Документооборот и делопроизводство (СЭД) Конфигурации 1cv8

«Таймлист» – экосистема сервисов («Таймлист Лайт», «1C:Совещание», «Таймлист Recorder»), основанная на искусственном интеллекте Таймлист, который позволяет эффективно работать с легкими поручениями за счет фиксации всех важных идей при расшифровке и последующем формировании автопротокола встречи. Сервисы, в которые интегрирован ИИ, позволяют работать с задачами (поручениями), полученными из автопротокола.

10000 руб.

06.12.2023    1258    0    0    

5

SALE! 30%

Распознавание и загрузка сканов в 1С "одним нажатием": УПД, ТОРГ-12, накладные, счета, номенклатура, заказы и т.д.

Загрузка и выгрузка в Excel Документооборот и делопроизводство (СЭД) Учет документов Распознавание документов и образов Управляемые формы 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Универсальная программа для распознавания ЛЮБЫХ СКАНОВ ИЛИ ФОТО ТОВАРНЫХ ДОКУМЕНТОВ в 1С. Не требует указания параметров и предварительной настройки. Просто выбираете файл (PDF, JPG, DOC, XLS, HTML и т.д.) выбираете документ 1С и нажимаете кнопку "Распознать и загрузить".

6000 5520 руб.

04.06.2019    101358    296    173    

312

1С:Архив

Документооборот и делопроизводство (СЭД) Платформа 1С v8.3 Платные (руб)

"1С:Архив" – это универсальная система, обеспечивающая надежное долговременное хранение документов с гарантией юридической значимости на неограниченный срок. "1С:Архив" разработан на основе нормативно-правовых актов по архивному делу, поддерживает операции хранения документов – от попадания в архив до уничтожения – и не имеет ограничений на объем хранимых данных. "1С:Архив" сопровождается методологической поддержкой в виде организационных документов по хранению, входящих в состав "Комплекта нормативных документов" к "Методике управления документами и совместной работой", разработанной специалистами фирмы "1С". Использование "1С:Архива" позволяет организовать единое хранилище всех бумажных и электронных документов из разных информационных систем, вести архивный учет в соответствии с требованиями Росархива и снизить нагрузку на учетные системы. Продукт подходит для малых, средних, крупных предприятий и учреждений любых отраслей.

90000 руб.

24.10.2022    4853    4    1    

4

Легкий документооборот (+чат-бот для Telegram)

Документооборот и делопроизводство (СЭД) Мессенджеры и боты Учет документов Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия государственного учреждения 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 Платные (руб)

Расширение для согласования справочников и документов в конфигурациях "1С: Бухгалтерия 3.0", "Управление нашей фирмой", "1С ERP Управление предприятием", "Бухгалтерия государственного учреждения". Ролевая адресация, условная маршрутизация, последовательное и параллельное согласование, уведомление о новых задачах на почту, блокировка объектов в зависимости от статуса, запрет проведения в зависимости от статуса, автозапуск процессов согласования, отчеты по исполнительской дисциплине. Не требуется снятие конфигурации с поддержки. Настройка без программирования. Версия для 1cfresh.com. Сертификат 1С-Совместимо.

14900 руб.

15.11.2018    27787    25    48    

57

Групповая выгрузка и загрузка файлов XML для ЭДО в каталог по приказу №820 ФНС (для УТ 10.3/11, КА2, ERP2, БП3, УНФ, УПП1.3, Розница2.3). Поддержка маркировки. Прослеживание товаров.

Документооборот и делопроизводство (СЭД) ЭДО и ОФД Файловый обмен (TXT, XML, DBF), FTP Обмен с ГосИС Платформа 1С v8.3 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Бухгалтерский учет Платные (руб)

Групповая выгрузка файлов XML для ЭДО в каталог по приказу №820 ФНС для Контур.Диадок, СБИС и других провайдеров ЭДО. Поддержка УНФ 1.6, УНФ 3.0 Поддержка УТ 10.3, УПП 1.3 Поддержка Розница 2.3 Добавлена выгрузка непосредственно из документа

18000 руб.

15.12.2022    6423    106    25    

14

ЭДО: организация архива оригиналов первичных документов, комплексный отчет по ошибкам

Документооборот и делопроизводство (СЭД) ЭДО и ОФД Учет документов Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Мощный, единый инструмент для решения всех проблем, связанных с переходом на ЭДО. Экономит бумагу и время - организует архив оригиналов первичных документов прямо в базе 1С, в прикрепленных файлах к соответствующим документам. С помощью комплексного отчета по ошибкам в ЭДО позволяет выявить и исправить все возможные ошибки - ошибочно сопоставленные документы, не подписанные документы, подписанные, но не загруженные в 1С документы. Автоматически сопоставляет не сопоставленные между собой документы. Может работать по расписанию и присылать отчет о состоянии архива/по ошибкам на почту. Взаимодействует напрямую с сервисами Диадок/СБИС, имеет интуитивно понятный интерфейс и учитывает 3-х летний опыт 40+ клиентов.

14880 руб.

17.12.2018    44281    56    51    

71

1С:Бухгалтерия 3.0 ПРОФ + 1С:Документооборот. Модуль интеграции 1С:БП и 1С:ДО (ПРОФ или КОРП)

Обмен между базами 1C Документооборот и делопроизводство (СЭД) Учет документов Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бухгалтерский учет Платные (руб)

Бесшовная связь с 1С:Документооборот (КОРП или ПРОФ) - вот что обеспечит Вам и Вашим сотрудникам оперативный доступ и продуктивную работу с документами в учётной системе 1С на базе "1С:Бухгалтерия предприятия 3.0 ПРОФ". Интеграция позволяет экономить до 60% времени на поиск и согласование первичной документации (актов, счетов-фактур, накладных), не говоря уже о других полезных функциональных возможностях: создании и запуске бизнес-процессов, работе с электронной почтой, штрихкодировании документов и многом другом.

30000 руб.

23.05.2017    53771    34    67    

41
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. xKEEPERx 3 03.03.21 16:29 Сейчас в теме
Здравствуйте. А после присоединения возможно ли удалять эти файлы из ЕРП?
2. ВикторП 342 03.03.21 17:08 Сейчас в теме
3. Capitullo 28 30.03.21 12:32 Сейчас в теме
А если файл был изменен со стороны ERP, в ДО он не изменится? Создаются полные копии файлов в двух базах но связи между ними нет?
4. ВикторП 342 30.03.21 13:32 Сейчас в теме
Код Вы же видите, этого нет, файлы передаются для запуска бизнес- процесса на стороне ДО с присоединенными файлами.
5. JBoy 2 31.08.21 07:55 Сейчас в теме
Возникла проблема увеличения размера базы (сужу по размеру dt) c 4-5 ГБ разрослась до 22 ГБ. Файлы в ERP хранятся в томах на диске (не в базе). Никак не могу найти причину этого, что надо почистить
6. ВикторП 342 31.08.21 09:13 Сейчас в теме
Присоединенные файлы тут ни при чем
7. JBoy 2 31.08.21 09:24 Сейчас в теме
тогда в чем может быть дело? рост базы связываю с включением этой доработки. Сейчас отключил, буду наблюдать
8. ВикторП 342 31.08.21 12:43 Сейчас в теме
Смотрите по таблицам, может банально версионирование
9. JBoy 2 31.08.21 13:55 Сейчас в теме
не может. объем хранимых версий объектов всего 0.07 Мб. за сутки обьем дт увеличился на 600 Мб. При загрузке выгруженной дт вылетает ошибка
Прикрепленные файлы:
10. JBoy 2 03.09.21 08:23 Сейчас в теме
Вот результаты наблюдений. выгрузки 27.08 и 30.08 доработка была включена, 31.08 в обед ее выключил( закомментировал )1.09 и 3.09 выгрузки базы уже без работающей доработки. Осталось разобраться что за мусор в базе, как его удалить и что поправить в коде, ибо доработка очень нужная
Прикрепленные файлы:
11. JBoy 2 09.09.21 08:25 Сейчас в теме
Разобрался с мусором - накопилось много записей регистра ОчередьСообщенийВ1СДокументооборот. Удалял проблемные, потихоньку вся очередь очистилась. Размер базы стал нормальный. Но вскоре возникла другая проблема - регламентное задание по обмену с документооборотом завершается с ошибкой:
{Расширение_ER Справочник.ПравилаИнтеграцииС1СДокументооборотом.МодульМенеджера(32)}: Ошибка при вызове конструктора (ДвоичныеДанные)
по причине:

по причине:
Файл не обнаружен '/tmp/v8_xPBdof_4cf.tmp'
12. ВикторП 342 09.09.21 09:04 Сейчас в теме
Я сразу написал, что присоединенные файлы тут ни при чем ;)
13. JBoy 2 09.09.21 09:19 Сейчас в теме
(12)отчасти. У регистра ОчередьСообщенийВ1СДокументооборот есть ресурс Данные, тип ХранилищеЗначений Есть смутное подозрение что именно туда и попадают данные присоединенных файлов при передаче в ДО
14. JBoy 2 09.09.21 09:21 Сейчас в теме
Баг из (11) тоже пофиксил - в присоединенных файлах обнаружился мусор, немного доработал код
Если ДанныеФайла <> Неопределено Тогда
ДанныеФайла.Записать(ИмяВременногоФайла);
Иначе
Продолжить; //Файл кривой, переходим к следующему
КонецЕсли;
15. ВикторП 342 09.09.21 09:26 Сейчас в теме
Да, это хорошо. У себя тоже изменю
16. UgoChaka 14.09.21 17:32 Сейчас в теме
А обратно из документооборота можно пригнать файл после завершения процесса?
18. UgoChaka 15.09.21 14:11 Сейчас в теме
это сообщение не сюда и оно не удаляется...
17. ВикторП 342 14.09.21 18:03 Сейчас в теме
19. UgoChaka 15.09.21 14:13 Сейчас в теме
20. UgoChaka 21.09.21 12:31 Сейчас в теме
(17) Спасибо, уже не актуально. Придумал более удобный способ редактировать один файл и в ERP и в Документообороте
21. user1668811 23.09.21 09:57 Сейчас в теме
(20) Поделитесь? Тоже пытаюсь решить эту проблему в КА, не совсем устраивает вариант дублирования файлов в разных базах
24. UgoChaka 28.01.22 10:44 Сейчас в теме
(21) Кароче. В ERP делаем хранение файлов в ДО. Соответственно файлы к документу(ну или что там) добавляем через вкладку Документооборот. Теперь файл в ДО. Это значит раз. Если прикрепить теперь этот файл к объекту ДО как файл, то будет вторая копия, а это исключает совместную работу с ним. Поэтому (а файл у нас, напомню, в ДО уже) нужно добавлять связь. Это два. Файл будет на вкладке "Связи" (я просто переименовал в "Файлы", ибо пользователи такие пользователи, а ничего другого там не предполагается) и теперь и ДО и ERP смотрят на один объект. При изменении будет меняться и там и там. Вот такая схема через то самое место. 1С без работы не оставит.
Связь добавляем программно при создании объекта ДО или где нравится, в ДО для данного объекта в настройках связи нужно добавить связь с типом "Содержит ссылку на" и ссылка на "Файл".
vit00lya; user1668811; +2 Ответить
22. M_I_V_91 19.01.22 22:04 Сейчас в теме
Спасибо, чуток подогнал под свою буху, но в целом БСП та же, так что стала норм, сэкономил несколько часов работы, высплюсь хоть)))
23. ВикторП 342 20.01.22 09:38 Сейчас в теме
Я рад, что помог. Потом мне кто-то поможет )
25. user1175436 25 09.02.22 14:27 Сейчас в теме
Добрый день, коллеги!

возможно подскажите как массово указать соответствия документов из 1С БП внутренним документам в 1С ДО ?
вручную делать долго, как обработкой/ в каком месте в коде 1С можно покопать?
26. colinsn 10.03.22 15:44 Сейчас в теме
Добрый день. Использовали этот код. Файлы успешно передаются из ЕРП в ДО. Но столкнулись с проблемой. Если пользователи после обмена удаляют присоединенные файлы в ЕРП и добавляют новые, то в документообороте файлы не помечаются на удаление, но добавляются новые. Подскажите, как можно передавать отметку удаления файла?
27. Zircool 190 04.10.23 23:26 Сейчас в теме
На релизе ERP 2.5.12.99 перестала работать функция. Решается проблема следующим образом. Добавлены 2 процедуры
Процедура _нц_ПрисоединитьФайлыИзДокумента(Источник, Форма)
	
	Если ТипЗнч(Источник) = Тип("ДокументСсылка.ЗаявкаНаРасходованиеДенежныхСредств") Тогда 
		МассивФайловЛокальный = РаботаСФайламиСлужебный.ПрисоединенныеФайлыКОбъекту(Источник, Истина);
			Для Каждого ПрисоединенныйФайл Из МассивФайловЛокальный Цикл
				Если ПрисоединенныйФайл.Размер > 0 Тогда   
					
						СтрокаФайлов = Форма.Файлы.Добавить();  
						СтрокаФайлов.АдресВременногоХранилищаФайла = ПоместитьВоВременноеХранилище(РаботаСФайлами.ДвоичныеДанныеФайла(ПрисоединенныйФайл.Ссылка, Ложь),Форма.УникальныйИдентификатор);
						СтрокаФайлов.Наименование = ПрисоединенныйФайл.Наименование;
						СтрокаФайлов.Расширение = ПрисоединенныйФайл.Расширение;
						СтрокаФайлов.ИндексКартинки =
							ИнтеграцияС1СДокументооборотБазоваяФункциональность.ИндексПиктограммыФайла(
								ПрисоединенныйФайл.Расширение);
						СтрокаФайлов.ДатаСоздания = ТекущаяДатаСеанса();
						СтрокаФайлов.ДатаМодификацииУниверсальная = ТекущаяДатаСеанса();
						СтрокаФайлов.Размер = ПрисоединенныйФайл.Размер;
						СтрокаФайлов.НомерКартинкиПодписанЗашифрован = -1;  									
				КонецЕсли;
			КонецЦикла;
	КонецЕсли;	
	
КонецПроцедуры  

//Используется при запуске процесса
Функция _нц_ПрисоединитьФайлыИзДокументаПоПравилу(Источник,КонтрольОтправкиФайлов,ТолькоОбновление,ИдентификаторФормы = Неопределено) 
	
	Результат = Новый Массив;

	Если ТипЗнч(Источник) = Тип("ДокументСсылка.ЗаявкаНаРасходованиеДенежныхСредств") Тогда 
		МассивФайловЛокальный = РаботаСФайламиСлужебный.ПрисоединенныеФайлыКОбъекту(Источник, Истина);
			
		Для Каждого ПрисоединенныйФайл Из МассивФайловЛокальный Цикл
			Если ПрисоединенныйФайл.Размер > 0 Тогда
				ИмяВременногоФайла = ПолучитьИмяВременногоФайла();    
				Если ТолькоОбновление
						И РегистрыСведений.КонтрольОтправкиФайловВ1СДокументооборот.ФайлУжеОтправлен(
							Источник, ПрисоединенныйФайл.Наименование, ПрисоединенныйФайл.ВерсияДанных) Тогда
					Продолжить;
				ИначеЕсли КонтрольОтправкиФайлов <> Неопределено Тогда
					НоваяСтрока = КонтрольОтправкиФайлов.Добавить();
					НоваяСтрока.Источник = Источник;
					НоваяСтрока.ИмяФайла = ПрисоединенныйФайл.Наименование;
					НоваяСтрока.ТабличныйДокумент = ПрисоединенныйФайл.ВерсияДанных;
				Иначе
					РегистрыСведений.КонтрольОтправкиФайловВ1СДокументооборот.СохранитьХешСуммуВерсииФайла(
						Источник,
						ПрисоединенныйФайл.Наименование,
						ПрисоединенныйФайл.ВерсияДанных);
				КонецЕсли; 
					
				ДанныеФайла = РаботаСФайлами.ДвоичныеДанныеФайла(ПрисоединенныйФайл.Ссылка, Ложь);
				Если ДанныеФайла <> Неопределено Тогда
					ДанныеФайла.Записать(ИмяВременногоФайла);
				КонецЕсли;

					
				Файл = Новый Файл(ИмяВременногоФайла);
				
				ТекущийФайл = ИнтеграцияС1СДокументооборотБазоваяФункциональностьКлиентСер­вер.ДанныеФайла(
					ПрисоединенныйФайл.Наименование,
					Неопределено,
					"DMFile",
					ПрисоединенныйФайл.Расширение,
					Неопределено);
				ТекущийФайл.Размер = Файл.Размер();
				ТекущийФайл.ДатаМодификации = Файл.ПолучитьВремяИзменения();
				ТекущийФайл.ДатаМодификацииУниверсальная = Файл.ПолучитьУниверсальноеВремяИзменения();
				
				ПараметрыСозданияФайла =
					ИнтеграцияС1СДокументооборотБазоваяФункциональностьКлиентСер­вер.НовыеПараметрыСозданияФайла(ТекущийФайл);
				ПараметрыСозданияФайла.АдресВременногоХранилищаФайла = ПоместитьВоВременноеХранилище(
					Новый ДвоичныеДанные(ИмяВременногоФайла),
					ИдентификаторФормы);
				ПараметрыСозданияФайла.Владелец = Источник;

				Результат.Добавить(ПараметрыСозданияФайла);
				
				Файл = Неопределено;
				УдалитьФайлы(ИмяВременногоФайла);	
					
	
			КонецЕсли;
		КонецЦикла;
	КонецЕсли; 
	
	Возврат Результат;
	
КонецФункции

Показать


Первая процедура добавляется в конце процедуры ЗаполнитьФормуОбъектаДОПоПравилу, вторая в конце процедуры ЗаполнитьСтруктуруРеквизитовОбъектаДОПоПравилу
vit00lya; +1 Ответить
28. ВикторП 342 05.10.23 09:42 Сейчас в теме
29. Christina_Nosik 10.01.24 16:30 Сейчас в теме
Коллеги, привет!

Читаю ИТС:
Команда «ИнтеграцияС1СДокументооборотПрисоединенныеФайлы»
Тип параметра этой команды определяет, для каких объектов интегрируемой конфигурации будет доступен список присоединенных файлов, хранящихся в «1С:Документообороте». Добавьте нужные объекты метаданных в состав типов параметра команды, и в их панели навигации появится команда Файлы

Делаю:
У меня:
Версия БИД - 3.0.2.5
Интеграция ERP 2.5 - ДО 3.0

Ищем в интегрируемой системе общую команду "ИнтеграцияС1СДокументооборотПрисоединенныеФайлы" и корректируем тип параметра, указываем документ/справочник, который хотим заинтегрировать в части файлов.
Вуаля! Все получилось.
При этой реализации файлы добавляются и хранятся на стороне Документооборота.
Оставьте свое сообщение