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

26.02.21

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

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

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

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

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

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

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

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

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

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

См. также

Бухгалтер Пользователь Руководитель проекта Платформа 1С v8.3 Управленческий учет Платные (руб)

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

48500 руб.

19.02.2016    109527    130    5    

102

Рабочее место Производство готовой продукции (работ, услуг) Перенос данных 1C Пользователь Платформа 1С v8.3 1С:Управление производственным предприятием 1С:Документооборот 1С:Комплексная автоматизация 2.х 1С:КА 1С:ДО Платные (руб)

Продукт "Интеграция с 1С:Документооборот" позволяет использовать функции программы "1С:Документооборот 8" напрямую из учетной системы (1С:УПП; 1С:КА, 1С:УТ 10.3, 1С:БГУ 1.0, 1С:ЗБУ 1.0, 1С:УПП для Казахстана и отраслевых решений, разработанных на их основе) на платформе "1С:Предприятие 8": выполнять и ставить задачи, просматривать документы, скан-копии и прочие файлы, штрих-кодировать документы отправлять письма, вести учет рабочего времени - не входя в "1С:Документооборот 8", работая в одной программе, что значительно сокращает время и делает работу более комфортной и эффективной. Продукт прошел сертификацию 1С-Совместимо

96000 руб.

11.06.2015    58068    36    20    

45

SALE! 30%

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

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

30000 руб.

23.05.2017    57469    36    68    

43

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

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

14880 руб.

17.12.2018    46189    67    61    

79

Email рассылки Взаиморасчеты Акт сверки Бухгалтер Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бухгалтерский учет Платные (руб)

Данная обработка позволяет сократить объем ручных операций, выполняемых ежемесячно бухгалтером или его помощником за счет автоматизации систематического процесса.

7800 руб.

12.02.2019    33568    27    24    

26

Печатные формы Учет документов Бухгалтер Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x Бухгалтерский учет Управленческий учет Платные (руб)

Приложение для быстрого создания макетов печатных документов, заполняемых из 1С:Предприятие, без привлечения программистов и запуска конфигуратора. Шаблон готовится в редакторе MS Word, отлично освоенном офисными служащими. Так, на подготовку нового шаблона договора купли продажи со спецификацией потребуется 25 минут. Приложение будет полезно, если Вы работаете со множеством Word-шаблонов или если Вам надо часто создавать новые шаблоны. Есть сертификат "1С: Совместимо!". Версия ПРОФ доступна в виде расширения.

2000 руб.

05.09.2017    93295    67    100    

101
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. xKEEPERx 3 03.03.21 16:29 Сейчас в теме
Здравствуйте. А после присоединения возможно ли удалять эти файлы из ЕРП?
2. ВикторП 350 03.03.21 17:08 Сейчас в теме
3. Capitullo 28 30.03.21 12:32 Сейчас в теме
А если файл был изменен со стороны ERP, в ДО он не изменится? Создаются полные копии файлов в двух базах но связи между ними нет?
4. ВикторП 350 30.03.21 13:32 Сейчас в теме
Код Вы же видите, этого нет, файлы передаются для запуска бизнес- процесса на стороне ДО с присоединенными файлами.
5. JBoy 2 31.08.21 07:55 Сейчас в теме
Возникла проблема увеличения размера базы (сужу по размеру dt) c 4-5 ГБ разрослась до 22 ГБ. Файлы в ERP хранятся в томах на диске (не в базе). Никак не могу найти причину этого, что надо почистить
6. ВикторП 350 31.08.21 09:13 Сейчас в теме
Присоединенные файлы тут ни при чем
7. JBoy 2 31.08.21 09:24 Сейчас в теме
тогда в чем может быть дело? рост базы связываю с включением этой доработки. Сейчас отключил, буду наблюдать
8. ВикторП 350 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. ВикторП 350 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. ВикторП 350 09.09.21 09:26 Сейчас в теме
Да, это хорошо. У себя тоже изменю
16. UgoChaka 14.09.21 17:32 Сейчас в теме
А обратно из документооборота можно пригнать файл после завершения процесса?
18. UgoChaka 15.09.21 14:11 Сейчас в теме
это сообщение не сюда и оно не удаляется...
17. ВикторП 350 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С без работы не оставит.
Связь добавляем программно при создании объекта ДО или где нравится, в ДО для данного объекта в настройках связи нужно добавить связь с типом "Содержит ссылку на" и ссылка на "Файл".
d4rkmesa; TigerS74; vit00lya; user1668811; +4 Ответить
22. M_I_V_91 19.01.22 22:04 Сейчас в теме
Спасибо, чуток подогнал под свою буху, но в целом БСП та же, так что стала норм, сэкономил несколько часов работы, высплюсь хоть)))
23. ВикторП 350 20.01.22 09:38 Сейчас в теме
Я рад, что помог. Потом мне кто-то поможет )
25. user1175436 27 09.02.22 14:27 Сейчас в теме
Добрый день, коллеги!

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

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

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

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

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

Показать


Первая процедура добавляется в конце процедуры ЗаполнитьФормуОбъектаДОПоПравилу, вторая в конце процедуры ЗаполнитьСтруктуруРеквизитовОбъектаДОПоПравилу
vit00lya; +1 Ответить
28. ВикторП 350 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СДокументооборотПрисоединенныеФайлы" и корректируем тип параметра, указываем документ/справочник, который хотим заинтегрировать в части файлов.
Вуаля! Все получилось.
При этой реализации файлы добавляются и хранятся на стороне Документооборота.
30. progersan 6 24.04.24 19:38 Сейчас в теме
Всем привет ! Апну тему! )))
может у кого есть опыт как включить правильно интеграцию бесшовную, чтобы видно было файлы в БП 3 из СЭД 2 ?
Есть константы вроде "Использовать присоединенные файлы докуемнтооборота" - это включил. Может что-то еще ?
31. user1013153 18.11.24 10:37 Сейчас в теме
Добрый день.
Надо файлы хранить на стороне ЕРП , т к они должны быть доступны большому количеству пользователей,1С:Предприятие 8.3 (8.3.24.1548),С:ERP Управление предприятием 2 (207) (2.5.17.134) (http://v8.1c.ru/erp/).
Документооборот 1С:Предприятие 8.3 (8.3.24.1548),Документооборот 8 КОРП, редакция 2.1 (548) (2.1.33.11) (http://v8.1c.ru/doc8).
Присоединенные файлы со стороны ЕРП не видны в Документообороте. Веб-сервера нет.
Оставьте свое сообщение