Изображение Основного Средства

08.05.13

Учетные задачи - Учет ОС и НМА

Возможность добавлять изображения основных средств.

Скачать файл

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

Наименование SM По подписке Купить один файл
1Cv8.cf
.cf 33,67Kb
11
11
1 SM
Скачать Купить за 1 850 руб.

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

Сразу оговорюсь что можно пункты с 1 по 6 выполнить через объединение с файлом конфигурации. Итак:

1) в справочник ОС добавляем реквизит "ФайлКартинки" с типом "СправочникСсылка.ХранилищеДополнительнойИнформации"

2) для справочника ОС создаем Управляемую форму элемента справочника.

3) для формы добавляем два реквизита "ИмяФайлаКартинки" и "СсылкаНаКартинку" с типом Строка

4) в форму добавляем ПолеФормы, имеющий вид Поле картинки и связываем с реквизитом формы "СсылкаНаКартинку" (ПутьКДанным). В этом поле будет отображаться картинка ОС.

5) для загрузки и сохранения изображения добавляем две локальные команды ЗагрузитьСДиска и СохранитьНаДиск:

&НаКлиенте
Процедура ЗагрузитьСДиска(Команда)
   АдресВХранилище="";
   ВыбранноеИмяФайла="";
   Если ПоместитьФайл(АдресВХранилище,,ВыбранноеИмяФайла,,УникальныйИдентификатор) Тогда
      Файл = новый Файл(ВыбранноеИмяФайла);
      ИмяФайлаКартинки = Файл.Имя;
      СсылкаНаКартинку = АдресВХранилище;
      Модифицированность = Истина;
   КонецЕсли;
КонецПроцедуры

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

6) в модуль формы добавляем следующие процедуры:

&НаСервере
Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
   Если ЭтоАдресВременногоХранилища(СсылкаНаКартинку) Тогда
      УдалитьИзВременногоХранилища(СсылкаНаКартинку);
      СсылкаНаКартинку = ПолучитьНавигационнуюСсылку(ТекущийОбъект.ФайлКартинки,"Хранилище");
   КонецЕсли;

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

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
   Если Объект.ФайлКартинки.ИмяФайла<>"" Тогда
      СсылкаНаКартинку = ПолучитьНавигационнуюСсылку(Объект.ФайлКартинки,"Хранилище");
   КонецЕсли;

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

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

7) В основных формах справочника добавляем кнопки для открытия нашей формы:

-для формы списка

 СсылкаНаОС = ЭлементыФормы.СправочникСписок.ТекущаяСтрока;

ПараметрыФормы = Новый Структура("Ключ", СсылкаНаОС);
ОткрытьФорму("Справочник.ОсновныеСредства.Форма.ФормаИзображения",ПараметрыФормы);

-для формы элемента

ПараметрыФормы = Новый Структура("Ключ", СправочникОбъект.Ссылка);
ОткрытьФорму("Справочник.ОсновныеСредства.Форма.ФормаИзображения",ПараметрыФормы);

8) Для реквизита Объект справочника ХранилищеДополнительнойИнформации  добавляем тип СправочникСсылка.ОсновныеСредства

 

Можно просто в конфигураторе через сравнение и объединение с конфигурацией из файла 1Cv8.cf добавить нашу упрвляемую форму, и добавить кнопки (пункт 7) и тип СправочникСсылка.ОсновныеСредства для реквизита Объект спр. ХранилищеДополнительнойИнформации (пункт 8). Внимание! При сравнении галочки ставим как на фотографии 3.png


P.S. Аналогично можно для любого справочника добавить возможность сохранять изображения.

 


См. также

Учет ОС и НМА Сканер штрих-кода Терминал сбора данных Логистика, склад и ТМЦ Платформа 1С v8.3 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Приложение Инвентаризация ОС и ТМЦ предназначено для инвентаризации основных средств и товарно-материальных ценностей, закреплённых за конкретным материально ответственным лицом или складом. В конфигурации 1С:Бухгалтерии 3.0 отсутствуют возможности генерации и работы со штрих-кодами для основных средств. Приложение позволяет генерировать и обрабатывать штрих-коды как для основных средств, так и для товарно-материальных ценностей (материалы, товары). В новом релизе появилась возможность работы с фотографиями объектов учета.

07.07.2023    2971    2    alfanika    0    

5

Работа с интерфейсом Программист Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

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

2400 руб.

29.06.2020    17372    24    6    

38

Инструментарий разработчика Работа с интерфейсом Программист Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

2 стартмани

10.04.2023    10416    158    acces969    31    

120

Работа с интерфейсом Программист Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

"MVC плохо применима в 1С" - познакомьтесь с моделью состояния и, возможно, ваше мнение поменяется! Представленное решение является эволюционным развитием идеи реализации MVC для 1С. В новой версии добавлены DSL для описания модели состояния, а также параметризация свойств параметров и элементов формы.

1 стартмани

05.07.2022    4387    kalyaka    4    

31

Работа с интерфейсом Платформа 1С v8.3 Платные (руб)

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

6000 руб.

18.01.2022    9211    1    2    

6
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. CratosX 113 17.05.13 12:23 Сейчас в теме
(0) В рубрикаторе сразу не приметил назначение - для БГУ, лучше укажи это отдельно в статье.
И правильнее называть свои объекты и свойства со своим префиксом, например
NickOmskiy2_ИмяФайлаКартинки и
NickOmskiy2_СсылкаНаКартинку
2. Sasha255n 30.08.13 18:54 Сейчас в теме
Вообщем то как частный случай могу допустить что данное ТЗ кому то и могло быть поставлено.
Оставьте свое сообщение