Прикрепляем файл к новому документу (БСП). Простенькая шпаргалка

21.02.24

Разработка - БСП (Библиотека стандартных подсистем)

Много уже сказано и фильмов снято, но как начинаешь делать, опять полдня провозишься.

Скачать файл

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

Наименование По подписке [?] Купить один файл
Прикрепляем файл к новому документу (БСП). Простенькая шпаргалка.:
.docx 23,73Kb
7
7 Скачать (1 SM) Купить за 1 850 руб.

Для всех, кто любит серьезный подход, даю ссылку на тех. документацию (ИТС).

Для всех остальных по пунктам.

1. Вы сделали новый документ, который назвали НовыйДокумент

2. Создать справочник НовыйДокументПрисоединенныеФайлы копированием другого такого же.

3. Заменить в новом справочнике  Владельца. Им будет ваш НовыйДокумент. Дать права на справочник как у документа.

4. Определяемые типы:
•    ВладелецПрисоединенныхФайлов – добавляем тип Новый документ, 
•    ПрисоединенныйФайл – добавляем тип Новый справочник
•    ПрисоединенныйФайлОбъект - добавляем тип Новый справочник

5. У Списка (в форме списка документа, если нет, создаем) включаем галку Произвольный запрос и меняем  запрос как ниже. 

ВЫБРАТЬ РАЗРЕШЕННЫЕ
	ДокументНовыйДокумент.Ссылка КАК Ссылка,
	ДокументНовыйДокумент.Номер КАК Номер,
	ДокументНовыйДокумент.Дата КАК Дата,
	ДокументНовыйДокумент.Проведен КАК Проведен,
	ДокументНовыйДокумент.Комментарий КАК Комментарий,
	ДокументНовыйДокумент.Автор КАК Автор,	
	ДокументНовыйДокумент.Ответственный КАК Ответственный,
	ВЫБОР
		КОГДА НаличиеФайлов.ЕстьФайлы ЕСТЬ NULL ТОГДА 1			
		КОГДА НаличиеФайлов.ЕстьФайлы ТОГДА 0			
		ИНАЧЕ 1
	КОНЕЦ КАК ЕстьФайлы
ИЗ
	Документ.НовыйДокумент КАК ДокументНовыйДокумент
		{ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НаличиеФайлов КАК НаличиеФайлов
		ПО ДокументНовыйДокумент.Ссылка = НаличиеФайлов.ОбъектСФайлами}

6. Настроить колонку «Есть файлы». Вид – поле картинки, Положение заголовка – нет. Картинка значения– скрепка. Картинка шапки – скрепка.

7. В форме документа и форме списка в ПриСозданииНаСервере должен быть блок

// СтандартныеПодсистемы.ПодключаемыеКоманды
ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды

Этого уже достаточно. Но, если вы хотите еще и гиперссылку

 

 

8. В форму документа добавляем

•    ПриСозданииНаСервере

// СтандартныеПодсистемы.РаботаСФайлами
ПараметрыГиперссылки = РаботаСФайлами.ГиперссылкаФайлов();
ПараметрыГиперссылки.Размещение = "КоманднаяПанель";
РаботаСФайлами.ПриСозданииНаСервере(ЭтотОбъект, ПараметрыГиперссылки);
// Конец СтандартныеПодсистемы.РаботаСФайлами

•    отдельно ниже в форме

// СтандартныеПодсистемы.РаботаСФайлами  
&НаКлиенте
Процедура Подключаемый_КомандаПанелиПрисоединенныхФайлов(Команда)
	 РаботаСФайламиКлиент.КомандаУправленияПрисоединеннымиФайлами(ЭтотОбъект, Команда);
КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_ПолеПредпросмотраПроверкаПеретаскивания(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка)
	 РаботаСФайламиКлиент.ПолеПредпросмотраПроверкаПеретаскивания(ЭтотОбъект, Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка);
КонецПроцедуры
// Конец СтандартныеПодсистемы.РаботаСФайлами

// СтандартныеПодсистемы.РаботаСФайлами
&НаКлиенте
Процедура Подключаемый_ПолеПредпросмотраПеретаскивание(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка)
	 РаботаСФайламиКлиент.ПолеПредпросмотраПеретаскивание(ЭтотОбъект, Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка);
КонецПроцедуры
// Конец СтандартныеПодсистемы.РаботаСФайлами

В файле все то же самое. Кому-то, может, пригодится.

 

Тестировалось на платформе 8.3.23.2040. На конфигурации ERP.

Ставим лайки и читаем другие мои публикации.

Из той же серии:

1. Условное оформление строк и полей Таблицы значений и Дерева значений (готовый код)

2. Создание нового элемента из поля формы с заполнением реквизитов

3. Выполнение любой дополнительной обработки в фоне

4.Расшифровка отчета. Код, который я использую

См. также

БСП (Библиотека стандартных подсистем) Программист Платформа 1С v8.3 Бесплатно (free)

В статье описан алгоритм для включения документа или справочника в систему БСП. Будет полезно программистам 1С, начинающим работать с БСП.

24.10.2024    1076    PROSTO-1C    0    

12

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

