Замена файлов на ссылки. УПП 1.3

27.04.24

Задачи пользователя - Корректировка данных

Обработка замены всех файлов и изображений на ссылки в сетевом хранилище для УПП 1.3.

Файлы

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

Наименование Скачано Купить файл
Обработка Замены Файлов На Ссылки:
.epf 7,41Kb
4 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Необходимы некоторые манипуляции с базой:

  1. В перечислениях «ВидыДополнительнойИнформацииОбъектов» Добавить Значение Ссылка;
  2. В форме «ФормаСпискаФайловИИзображений» справочника «ХранилищеДополнительнойИнформации» добавить реквизит «Ссылки» с типом «СправочникСписок.ХранилищеДополнительнойИнформации»;

Добавляем новую страницу и выводим на нее реквизит «Ссылки» Рисунок № 2

И добавляем в модуль формы  следующее:

Процедура СсылкиПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)   

              

               Если НоваяСтрока Тогда



                               Элемент.ТекущиеДанные.ВидДанных = Перечисления.ВидыДополнительнойИнформацииОбъектов.Ссылки;



               КонецЕсли;



КонецПроцедуры



Процедура СсылкиИмяФайлаОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)



КонецПроцедуры



Процедура СсылкиИмяФайлаНачалоВыбора(Элемент, СтандартнаяОбработка)  

               Диалог = РаботаСФайлами.ПолучитьДиалогВыбораФайлов(Ложь);

              

               Если Не Диалог.Выбрать() Тогда

                               Возврат;

               КонецЕсли;

              

              

               ТекОбъект = ЭлементыФормы.Ссылки.ТекущиеДанные;

               //            ТекОбъект.Хранилище = Новый ХранилищеЗначения(Новый ДвоичныеДанные(Диалог.ПолноеИмяФайла), Новый СжатиеДанных(9));

               ТекОбъект.ИмяФайла = Диалог.ПолноеИмяФайла;

              

               ПолучитьИмяФайлаМассив = ОбщегоНазначения.РазложитьСтрокуВМассивПодстрок(Диалог.ПолноеИмяФайла,"\");

               ПозицияИмяФайла = ПолучитьИмяФайлаМассив.Количество()-1;

               ПолучитьИмяФайла  = СокрЛП(ПолучитьИмяФайлаМассив[ПозицияИмяФайла]);

               ИмяФайлаБезРасширения =  Лев(ПолучитьИмяФайла,СтрДлина(ПолучитьИмяФайла)-4);

               ТекОбъект.Наименование = ИмяФайлаБезРасширения;

              

КонецПроцедуры



Процедура СсылкиВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)                             СтандартнаяОбработка=Ложь;

                               //ЗапуститьПриложение(ЭлементыФормы.Ссылки.ТекущиеДанные.ИмяФайла);

                               КоманднаяПанельСсылокОткрыть("");

КонецПроцедуры



Процедура СсылкиПриОкончанииРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования)     

               Если ВладелецФормы <> Неопределено Тогда

                               Оповестить("ОбновитьФорму", Новый Структура("ИмяЭлемента","ИзмененСписокСправочникаХранилищеДопИнформации"),мОбъектОтбора);

               КонецЕсли;



КонецПроцедуры



Процедура СсылкиПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, ЭтоГруппа)

              

КонецПроцедуры



Процедура СсылкиПередОкончаниемРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования, Отказ)

                               ПередОкончаниемРедактирования(Элемент, НоваяСтрока, Перечисления.ВидыДополнительнойИнформацииОбъектов.Ссылки);

КонецПроцедуры





Процедура КоманднаяПанельСсылокОткрыть(Кнопка) 

              

               ИмяФайла =  ЭлементыФормы.Ссылки.ТекущиеДанные.ИмяФайла;

               ВыбФайл = Новый Файл(ИмяФайла);

               Если ВыбФайл.Существует() Тогда

                               ЗапуститьПриложение(ИмяФайла);

               ИначеЕсли Лев(ИмяФайла,2) = "L:" Тогда

                                НовоеИмя = "Имя Каталога" + Сред(ИмяФайла,3);

                                ВыбФайлНовый = Новый Файл(НовоеИмя);

                                Если ВыбФайлНовый.Существует() Тогда

                                               ЗапуститьПриложение(НовоеИмя);

                               КонецЕсли;

               ИначеЕсли Лев(ИмяФайла,2) = "Y:" Тогда

                                НовоеИмя = "Имя Каталога" + Сред(ИмяФайла,3);

                                ВыбФайлНовый = Новый Файл(НовоеИмя);

                                Если ВыбФайлНовый.Существует() Тогда

                                               ЗапуститьПриложение(НовоеИмя);

                                КонецЕсли;

    ИначеЕсли Лев(ИмяФайла,2) = "Z:" Тогда

                                НовоеИмя = "Имя Каталога" + Сред(ИмяФайла,3);

                                ВыбФайлНовый = Новый Файл(НовоеИмя);

                                Если ВыбФайлНовый.Существует() Тогда

                                               ЗапуститьПриложение(НовоеИмя);

                                КонецЕсли;



               КонецЕсли;

              

КонецПроцедуры



Процедура СсылкиПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)  



              

               ОформлениеСтроки.Ячейки.ИмяФайла.ОтображатьКартинку = Истина;

               ОформлениеСтроки.Ячейки.ИмяФайла.ИндексКартинки = РаботаСФайлами.ПолучитьИндексПиктограммыФайла(РаботаСФайлами.ПолучитьРасширениеФайла(ДанныеСтроки.Ссылка.ИмяФайла));



КонецПроцедуры



Процедура КоманднаяПанельДополнительныхФайловПоказывать(Кнопка)

              

               Объект = ЭлементыФормы.ДополнительныеФайлы.ТекущиеДанные.Ссылка.ПолучитьОбъект();

              

               //Если НЕ Объект.ЭтоНовый() и Не (РольДоступна("ПолныеПрава") ИЛИ Ин_Общиймодуль.ПроверитьПраво("00063",глЗначениеПеременной("глТекущийПользователь"))) Тогда

               //            Возврат;

               //КонецЕсли;

              

               Если Объект.Наименование = "Показывать" Тогда

                               Объект.Наименование = "";

                              ЭлементыФормы.КоманднаяПанельДополнительныхФайлов.Кнопки.Показывать.Пометка = Ложь;

                              ЭлементыФормы.КоманднаяПанельДополнительныхФайлов.Кнопки.Показывать.Картинка = БиблиотекаКартинок.СнятаПометка;

               ИначеЕсли ЗначениеЗаполнено(Объект.Наименование) Тогда       

                              

                               Режим = РежимДиалогаВопрос.ДаНет;

                               Текст = "Записать в наименование ""Показывать""?";

                               Ответ = Вопрос(Текст, Режим, 0);

                               Если Ответ = КодВозвратаДиалога.Нет Тогда

                                               Возврат;

                               КонецЕсли;

                               Объект.Наименование = "Показывать";

                              ЭлементыФормы.КоманднаяПанельДополнительныхФайлов.Кнопки.Показывать.Пометка = Истина;

                              ЭлементыФормы.КоманднаяПанельДополнительныхФайлов.Кнопки.Показывать.Картинка = БиблиотекаКартинок.УстановленаПометка;

               Иначе

                               Объект.Наименование = "Показывать";

                              ЭлементыФормы.КоманднаяПанельДополнительныхФайлов.Кнопки.Показывать.Пометка = Истина;

                              ЭлементыФормы.КоманднаяПанельДополнительныхФайлов.Кнопки.Показывать.Картинка = БиблиотекаКартинок.УстановленаПометка;

               КонецЕсли;

               Объект.Записать();

              



КонецПроцедуры



Процедура УстановитьКнопкуПоказывать(Элемент);

              

               Если Элемент.ТекущиеДанные <> Неопределено Тогда

                               Если Элемент.ТекущиеДанные.Наименование = "Показывать" Тогда

                              ЭлементыФормы.КоманднаяПанельДополнительныхФайлов.Кнопки.Показывать.Пометка = Истина;

                              ЭлементыФормы.КоманднаяПанельДополнительныхФайлов.Кнопки.Показывать.Картинка = БиблиотекаКартинок.УстановленаПометка;

                                               Иначе

                              ЭлементыФормы.КоманднаяПанельДополнительныхФайлов.Кнопки.Показывать.Пометка = Ложь;

                              ЭлементыФормы.КоманднаяПанельДополнительныхФайлов.Кнопки.Показывать.Картинка = БиблиотекаКартинок.СнятаПометка;

                               КонецЕсли;

               КонецЕсли;

              

КонецПроцедуры



Процедура СсылкиПриАктивизацииСтроки(Элемент)  

              

               Если Элемент.ТекущиеДанные = Неопределено Тогда

                               Если ВладелецФормы <> Неопределено Тогда

                                              Оповестить("ОбновитьФорму", Новый Структура("ИмяЭлемента","ИзмененСписокСправочникаХранилищеДопИнформации"),мОбъектОтбора);

                               КонецЕсли;

               КонецЕсли;

КонецПроцедуры



Процедура СсылкиПослеУдаления(Элемент) 

               Если ВладелецФормы <> Неопределено Тогда

                               Оповестить("ОбновитьФорму", Новый Структура("ИмяЭлемента","ИзмененСписокСправочникаХранилищеДопИнформации"),мОбъектОтбора);

               КонецЕсли;



КонецПроцедуры

 

Указываем путь к хранилищу и нажимаем выполнить. дожидаемся сообщения "Все ОК" и наслаждаемся облегченной базой, все файлы будут перенесены и заменены на ссылки.

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

Для корректной работы всех пользователей в сети необходимо выбирать общий ресурс хранения файлов с корректными правами доступа.

Тестировалась на конфигурации Управление производственным предприятием, редакция 1.3 с версии 1.3.98.1 и старше. 

Проверено на следующих конфигурациях и релизах:

  • Управление производственным предприятием, редакция 1.3, релизы 1.3.97.2

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Корректировка данных Системный администратор Программист 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Незаменимая обработка для сопровождения конфигураций: ERP, УТ, КА. Позволяет вычистить многие ошибки в ключах аналитики, в ключевых справочниках конфигурации.

3600 руб.

10.02.2017    116652    702    176    

743

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтер Пользователь Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    39992    121    152    

83

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

Вы наконец разобрались с закрытием месяцев и пора начать контролировать сроки оплаты поставщикам и задолженности клиентов, но в базе расчеты не идут из-за развернутого сальдо? Не беда, есть решение!

12000 руб.

02.11.2020    8682    6    3    

9

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

Внешняя обработка, позволяющая произвольным образом заполнять документ "Корректировка регистров" Предназначена для использования в конфигурациях "Управление торговлей 11", "Управление небольшой фирмой", "ERP Управление предприятием", а также в других конфигурациях, в состав которых входит библиотека стандартных подсистем (БСП) версии 2.2+ и указанный выше документ.

5000 руб.

13.07.2015    53125    182    29    

134

Ценообразование, анализ цен Корректировка данных 1С v8.3 1С:Управление торговлей 11 Платные (руб)

Подключаемая внешняя обработка с простой настройкой - позволяет автоматически рассчитывать в документах продажи скидку процентом на каждый второй, третий и т.д. товар с наименьшей ценой из выбранного сегмента. Ничего лишнего для удобного использования!

5000 руб.

07.05.2025    952    1    0    

2

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

Обработка для группового редактирования реквизитов номенклатуры в 1С для УТ 11 / КА 2. Позволяет редактировать реквизиты (как основные, так и дополнительные реквизиты и сведения) непосредственно в таблице, устанавливать новые значения реквизитов на выбранную номенклатуру, а также загружать новые значения из Excel. Предусмотрена возможность добавления фото к товарам перетаскиванием файла из проводника на строку с товаром (drag'n'drop)

4200 руб.

16.11.2020    18762    13    6    

12

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

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

3600 руб.

28.01.2025    1378    0    0    

3

Корректировка данных Бухгалтер 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бухгалтерский учет Налоговый учет Налог на прибыль Платные (руб)

Обработка служит для: выравнивания бухгалтерского и налогового учета на определенную дату по выбранным счетам; закрытия остатков по выбранным счетам; обнуления налогового учета (ПР, ВР также будут обнулены)

2880 руб.

05.05.2024    1701    16    0    

12
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. wowik 895 15.08.18 16:37 Сейчас в теме
Что-то не понял: а как потом картинки открываются в УПП? Чтобы хранить путь к выгруженному файлу, что используется, какие реквизиты? Я делал подобное, но у меня по-другому - https://infostart.ru/public/529067/
Опишите все подробнее.
evgeniy83; +1 Ответить
Для отправки сообщения требуется регистрация/авторизация