1С 8.3 : Работа с изображениями (картинками) в интерфейсе Такси
Во-первых, почему я решил написать эту статью: Новая концепция 1С — отказ от модальных окон, следовательно все методы и объекты, которые порождали открытие модальных окон в новом интерфейсе работать не смогут, точнее смогут, только если в свойствах конфигурации разрешить модальные окна.
Рассмотрим алгоритм работы с файлами и картинками в новом интерфейсе 1С:Предприятие 8.3 «Такси».
Во-первых, почему я решил написать эту статью: Новая концепция 1С — отказ от модальных окон, следовательно все методы и объекты, которые порождали открытие модальных окон в новом интерфейсе работать не смогут, точнее смогут, только если в свойствах конфигурации разрешить модальные окна.
Однако, если разрешить модальные окна, то мы столкнемся с проблемами при работе в web-клиенте.
Во-вторых, о работе с картинками в управляемых формах часто спрашивают.
Итак, задача: в справочнике «Товары» необходимо сохранять и отображать в форме фотографию товара.
Исходная конфигурация не содержит ничего, кроме самого справочника с товарами, выкладывать ее не буду, просто создайте пустую конфигурацию в 8.3.
Для хранения самого графического файла, в справочнике создадим реквизит «ДанныеКартинки», с типом «Хранилище значений».
Если планируете выгружать картинку (файл) из информационной базы обратно в файловую систему, то добавьте еще реквизит, который будет хранить исходное имя файла и его тип.
Далее, займемся формой. Как видно на картинке, реквизит с типом хранилище значений в форме недоступен.
Как будем отображать картинку в форме? Нет, не декорацией с типом «картинка». А в виде реквизита формы с типом «строка». Да, да! Это очевидно, и странно, что мало кто об этом догадывается сам. 😉
Все дело в том, что если на форму вынести реквизит с типом «строка», который будет содержать навигационную ссылку на графические данные или адрес временного хранилища которое содержит такие данные, то форма сможет отобразить сами графические данные.
Добавим реквизит формы с именем «СсылкаНаКартинку», тип «строка», длина не ограничена. И поместим его в реквизиты формы.
По умолчанию, строка в форме будет выглядеть как поле ввода, нам нужно поменять это, в свойствах элемента формы. Выберем в свойстве «Вид» «Поле картинки».
Интерфейсная часть готова. Займемся кодингом. Создадим команду формы «ВыбратьФайлКартинки», в виде кнопки расположим ее на форме.
В модуле опишем обработчик события «Действие» для созданной команды формы:
Пару комментариев к вышеописанному коду:
Если бы мы не обращали внимание на режим модальности приложения, то могли вполне использовать метод «ПоместитьФайл«, однако цель статьи показать работу с файлами именно в таком режиме.
Метод НачатьПомещениеФайла помещает выбранный файл во временное хранилище (если выбор файла был произведен) и вызывает процедуру «ОбработатьВыборФайла» в этом же модуле.
Обращаю внимание на выделенный «УникальныйИдентификатор«, этим свойством мы связали временное хранилище с текущей формой. В противном случае файл в хранилище помещен будет, но само хранилище при серверном вызовет будет уничтожено, а нам оно еще понадобится, для записи файла в реквизит справочника.
Опишем процедуру «ОбработатьВыборФайла»:
Если пользователь не отказался от выбора файла, то в реквизит формы «СсылкаНаКартинку» помещаем адрес во временном хранилище, куда были помещены данные картинки.
Так, осталось теперь при записи элемента справочника записать данные из временного хранилища в реквизит элемента справочника. Описываем событие ПередЗаписьюНаСервере:
Проверяем в реквизите формы у нас что? Если адрес временного хранилища, пишем данные в реквизит элемента справочника, обращаясь к «ТекущийОбъект«, «ТекущийОбъект» — это сконвертированные данные формы, которые пишутся в базу в этот момент времени.
Осталось описать открытие формы, для отображения картинки уже сохраненной в реквизите элемента справочника.
Фот за отчетный период где посмотреть в 1с
- Анализ ФОТ – в этом отчете сопоставляется ФОТ плановых начислений, которые назначены сотрудникам, с теми суммами, которые были реально начислены. Выводятся сведения об экономии ФОТ. Существует два предопределенных варианта такого отчета:
- Анализ ФОТ по начислениям – с детализацией по сотрудникам и начислениям.
- Анализ ФОТ по сотрудникам – только по сотрудникам.
- Зарплата по факту выполнения работы;
- Мотивирующие вознаграждения;
- Компенсирующие надбавки за условия труда;
- Расчет в натуральном виде;
- Компенсация неотработанного времени (отпуска, простои не из-за сотрудника, перерывы в работе кормящей матери);
- Стоимость еды и формы, которые работник получает бесплатно;
- Выплаты соцхарактера (на лечение, проезд и отдых).
- Регистры бухучета. Данные суммируются по кредиту сч.70 («Расчеты с персоналом по оплате труда») с дебетом счетов:
- 20 «Основное производство»
- 25 «Общепроизводственные расходы»
- 26 «Общехозяйственные расходы»
- 08 «Вложения во внеоборотные активы»
- 91 «Прочие доходы и расходы»
- Информацию:
- По всем выплатам из расчетных ведомостей за год;
- По количеству фактических отработок, пропусков и сверхурочных в часах из табеля учета;
- По тарифам и надбавкам из «штатки».
- Отчеты по фонду 1С:ЗУП.
Рис.1 Документ приема
Рис.2 Совмещение должностей
Рис.3 План и факт
- По начислениям: позволяет посмотреть в разрезе работников и видов расчетов;
Рис.4 Отчет в разрезе начислений
- По сотрудникам: указаны начисления в целом по сотрудникам;
Рис.5 В разрезе сотрудников
- История изменений оплаты труда: отображает все изменения плановых начислений за весь срок работы, показывает, на каком основании они были сделаны, и что конкретно поменялось в начислениях;
Рис.6 История изменений
- Динамика изменения ФОТ: позволяет через различные виды диаграмм увидеть динамику изменения фонда оплаты труда.
Рис.7 Динамика изменения ФОТ
Рис.8 Настройки расчета зарплаты
Рис.9 Навигация пересчета ФОТ
Рис.10 Пересчет планового ФОТ
Отчеты по плановым начислениям
Информацию о некоторых плановых начислениях сотрудников можно получать в кадровых отчетах в виде значений полей Тарифная ставка , Надбавка , ФОТ .
Просмотр плановых начислений конкретного сотрудника:
- Сотрудник – Начисления и удержания
Отчеты по плановым начислениям:
- Анализ ФОТ ;
- Сравнение плановых и фактических начислений ;
- История изменения оплаты труда .
Отчеты по плановым начислениям доступны в зарплатных отчетах ( Зарплата – Отчеты по зарплате ). К основным отчетам по плановым начислениям можно отнести следующие:
- Анализ ФОТ – в этом отчете сопоставляется ФОТ плановых начислений, которые назначены сотрудникам, с теми суммами, которые были реально начислены. Выводятся сведения об экономии ФОТ. Существует два предопределенных варианта такого отчета:
- Анализ ФОТ по начислениям – с детализацией по сотрудникам и начислениям.
- Анализ ФОТ по сотрудникам – только по сотрудникам.
В отчет можно вывести более подробную информацию о том, какие именно показатели имели плановые начисления в каждом из документов, которым происходило изменение. Для этого необходимо открыть настройки отчета, перейти в расширенный вид и на вкладке Структура установить флажок Детальные записи .
Кроме этих отчетов, сведения о плановых начислениях конкретного сотрудника доступны в карточке сотрудника (справочник Сотрудники ) по ссылке Начисления и удержания .
Здесь же присутствует кнопка История , по которой можно открыть отчет об изменениях плановых начислений, данного сотрудника.
Подписывайтесь на наши YouTube и Telegram чтобы не пропустить
важные изменения 1С и законодательстваПомогла статья?
Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно
Похожие публикации
-
Общая концепция решения В типовом функционале ЗУП 3.1 нет отчета.В данной статье рассмотрим особенности списания материалов без спецификации и...
(2 оценок, среднее: 5,00 из 5)
Пошаговый пример 1С 8.2: загрузка, хранение и отображение картинок (фотографий) в справочниках (1 часть)
Довольно часто возникает необходимость отображения различных картинок в справочниках или документах. Так, например, нам может понадобиться отображать фотографии нашей продукции в справочнике Товары или фото наших сотрудников в справочнике Сотрудники. Понятно, что такие фотографии лучше всего хранить непосредственно в нашей базе данных 1С. И сегодня мы разберемся, как же добавлять и хранить фотографии в базе данных 1С 8.2, а также как отображать данные фотографии в справочниках и документах.
Пример является универсальным и без труда может быть использован в любой конфигурации платформы 1С: Предприятие 8.2
1. Постановка задачи: нам необходимо реализовать для нашей кадровой службы возможность добавления фотографий в наш справочник Сотрудники и сделать так, чтобы данные фотографии отображались при просмотре информации по конкретному сотруднику. Каждому сотруднику будет устанавливаться 1 фотография.
2. Приступаем к реализации: решение данной задачи будет выполняться с использование платформы 1С:Предприятие 8.2. Скачать платформу 1С 8.2 можно тут.
3. Создайте новую конфигурацию и запустите систему в режиме конфигуратора. Более подробную информацию вы найдете в шагах с 1 по 9 данного пошагового примера.
4. Создайте новый справочник Файлы. Перейдите на закладку «Данные», длину кода и наименования оставьте без изменений. Создайте новый реквизит справочника « Файл » с типом значения ХранилищеЗначения.
Для хранения файлов, в том числе и Картинок в системе 1С Предприятие 8.2 используется особый тип значений — ХранилищеЗначения.
Зачем нам понадобился отдельный справочник Файлы? Ведь можно было создать справочник Сотрудники и в этом справочнике сделать дополнительный реквизит Файл с типом значения ХранилищеЗначения?
Фотографии могут быть довольно большого объема. А если еще у нас будет много сотрудников, то работать с таким справочником очень скоро станет некомфортно. Дело в том, что при открытии списка справочника, считываются все реквизиты (поля) его элементов, а значит, если мы будем хранить фото в его реквизитах, то будут считываться и все фотографии. Понятно, что при выборках и работе со списком справочника Сотрудники система будет «тормозить». Чтобы этого не было, мы создаем отдельный служебный справочник Файлы, а в справочнике Сотрудники будем в одном из реквизитов хранить лишь ссылку на определенный элемент справочника Файлы (ссылку на фото). В таком режиме работать со справочником Сотрудники будет комфортно.5. Создайте новый справочник Сотрудники. Перейдите на закладку «Данные», длину кода и наименования оставьте без изменений. Создайте новый реквизит справочника Картинка с типом значения СправочникСсылка.Файлы.
6. Перейдите на закладку «Формы» нашего справочника Сотрудники. Для создания формы элемента справочника нажмите на кнопку Открыть.
На первом шаге выбираем тип формы: Форма элемента справочника. На втором шаге убираем галку с реквизита Картинка, так как данный реквизит (ссылку на фото) мы будем заполнять программно, а не интерактивно.
7. Перед нами открывается конструктор форм. Создайте новый реквизит формы Фото, тип – Строка, длина 0.
8. Мышкой перетащите созданный в шаге 7 реквизит Фото на Форму элемента справочника Сотрудники. В свойстве «Вид» получившегося поля меняем значение с «Поле ввода» на «Поле картинки».
Именно в этом поле (Фото) у нас на Форме и будет отображаться фотография, установленная данному сотруднику.
9. Для того, чтобы можно было загружать фотографии в базу данных 1С, создадим команду ДобавитьКартинку.
Перейдите на закладку «Команды» и создайте новую команду «ДобавитьКартинку». Далее нажмите на увеличительное стекло в свойстве «Действие» для перехода в программный модуль и создания шаблона процедуры ДобавитьКартинку(Команда).
10. Теперь в программном модуле нам необходимо описать действие нашей команды «ДобавитьКартинку». Пишем следующий программный код:
&НаКлиенте
Процедура ДобавитьКартинку(Команда)
ИмяФайла = «»;
ПутьФайла = «»;
//Вызываем Диалоговое окно и помещаем файл Картинки из локальной файловой системы во временное хранилище
Если ПоместитьФайл(ПутьФайла, , ИмяФайла, Истина) = Истина Тогда//в строковый реквизит ФОТО нашей формы сохраняем ссылку на Картинку во временном хранилище
Фото = ПутьФайла;
//для создания нового элемента в Справочнике Файлы и записи Картинки в его реквизит Файл
//переходим на сервер с помощью вызова серверной процедуры
УстановитьКартинку();
КонецЕсли;
//условие ЕСЛИ нужно для того, чтобы если пользователь отказался от выбора файла
//мы не вызывали серверную процедуру УстановитьКартинку()
КонецПроцедуры11. Действия по установке (загрузке) картинки и ее отображения на форме нашего справочника Сотрудника необходимо выполнять на стороне сервера. Это особенность работы системы с файлами. Именно для этого в тексте процедуры ДобавитьКартинку осуществляется вызов другой процедуры УстановитьКартинку() , которая будет выполняться на сервере.
В программном модуле, ниже процедуры ДобавитьКартинку(Команда) пишем следующий программный код:
&НаСервере
Процедура УстановитьКартинку()
//создаем новый элемент в Справочнике Файлы
НовыйФайлКартинки = Справочники.Файлы.СоздатьЭлемент();
//в реквизит СправочникаФайлы Файл помещаем выбранную ранее Картинку
НовыйФайлКартинки.Файл = Новый ХранилищеЗначения(ПолучитьИзВременногоХранилища(Фото));
Фото = ПоместитьВоВременноеХранилище(НовыйФайлКартинки.Файл.Получить());
//записываем новый элемент справочника Файлы
НовыйФайлКартинки.Записать();//устанавливаем значение реквизита Картинка Справочника Сотрудники
Объект.Картинка = НовыйФайлКартинки.Ссылка;
КонецПроцедуры12. Теперь нам остается добавить на Форму Кнопку и связать Кнопку с нашей командой «ДобавитьКартинку».
13. Как мы уже говорили в шаге 11, для отображения картинки на форме процедуру необходимо выполнять на сервере. Для этого выделяем Форму, в свойствах нашей Формы переходим на закладку «События» и переходим к событию ПриСозданииНаСервере.
14. Напишем программный код процедуры ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) :
//устанавливаем автомасштаб для картинки
Элементы.Фото.РазмерКартинки = РазмерКартинки.АвтоРазмер;
КонецПроцедуры15. Запускаем систему в режиме 1С:Предприятие и смотрим что у нас получилось:
На этом упрощенная реализация отображения картинок в справочника закончена. Вы можете скачать кофигурацию с данным примером по ссылке ниже:
О том, как можно улучшить нашу конфигурацию и какие дополнительные проверки можно добавить мы поговорим во второй части пошагового примера.