В материале описан универсальный механизм работы с добавленными элементами на общую форму «ФормаОтчета». Думаю, облегчит работу многим разработчикам.

08.10.2024    977    PROSTO-1C    4    

10

БСП (Библиотека стандартных подсистем) Программист Стажер Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

В статье рассмотрим пошаговую инструкцию создания дополнительного отчета с фоновым формированием результата.

04.10.2024    1827    MadRave    11    

23

БСП (Библиотека стандартных подсистем) Программист Стажер Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Пример отслеживания прогресса фонового выполнения дополнительной обработки с использованием программного интерфейса длительных операций БСП.

10.09.2024    1815    MadRave    1    

17

БСП (Библиотека стандартных подсистем) Программист Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

А что, если долгожданная реализация Паузы в 1С смутно напоминает старую, проверенную? А?!

06.09.2024    1253    n_mezentsev    10    

8

БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Добавим дополнительные свойства в новый документ средствами БСП

02.09.2024    4103    John_d    10    

52

БСП (Библиотека стандартных подсистем) Программист Платформа 1С v8.3 Бесплатно (free)

Всё больше организаций выбирает для серверов под 1С операционные системы Linux. Одним из отличий систем Windows и Linux является отсутствие COM объектов, которые зачастую использовались для формирования печатных форм офисных документов (Word). Конечно, можно выполнять печать и на клиенте, но есть риск импортозамещения. В работе у меня случались проблемы с зависанием процесса Word, поэтому я не люблю его использовать.

29.07.2024    5353    PROSTO-1C    12    

52
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. dhurricane 21.02.24 17:48 Сейчас в теме
1. Релиз платформы указали с точностью до номера сборки, а версию конфигурации вообще не указали, просто ERP. Однако версия конфигурации значительно важнее в этом вопросе, нежели версия платформы. Хорошо, хоть ссылку на БСП 3.1.3 оставили. Не самая свежая, видимо и ERP не 2.5
2. В статье нет информации о том, какие подписки и планы обмена необходимо еще поправить.
3. Для чего в формах блок "ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);"? Особенно без реализации обработчиков команд. В приведенной инструкции на ИТС нет такого требования.
4. Перепутаны значения поля "ЕстьФайлы" для отображения скрепки.
2. dimanich70 870 21.02.24 21:13 Сейчас в теме
(1) Во - первых, спасибо.
1) Релиз ЕРП 2.5.12.148. БСП последняя думаю, реально не знаю где посмотреть.
2) Про планы обмена не думал, не было необходимости да и задача думаю уже следующая.
3) Видос смотрел, там про это упоминали. Так как у меня уже были эти процедуры, то решил, что оно и должно быть. Думаю, что у всех есть.
4) Не знаю как у вас, а у меня работает именно так.
3. dhurricane 21.02.24 21:40 Сейчас в теме
(2) 1) В режиме конфигуратора - общий модуль "ОбновлениеИнформационнойБазыБСП", процедура "ПриДобавленииПодсистемы", здесь указана версия БСП, для которой и следует смотреть инструкцию на ИТС. Вероятнее всего увидите 3.1.7

В режиме предприятия - регистр сведений "ВерсииПодсистем", смотреть запись для подсистемы "СтандартныеПодсистемы".

2) Речь не про обмен как таковой. В инструкции указано, что нужно новый справочник добавить в план обмена "ОбновлениеИнформационнойБазы". Это необходимо для того, чтобы при будущих возможных обновления ERP (и БСП вместе с ней), типовой обработчик обновления смог отложенно (в фоне) обновить не только свои справочники с файлами, но и Ваш.

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

3) Не, подключаемые подсистемы не обязательны. Конечно, я сторонник того, чтобы подключать к подсистеме команд все свои нетиповые документы, с которыми будут работать пользователи, но тем не менее к подсистеме файлов эти команды отношения не имеют.

4) Возможно, не проверял давно. Сравнил Ваш запрос и запрос в инструкции, ссылку на которую Вы дали. Допускаю, что в документации ошибка, но более допускаю, что в статье Вы привели код запроса, отличный от реально используемого в своей конфигурации.
4. Tarlich 116 21.02.24 21:47 Сейчас в теме
и еше определить ВладелецПрисоединенныхФайловОбъект то же
Эх ! эту статью да раньше бы !
вот так бы описать и остальные подсистемы,
5. dimanich70 870 21.02.24 23:07 Сейчас в теме
(4)этот тип как я понял тогда, когда владелец Справочник.
Ну, ты просто гений. Спасибо.
6. IronDain 22.02.24 08:56 Сейчас в теме
Тоже надо запилить инструкцию в ворде и выложить за стартмани. Может джуны и начинающие аналитики обрадуются
Legin; kuzyara; baracuda; Serg O.; +4 Ответить
7. Samarin 97 22.02.24 09:37 Сейчас в теме
Чего не хватает:

1) У БСП есть возможность переопределить справочник для хранения.
РаботаСФайламиПереопределяемый
Процедура ПриОпределенииСправочниковХраненияФайлов

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

2) Написать инструкцию, как это все проделать в виде расширения.
Оставьте свое сообщение