gifts2017

[Расширения] [БП 3.0] Подбор товаров в документе "Реализация товаров и услуг" с упаковками через расширение конфигурации

Опубликовал Алексей Ермилов (Alex_E) в раздел Обработки - Обработка документов

Расширение «Подбор с упаковками» + немного впечатлений от новых возможностях 8.3.6.* Внесём и мы свои пять копеек. 24.11.2016 - Новая версия расширения под 8.3.9.1850 для БП 3.0.44.200

Расширения, которых так долго ждали большевики односнеги, свершилось !!!

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 и работает (по крайней мере пока косяков не было).

Слегка огорчает механизм контроля вхождений при изменении/удалении реквизитов, ищет долго, работает не всегда корректно, но! Раньше вообще не было, так что может и погорячился с «слегка огорчает»?

Скачать файлы

Наименование Файл Версия Размер
Подбор с упаковками v 1.0.0.4.cfe 1
.cfe 143,72Kb
24.11.16
1
.cfe 143,72Kb Скачать

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Елена К (Ele1234567) 01.06.15 12:58
Спасибо, замечательная идея! Данную идею стоит взять на вооружение. Особенно, порадовала возможность использования упаковок - очень актуально для нас.
2. Андрей Суханцов (&rew) 17.08.15 12:55
Я так понял (для себя) что идея расширения конфигурации заключается в максимально возможном (на данный момент времени) облегчении обновления не типовых конфигураций (умышленно не говорю о настройке 1С-ки под пользователя путем подключения того или иного расширения)
Работаем так же, добавляем реквизиты в объекты, подписки на события объектов и менеджеров, новые модули, словом то что при сравнении/объединении "не слетит". А вот уже формы объектов (включая модули форм) меняем в расширении, дабы не иметь мороки при обновлении. Если форма типового объекта меняется и наша форма становится неактуальной, то предусмотрен механизм объединения расширенной и типовой обновленной формы.
3. Алексей Ермилов (Alex_E) 17.08.15 13:11
(2) &rew,
Работаем так же, добавляем реквизиты в объекты, подписки на событ...
в принципе почти согласен. "Добавляем реквизиты в объекты" не айс, вот тут предпочитаю обойтись заложенными в типовую возможностями - например, если нужен дополнительный реквизит документа, от которого будет зависеть его проведение - то добавлять реквизит в сам документ необязательно, можно записать его в свойства документа, а в форме из расширения вывести его пользователю, обработку проведения прописать в подписке и с обновлениями проблем минимум.
4. Андрей Суханцов (&rew) 19.08.15 11:11
(3) Alex_E, Согласен, добавлять реквизит не то что бы неверно, просто - моветон. Я бы даже прекрасно обходился дополнительными реквизитами объектов, если бы такая табличная часть была во всех документах хотя бы, не говоря уже о справочниках (речь идет об УТ 11.1), а не только в непонятном образом избранных фирмой 1С.
Опять же режим совместимости на всех конфах пока живет и будет жить. Тут уже в любом случае нужно включать режим редактирования. Короче задумка с расширениями мне очень по душе, но подпилить напильником все-равно придется.
5. Алексей Ермилов (Alex_E) 19.08.15 11:21
(4) &rew, Пилить приходится куды ж без этого, но...ИМХО - сначала думаем, потом пилим. Если есть возможность обойтись без напильника - делаем без него :-) Пусть затратим больше времени на такой подход, зато потом экономим время на обновлениях, без которых то же никуда...
6. Юрий Дорошенко (nord) 06.11.15 20:42
"Что радует: Формы типовых справочников и документов довольно-таки легко изменить по собственному усмотрению, можно удалять и добавлять реквизиты, вешать свои обработчики и т.п."
Помогите пожалуйста. Добавил при помощи Расширения реквизит на форму справочника "Основные средства", необходимо написать внешний отчет, в который должен выводиться данный реквизит. Как обратиться к этому реквизиту?
Заранее спасибо.
7. Алексей Ермилов (Alex_E) 06.11.15 20:48
(6) nord, На форму можно добавить что угодно, но отчеты работают с данными, которые где должны храниться, Ваш реквизит где сохраняется?
8. Юрий Дорошенко (nord) 07.11.15 12:48
(7) Alex_E, Прошу прощения. Понял, что ерунду какую-то сказал.
9. Алексей Ермилов (Alex_E) 07.11.15 14:20
(8) nord, Вообще то сохранять можно, если хочется, если справочник или документ позволяет записывать дополнительные реквизиты или сведения, то сохранять можно туда, тгда и отчеты можно будет формировать по этим данным. А чтение и сохранение в расширении реализовать легко.
10. Юрий Дорошенко (nord) 07.11.15 21:17
(9) Alex_E, спасибо большое. я думал об этом, но почему-то в доступных типах дополнительных реквизитов не увидел "Договор". после вашего ответа, еще раз посмотрел и нашел. Видимо заработался)
11. Алексей Ермилов (Alex_E) 07.11.15 21:28
12. John Doe (winterspring) 07.02.16 16:25
Немного не понял зачем заморочка с коэффиценами, разве нельзя создать индивидуальный набор упаковок и там указать необходимые коэффициенты.
13. Алексей Ермилов (Alex_E) 07.02.16 16:28
(12) winterspring, Если Вы знаете, как то сделать в БП 3.0, то расскажите - буду знать... Или уточните, что значит "индивидуальный набор упаковок" в БП 3.0, может я чё там не вижу?
14. John Doe (winterspring) 08.02.16 10:26
Пардон, индивидуальные упаковки есть в УТ. Не обратил внимание, что речь про БП.
15. Reg Word (regword7) 24.11.16 06:35
Доброго времени суток!
Алексей,кажется ,все делаю по написанному,но в форме подбора не появляются новые реквизиты (количество мест,единица измерения,коэфициент).Из чего делаю вывод,что не подхватилась обработка пу_ПодборНоменклатуры.В чем может быть причина?
Использую Бухгалтерия предприятия, редакция 3.0 (3.0.44.155).Платформа 1С:Предприятие 8.3 (8.3.9.1818). Режим совместимости интерфейса выставил в значение "Такси" (и в основной,и в расширяемой конф),Режим совместимости в "Версия 8.3.8".Изменил 2 реквизита у документа РеализацияТоваровУслуг "ЗаГлавногоБухгалтераПоПриказу" стал "УдалитьЗаГлавногоБухгалтераПоПриказу",а "ЗаРуководителяПоПриказу" стал "УдалитьЗаРуководителяПоПриказу" иначе было сообщение об ошибке при подключении.
16. Алексей Ермилов (Alex_E) 24.11.16 08:13
(15)
платформа 8.3.6.2014 БП 3.0.40.28, отключен режим совместимости:
- написано давно, на 3.0.44.* под платформой 8.3.9.* работать не будет, сегодня поправлю - выложу обновленную версию расширения
17. Алексей Ермилов (Alex_E) 24.11.16 09:40
(15) Выложил новую версию под 8.3.9.1850 БП 3.0.44.1850