Лично мне, стандартное действие сочетания Ctrl+D (добавить в избранное) не нужно, но всегда можно указать другое сочетание. Расширенийup 26/10/2022 , обработок делать не буду, просто выложу свое решение задачи, может кому пригодится, а может кто предложит более изящный вариант.
Для использования необходимо поместить код в модуль формы и вызвать СоздатьКомандуДублироватьЗначение() из процедуры ПриСозданииНаСервере() формы.
Собственно, комментариях рассказывают все подводные камни, с которыми я столкнулся.
В теории можно подключить интерактивную запись и тем самым вызывать событие ПриИзменении(), но:
- Мне оно не нужно
- Нужно немного переделать код
UP 24/10/2022
Благодаря SlavaKron я исправил ошибку и переделал с минимальным вызовом сервера, а в связи с этим реализовать вариант с Интерактивной записью оказалось не так сложно
Может кто предложит как получить ПутьКДанным без вызова сервера, т.к. иначе реализовать вариант расширения с общим модулем не получается
UP 26/10/2022
Нашел таки вариант реализации в расширении (с вызовом события ПриИзменении()), но не назову его прям очень изящным и универсальным по нескольким причинам:
- В расширение нужно добавить все формы документов/справочников к которым хотим прикрутить фичу
- Чтобы вывести основную часть кода в общие модули, пришлось искать путь передачи формы в серверную процедуру общего модуля (ПутьКДанным - свойство доступное только на сервере)
UP 27/10/2022
Пока записывал видео для расширения обнаружил пару косяков:
- Выходит ошибка при попытке продублировать поля в которых выводятся реквизиты других объектов (собственно ничего удивительного, добавил проверку)
- При некоторых условиях в выделенном диапазоне не заменялось значение поля первой строки (исправлено)
- Некорректно копируется значение полей являющихся представлением группы других (например: счета учета), что не удивительного, не исправлял, т.к. этот тот еще геморрой и лишает нас некой универсальности
UP 08/07/2024
При очередном обновлении появилась ошибка "Метод объекта не обнаружен". Исправлено. По идее и на предыдущих версиях должна работать.
В расширение нужно добавить все формы документов/справочников к которым хотим прикрутить фичу. Для подключения необходимо в модуль формы добавить код и указать в свойствах формы ДЗ_ПриСозданииНаСервереПосле() как процедуру при событии ПриСозданииНаСервере
&НаСервере
Процедура ДЗ_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
ДЗ_ОсновнойМодульСервер.СоздатьКомандуДублироватьЗначение(ЭтаФорма);
КонецПроцедуры
&НаКлиенте
Процедура ДублироватьЗначение()
ДЗ_ОсновнойМодульКлиент.ДублироватьЗначение(ЭтаФорма);
КонецПроцедуры
&НаКлиенте
Функция ПолучитьЗначениеИсточника() Экспорт
Возврат(ПолучитьЗначениеИсточникаСервер());
КонецФункции
&НаСервере
Функция ПолучитьЗначениеИсточникаСервер()
Возврат(ДЗ_ОсновнойМодульСервер.ПолучитьЗначениеСтрокойВыше(Объект,ЭтаФорма));
КонецФункции
О расширении (прикреплено):
- Механизмы БСП не задействованы.
- Код открыт для редактирования.
В расширении подключены только формы документа "Реализация товаров и услуг" конфигурации Бухгалтерия Предприятия 3.0.122.97- В расширении подключены формы
- Бухгалтерия 3.0.153.18
- Реализация товаров и услуг
- Поступление товаров и услуг
- Счет на оплату покупателю
- Управление торговлей 11.5.12.270
- Реализация товаров и услуг
- Приобретение товаров и услуг
- Бухгалтерия 3.0.153.18
- Не копирует значения из полей "представления" (реквизит другого объекта (например: единица измерения)).
- Поля а-ля "Счета учета" изменит значение ("представление"), но не применит.
Протестировано на:
26 октября 2022 года - 8.3.18.1741, БП 3.0.122.97
02 марта 2023 года - 8.3.22.1750, БП 3.0.131.34
08 июля 2024 года - 8.3.24.1548, БП 3.0.153.18 (Файловая, Серверная)
08 июля 2024 года - 8.3.24.1548, УТ 11.5.12.270 (Серверная, Веб-клиент)
Проверено на следующих конфигурациях и релизах:
- Бухгалтерия предприятия, редакция 3.0, релизы 3.0.153.18
- Управление торговлей, редакция 11, релизы 11.5.12.270