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

1. user1004898 28 07.05.21 10:21 Сейчас в теме
Стоит задача перенеси присоединенные файлы из одного документа в другой. Первый документ "Возврат товаров поставщику". В него прикрепляется файл.
При попытке выполнения процедуры "перевести в обратную реализацию" и создания "Реализации" файлы теряются.
Связанных документов нет.

Предполагал, что в момент создания "Реализации" я получу параметры первого документа, и по нему как по владельцу присоединенного файла получу запросом элемент справочника "Присоединенные файлы" (так как в РС данные хранятся без данных о владельце), скопирую данный элемент и подставлю владельца - ссылку на новосозданный документ "Реализации".

Данные параметры заполнения из документа "Возврат товаров поставщику" передаются в документ "Реализации" на этапе обработчика "При создании на сервере". В текущий момент никак присоединить к нему присоединенный файл, так как документ не записан.
А уже при выполнении обработчиков "ПередЗаписьюНаСервере", "ПослеЗаписиНаСервере" данные параметры об первом документе не передаются. И сделать отбор не предлагается возможным.

Возможно кто-то реализовывал такую схему, как можно исправить?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. M_A_D 184 07.05.21 10:30 Сейчас в теме
(1)
Не понятно где вызываете (в каком документе).
ПОэтому предложение следующее:
Создавайте реализацию из ВОЗВРАТА, в событии ПриЗаписи или ПослеЗаписи, вызывайте функцию на сервере, в ней создавайте реализацию, и тогда у вас будут ссылки на все нужные документы в одном месте, останется только, как вы и описали СКОПИРОВАТЬ с подменой владельца файл и все.
6. user1004898 28 07.05.21 11:00 Сейчас в теме
(2)
Создание "Реализации" вызывается еще на этапе команды-обработчика "Перевести в обратную реализацию" на стороне возврата.

Потом захожу в форму документа Реализации (пример кода перенаправления)
&НаКлиенте
Процедура ПеренестиВОбратнуюРеализацию(Команда)
	Если Модифицированность ИЛИ НЕ ЗначениеЗаполнено(Объект.Ссылка) Тогда
		ПоказатьПредупреждение(,НСтр("ru = 'Документ сначала нужно записать'"));
		Возврат;
	КонецЕсли;
	
	ДанныеЗаполнения = Новый Структура("ДокументЗаполнения, ХозОперация",Объект.Ссылка,ПредопределенноеЗначение("Справочник.ХозОперации.ВозвратПоставщикуОтгрузкой"));
	ПараметрыФормы = Новый Структура("Основание", ДанныеЗаполнения);
	ОткрытьФорму("Документ.РеализацияТоваров.Форма.ФормаДокумента", ПараметрыФормы);

	ПеренестиВОбратнуюРеализациюНаСервере();
	Закрыть();
КонецПроцедуры
Показать



В форме Реализации сначала захожу в ОбработкуЗаполнения. после в обработчик "При создании на сервере" на стророне формы "Реалиции" тоже.
3. nomad_irk 72 07.05.21 10:47 Сейчас в теме
(1)Какая конфигурация используется?
4. user1004898 28 07.05.21 10:53 Сейчас в теме
5. nomad_irk 72 07.05.21 10:58 Сейчас в теме
(4)Какая-то отраслевая? На базе какой типовой сделана?
7. user1004898 28 07.05.21 11:03 Сейчас в теме
8. nomad_irk 72 07.05.21 11:20 Сейчас в теме
(7) В типовых конфигурациях для РФ файлы - это элементы справочников <ИмяОбъекта>ПрисоединенныеФайлы, например

СправочникСсылка.ДокументРеализацияПрисоединенныеФайлы.

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

Как выход из ситуации вижу выполнение двух действий:

1. Создание и запись нового документа
2. "копирование" файла для созданного документа.
9. user1004898 28 07.05.21 11:28 Сейчас в теме
(8)
2. "копирование" файла для созданного документа.

а как этот файл определить и скопировать?
10. nomad_irk 72 07.05.21 11:31 Сейчас в теме
(9)Я не знаю структуры конфигурации, но должна быть связь документов.
В одном из документов должен быть реквизит со ссылкой на документ-источник, иначе только программно все делать.
11. user1004898 28 07.05.21 11:33 Сейчас в теме
(10)
в момент заполнения в Параметрах есть. Но при записи уже нет данных про истичник.
Потому и советуюсь.
12. nomad_irk 72 07.05.21 11:58 Сейчас в теме
(11)Если делать прям так, как вы хотите, то необходимо, что бы ссылка на документ-источник из параметров формы переносилась в ДополнительныеСвойства созданного документа.

ДополнительныеСвойства - это структура, доступная в модуле объекта.
13. user1004898 28 07.05.21 12:56 Сейчас в теме
(12)
ДополнительныеСвойства

Вроде бы ДополнительныеСвойства не сохраняются при переходе к формы документа?
14. nomad_irk 72 07.05.21 13:16 Сейчас в теме
(13)Ваша задача их сохранить при переходе из формы к самому объекту для создания "копии" файлов.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот