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

27.04.24

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

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

Скачать файл

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

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

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

  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С:Зарплата и кадры бюджетного учреждения 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет НДФЛ Платные (руб)

Обработка исправляет технические ошибки по НДФЛ, взаиморасчетам с сотрудниками в 1С:ЗУП (1С:ЗКГУ) на начало года. Фактически все ошибки, которые проявляются в ведомостях на выплату, расчетных листках, при заполнении ведомостей на выплату и отчетах 6-НДФЛ и т.д. нужно начинать исправлять с начала расчетного года. Это позволит быть уверенными, что после завершения расчетов предыдущего года, начали работать с «чистого листа» без ошибочных остатков.

60000 руб.

06.10.2023    4806    38    20    

46

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

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

14400 руб.

29.04.2020    34313    109    152    

75

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

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

3600 руб.

10.02.2017    111786    673    175    

712

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

Представьте, что есть система QR - кодирования, которая НЕ ТРЕБУЕТ изменения конфигурации, НЕ ТРЕБУЕТ изменения ни одной печатной формы для добавления QR-кода, включая внешние, НЕ ХРАНИТ данные штрихкодов и их связь, от чего база не "пухнет", ИМЕЕТ возможность закодировать в QR-коде произвольные данные параметров для последующей обработки полученных данных, УМЕЕТ прикреплять сканы, УМЕЕТ обработать считанный QR-код как ВЫ захотите. А также ХРАНИТ историю операций в обход базы для каждого пользователя в отдельности и УМЕЕТ работать с 2D - сканерами. А также автоматически распознавать отсканированные печатные формы (картинки или pdf-файлы) и выполнять заданные произвольные алгоритмы, в том числе прикрепление их к документам! Обновление 3.2 от 09.06.2024!

19200 руб.

26.08.2018    52764    16    61    

55

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

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

2400 руб.

13.07.2015    51501    175    29    

127

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

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

2880 руб.

05.05.2024    753    11    0    

7

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

Обработка предназначена для ООО для смены системы налогообложения УСН на ОСНО, без ведения раздельного учета, входящего НДС по способам учета. При реализации перехода в операции формируются проводки по выделению НДС, который ранее учитывался в стоимости номенклатуры, регистр «НДС Предъявленный».

6000 руб.

22.01.2025    445    1    0    

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