Универсальная внешняя обработка для редактирования реквизитов и табличных частей объектов информационной базы, редактирование движений документов.
Доступ ко всем реквизитам объектов, есть возможность выгрузки и загрузки данных (объекты и движения документов) через XML.
Платформа 8.3, управляемые формы. Версия 1.1.0.37 от 14.12.2019
1.
Vladimir Litvinenko
184423.01.19 14:36 Сейчас в теме
Рассмотрите в качестве идей для развития:
1) Чтение и запись всех движений документа сразу. Каждый набор записей при этом можно разместить на отдельной вкладке внутри страницы "Движения". Часто движения взаимосвязаны и лучше их отредактировать согласованно и только затем записать.
2) Часто требуется скопировать какое-то значение, пройтись по движениям и вставить его. В тех редакторах, которыми до сих пор пользовался, не было такой функции. Было бы хорошо её увидеть здесь. Частным случаем можно считать изменение периода для всех записей регистров.
3) Отличная возможность найти по GUID. В ряде редакторов также еще возможность получить объект по навигационной ссылке, полученной штатными средствами из формы объекта. Это проще, чем вытаскивать из ссылки GIUID. Хотелось бы увидеть такую возможность и в этом редакторе.
(1) Спасибо,
по 2) и 3) согласен - будет полезно
по 1) - рассматривал такой вариант, но посчитал очень громоздким, в отличии от табличных частей, регистров которые двигаются документом, может быть очень много - мне лично так не удобно
рассматривал такой вариант, но посчитал очень громоздким, в отличии от табличных частей, регистров которые двигаются документом, может быть очень много - мне лично так не удобно
Тогда может быть рассмотрите возможность выбирать не один регистр а список регистров для отображения? Это было бы крайне полезно.
Сейчас пользуюсь универсальным редактором как на скриншоте.
Он имеет возможность отображать только заполненные движения, а при необходимости переключиться к редактированию всех движений. Да, бывает неудобно работать с большим количеством вкладок. Было бы удобнее иметь возможность выбора, какие движения отображать.Также есть команда записи всех движений за раз.
Пока что это пожалуй единственная возможность из-за которой продолжу ей пользоваться. На тему подпишусь на случай, если Вы будете вносить эти изменения в обработку.
Переход по навигационной ссылке добавлял в неё из другой обработки. Код простой и можно даже обойтись без COM-объекта, чтобы не нарушать универсальность редактора объектов :
&НаКлиенте
Процедура ВставитьИзНавигационнойСсылки(Команда)
// сначала попробуем вставить из буфера обмена, так как наиболее вероятно ссылка уже скопирована в него
СсылкаВставленаИзБуфераОбмена = Ложь;
ОбъектХТМЛ = Новый COMОбъект("htmlfile");
ТекстИзБуфера = ОбъектХТМЛ.ParentWindow.ClipboardData.Getdata("Text");
Если Не ПустаяСтрока(ТекстИзБуфера) Тогда
Попытка
СсылкаИзБуфера = ПолучитьСсылкуИзТекста(ТекстИзБуфера);
УстановитьИПрочитатьОбъект( СсылкаИзБуфера );
СсылкаВставленаИзБуфераОбмена = Истина;
Исключение
КонецПопытки;
КонецЕсли;
Если НЕ СсылкаВставленаИзБуфераОбмена Тогда
ПоказатьВводСтроки(Новый ОписаниеОповещения("ВставитьИзНавигационнойСсылки_ОбработкаВводаСтроки", ЭтаФорма), "", "Укажите навигационную ссылку");
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ВставитьИзНавигационнойСсылки_ОбработкаВводаСтроки(Результат, ДополнительныеПараметры) Экспорт
Если Результат <> Неопределено Тогда
Попытка
СсылкаИзБуфера = ПолучитьСсылкуИзТекста(Результат);
УстановитьИПрочитатьОбъект( СсылкаИзБуфера );
Исключение
ПоказатьПредупреждение(,"Не удалось получить ссылку на объект из навигационной ссылки, убедитесь что она задана правильно");
КонецПопытки;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Функция ПолучитьСсылкуИзТекста(СсылкаТекст)
Результат = Неопределено;
ПерваяТочка = Найти(СсылкаТекст, "e1cib/data/");
ВтораяТочка = Найти(СсылкаТекст, "?ref=");
ПредставлениеТипа = Сред(СсылкаТекст, ПерваяТочка + 11, ВтораяТочка - ПерваяТочка - 11);
Если ПустаяСтрока(ПредставлениеТипа) Тогда
Результат = Неопределено;
Иначе
Результат = ПолучитьСсылкуИзНавигационнойСсылкиЭлементаСервер(ПредставлениеТипа, СсылкаТекст, ВтораяТочка);
КонецЕсли;
Возврат Результат
КонецФункции
&НаСервереБезКонтекста
Функция ПолучитьСсылкуИзНавигационнойСсылкиЭлементаСервер(ПредставлениеТипа, ТекстИзБуфера, ВтораяТочка)
ШаблонЗначения = ЗначениеВСтрокуВнутр(ПредопределенноеЗначение(ПредставлениеТипа + ".ПустаяСсылка"));
ЗначениеСсылки = СтрЗаменить(ШаблонЗначения, "00000000000000000000000000000000", Сред(ТекстИзБуфера, ВтораяТочка + 5));
Результат = ЗначениеИзСтрокиВнутр(ЗначениеСсылки);
Возврат Результат;
КонецФункции
(3) Версия 1.1.0.17 включает "Редактор движений" документов - отдельная форма, позволяющяя в отдельном окне одновременно работать со всеми движениями документа
(0) Я правильно понял, что без "Запись в в режиме загрузки", объект записывается как обычно (надеюсь)? И ещё, не могли бы вы добавить возможность добавления дополнительных свойств объекта? Например:
Дело в том, что иногда нужно записать как обычно (не в режиме загрузки), но надо отключить/включить какие-то проверки, которые реагируют на эти самые дополнительные свойства? В качестве примера, тот же ЧекККМ в Рознице, который если проведен, не дает с собой ничего делать, пока не передашь свойство показанное в примере или не включишь режим загрузки (что в некоторых ситуациях - вредно).
Заранее спасибо!
PS: Обработку не скачивал, возможно там такой функционал уже есть, но о нем не написано.
{ВнешняяОбработка.СДРОбъектУпр.Форма.ФормаОбъекта.Форма(630)}: Значение не является значением объектного типа (СортироватьПоЗначению)
Список.СортироватьПоЗначению();
(10) Спасибо, к сожалению только в конфигураторе - у нужных форм поставить требуемое значение для свойства "Вариант масштаба". Сейчас там стоит "Компактный"
Офигительная обработка. Много всего полезного в ней, но в ней НЕТ выгрузки и загрузки массива документов за период.
На основе функционала автора доработал обработку.
Важно, выгрузка по XML только между одинаковыми базами, потому что сопоставление по UID (ref).
(23) я не стал лезть дальше ОписанияОповещения и назначил на клиенте свои оповещения для обхода выборки.
в цикле создается файл xml.
Диалог поменял на выбор каталога.
Добавил создание имени файла по типу документа, номеру и даты.
Добавил пару полей с датой и отбором по организации :)
Загрузка также по каталогу :)
Руководство как раз вчера поставили задачу обмен сделать между двумя КА1, выгрузить весь 2019 год.
Автор, а ты можешь добавить для справочников такую функцию, как у документов - возможность редактировать "движения" по регистрам сведений?
Полагаю, что у документов регистры показаны исходя из свойств метаданных - Движения по регистрам, поэтому для справочников такой же метод не применить.
Зато можно получить регистры другим способом - перебор измерений и ресурсов, где встречается ссылка на нужный справочник.
(25) Вряд ли буду это делать.
С моей точки зрения это красивый прибамбас, который в большинстве случаев особого практического смысла не имеет.
Другое дело - отдельный редактор независимых регистров сведений.
(27) Возможно я неудачно сформулировал, попробую еще раз:
1. Универсальный редактор независимых регистров сведений - это нужная вещь, но он к редактору объектов не имеет отношения
2. Поиск записей регистров, где фигурирует конкретный элемент справочника (или другого объекта метаданных) напоминает "Поиск ссылок на объекты". Не вижу смысла прикручивать этот функционал к редактору объектов.
Программист 1С
Калининград зарплата от 60 000 руб.до 80 000 руб. Полный день
Перенос данных КА 1.1 => ERP 2 (ЕРП) (обработка переноса документов, остатков и справочной информации из "1С:Комплексная автоматизация, ред. 1.1" в "1С:ERP Управление предприятием, ред 2")
Перенос данных КА 1.1 => ERP 2 (ЕРП) (обработка переноса документов, остатков и справочной информации из "1С:Комплексная автоматизация, ред. 1.1" в "1С:ERP Управление предприятием, ред 2")