Расширения, которых так долго ждали большевики односнеги, свершилось !!!
24.11.2016 Адаптировал расширение для платформы 8.3.9.1850. К сожалению все новые "плюшки" расширений, не снимая с поддержки конфигурации ,пока использовать нельзя, но и то что есть уже хорошо... Версися 1.0.0.4 используется в режиме Версия 8.3.8 (см. скриншот Совместимость, как теперь вставлять картинки в текст мне неведомо((()
Тема широко обсуждается, внесём и свои пять копеек.
Итак, платформа 8.3.6.2014 БП 3.0.40.28, отключен режим совместимости:
- можно подключать расширения!
Что радует: Собственно - можно использовать расширения и практически «на лету» менять свои «бантики» без накатывания конфигурации. Всё, что нужно для вступления этих изменений в силу – перезапуск программы пользователем.
Что огорчает: Нет ни одной типовой, где режим совместимости был бы отключён. Соответственно, необходимо включить возможность изменения конфигурации, и потому наглухо «отлетает» возможность автоматического обновления.
Подключается просто – «Главное меню» - «Все функции» - «Стандартные» - «Управление расширениями конфигурации» - «Создать» и выбрать файл, в данном случае «ПодборСУпаковками v 1.0.0.3.cfe». Перезапускаем программу, расширение готово к работе.
До подключения расширения подбор товаров выглядит так:
После подключения выглядит немного по–другому – появляется возможность выбирать (добавлять) упаковки, а также задавать различные коэффициенты (количество базовых единиц измерения в упаковке) для одного вида упаковки:
Маленькое отступление:
Разные коэффициенты понадобились пивзаводу, который отгружает пиво (базовая единица измерения «литр») в кегах разной ёмкости. Ситуация усугубляется тем, что в ОКЕИ единицы «кег» нету, в счетах-фактурах единицу измерения с кодом по ОКЕИ выводить нужно, плодить одинаковые «упак» не получается, проще использовать одну единицу «упак» из ОКЕИ с правильным кодом и иметь возможность использовать разные коэффициенты.
Подбор работает аналогично типовому, только в форме выбора цены и количества сначала требуется выбрать упаковку (хранится в дополнительных сведениях номенклатуры, о формате сохранения ниже).
Если хоть одна упаковка для товара записана, она будет выведена в поле «Упаковка» (если зарегистрировано несколько упаковок, в поле выведется первая найденная, а в списке выбора будут доступны остальные).
Для ввода новой упаковки в списке выбора предусмотрена строка «<Добавить упаковку>», при выборе которой выводится форма регистрации упаковки и коэффициента. Упаковка выбирается из справочника «Классификатор единиц измерения», коэффициент в этой форме вводится любой.
Записанная упаковка и коэффициент для неё добавляются в списки выбора формы ввода количества и цены и выбираются после записи автоматом:
Ввод нового коэффициента производится аналогично новой упаковке – в списке выбора есть строка ««<Добавить коэффициент>», которая выводит ту же форму ввода упаковки и коэффициента. Записанный коэффициент добавляется в список выбора поля.
Про работу с подбором из расширения вроде бы и всё.
Немного про реализацию. Этот подбор - добавленная в расширение обработка (никто конечно не запрещает сотворить подобное внешней обработкой заполнения, но уж больно хочется попробовать поработать с расширениями ;-) ).
Что радует: Пока делались скрины для публикации нашлась ошибка, исправления подключились к тестовой базе «дёшево и сердито».
Что огорчает: Сделать новый файл с расширением из конфигуратора, как первую выгрузку, не получилось напрочь – не реагирует на «Конфигурация» - «Расширения конфигурации» - «Конфигурация» - «Сохранить конфигурацию в файл» никак. Создать новую выгрузку вышло только из режима учета, через управление расширениями … глюк платформы, или руки не оттудова растут?
Обработка подбора из расширения используется не только для непосредственно подбора, но и для получения коэффициента в формах документа «Реализация товаров и услуг», а также записи дополнительных сведений, как из «своей» формы, там и из форм документа «Товары» и «Товары, услуги, комиссия».
Что радует: Добавленные в расширения обработки, в отличии от внешних, имеют модуль менеджера, к процедурам и функциям которого можно обращаться из других объектов, главное, чтобы они были объявлены в менеджере с ключевым словом «Экспорт».
Что огорчает: Нельзя добавлять в расширения свои общие модули, те же процедуры, что воткнуты в модуль менеджера обработки гораздо комфортней поместились бы в общие модуле, причём общие модули можно сделать как «клиентскими», так и «серверными», а с модулем менеджера обработки особо не разгуляешься.
Немного о формах документа – в них сделаны обсчеты выбранной единицы измерения, коэффициента и количества мест, как уже говорилось с использование модуля менеджера обработки подбора. Сама кнопка подбора заменяет типовую – которая из состава команд форм в расширении просто удалена.
Что радует: Формы типовых справочников и документов довольно-таки легко изменить по собственному усмотрению, можно удалять и добавлять реквизиты, вешать свои обработчики и т.п.
Что огорчает: Повесить свои обработчики «ПриИзменении» на колонки табличной части не удалось, а вот событие «ПриИзменении» табличной части «Товары» работает … опять наверное «руки не отту….»
Обработчики «ПриИзменении» ТЧ «Товары» пришлось повторить в обеих формах, т.к., как уже говорилось выше, общих модулей в расширение не включишь, а «по условиям задачи», изменений в типовую, кроме отключения совместимости, мы не вносим.
Про сохранение упаковки и веса. Типовой регистр «Дополнительные сведения» не совсем подходит для хранения в «одном флаконе» единицы измерения и коэффициента (может и подходит, но опять «руки…»), поэтому принято решение хранить в следующем формате:
В заголовок "Свойства" пишем наименование единицы измерения и в «[<Коэффициент>]». Соответственно потом, при получении данных, заголовок парсим, получая числовое значение коэффициента. Хранить упаковки в дополнительных реквизитах номенклатуры не стали – ни к чему засорять экранную форму. Дополнительные сведения, при желании, всегда можно посмотреть, а их создание/изменение расширение делает автоматом.
Кажется ещё не говорилось, что это расширение декастомизированное и сильно «кастрированное» из реальной настройки? Там задача была другая, и, т.к. конфигурация была уже изменённая, никто не запрещал сделать свой регистр для хранения упаковки, коэффициента и веса нетто/брутто там, что гораздо удобней.
Что радует: Всегда можно придумать, как обойтись типовыми объектами.
Что огорчает: Создавать в расширении что – либо, меняющее структуру данных (регистры, справочники, документы, константы и пр.) нельзя.
Пару слов о 8.3.6.* помимо расширений.
Очень порадовало обновление изменённых конфигураций – настройка текста изменённых модулей при сравнении – то, чего не хватало со времён 7.7 ВСЕГДА, теперь работает. Причём использую даже для обновления изменённых конфигураций для обычного приложения. Если не использовать новых «мулек» от 8.3.6, то созданный обновлённый файл конфигурации обновляет хоть на 8.2, хоть на 8.3.5 и работает (по крайней мере пока косяков не было).
Слегка огорчает механизм контроля вхождений при изменении/удалении реквизитов, ищет долго, работает не всегда корректно, но! Раньше вообще не было, так что может и погорячился с «слегка огорчает»?