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

26.02.21

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

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

Скачать файл

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

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

После организации бесшовной интеграции 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    109174    128    5    

99

Рабочее место Документооборот и делопроизводство (СЭД) Производство готовой продукции (работ, услуг) Перенос данных 1C Пользователь Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 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    57728    36    20    

45

SALE! 30%

Загрузка и выгрузка в 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С и нажимаете кнопку "Распознать и загрузить".

8400 5880 руб.

04.06.2019    108276    315    173    

327

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

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

30000 руб.

23.05.2017    56906    36    68    

43

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

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

2000 руб.

05.09.2017    92923    67    100    

101

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

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

14880 руб.

17.12.2018    45951    66    61    

79

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

Внешняя обработка "загрузка внутренних документов из Excel в 1С Документооборот 8", позволяет по заданному шаблону загрузить внутренние документы в конфигурацию в режиме управляемого приложения. Также есть возможность загружать файлы внутренних документов.

3600 руб.

14.03.2014    40779    31    17    

31
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
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 26 09.02.22 14:27 Сейчас в теме
Добрый день, коллеги!

возможно подскажите как массово указать соответствия документов из 1С БП внутренним документам в 1С ДО ?
вручную делать долго, как обработкой/ в каком месте в коде 1С можно покопать?
26. colinsn 10.03.22 15:44 Сейчас в теме
Добрый день. Использовали этот код. Файлы успешно передаются из ЕРП в ДО. Но столкнулись с проблемой. Если пользователи после обмена удаляют присоединенные файлы в ЕРП и добавляют новые, то в документообороте файлы не помечаются на удаление, но добавляются новые. Подскажите, как можно передавать отметку удаления файла?
27. Zircool 297 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).
Присоединенные файлы со стороны ЕРП не видны в Документообороте. Веб-сервера нет.
Оставьте свое сообщение