0. ROL32 189 23.01.19 09:13 Сейчас в теме

Редактор объектов информационной базы 8.3

Универсальная внешняя обработка (СДРОбъектУпр) для редактирования реквизитов и табличных частей объектов информационной базы, редактирование движений документов.
Доступ ко всем реквизитам объектов, есть возможность выгрузки и загрузки данных (объекты и движения документов) через XML.
Платформа 8.3, управляемые формы. Версия 1.1.0.35 от 25.11.2019

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо
1. Vladimir Litvinenko 1841 23.01.19 14:36 Сейчас в теме
Рассмотрите в качестве идей для развития:

1) Чтение и запись всех движений документа сразу. Каждый набор записей при этом можно разместить на отдельной вкладке внутри страницы "Движения". Часто движения взаимосвязаны и лучше их отредактировать согласованно и только затем записать.
2) Часто требуется скопировать какое-то значение, пройтись по движениям и вставить его. В тех редакторах, которыми до сих пор пользовался, не было такой функции. Было бы хорошо её увидеть здесь. Частным случаем можно считать изменение периода для всех записей регистров.
3) Отличная возможность найти по GUID. В ряде редакторов также еще возможность получить объект по навигационной ссылке, полученной штатными средствами из формы объекта. Это проще, чем вытаскивать из ссылки GIUID. Хотелось бы увидеть такую возможность и в этом редакторе.
2. ROL32 189 23.01.19 18:06 Сейчас в теме
(1) Спасибо,
по 2) и 3) согласен - будет полезно
по 1) - рассматривал такой вариант, но посчитал очень громоздким, в отличии от табличных частей, регистров которые двигаются документом, может быть очень много - мне лично так не удобно
3. Vladimir Litvinenko 1841 23.01.19 18:40 Сейчас в теме
(2)
рассматривал такой вариант, но посчитал очень громоздким, в отличии от табличных частей, регистров которые двигаются документом, может быть очень много - мне лично так не удобно

Тогда может быть рассмотрите возможность выбирать не один регистр а список регистров для отображения? Это было бы крайне полезно.

Сейчас пользуюсь универсальным редактором как на скриншоте.


Он имеет возможность отображать только заполненные движения, а при необходимости переключиться к редактированию всех движений. Да, бывает неудобно работать с большим количеством вкладок. Было бы удобнее иметь возможность выбора, какие движения отображать.Также есть команда записи всех движений за раз.

Пока что это пожалуй единственная возможность из-за которой продолжу ей пользоваться. На тему подпишусь на случай, если Вы будете вносить эти изменения в обработку.

Переход по навигационной ссылке добавлял в неё из другой обработки. Код простой и можно даже обойтись без COM-объекта, чтобы не нарушать универсальность редактора объектов :

&НаКлиенте
Процедура ВставитьИзНавигационнойСсылки(Команда)
	
	// сначала попробуем вставить из буфера обмена, так как наиболее вероятно ссылка уже скопирована в него
	СсылкаВставленаИзБуфераОбмена = Ложь;
	ОбъектХТМЛ = Новый COMОбъект("htmlfile");
	ТекстИзБуфера = ОбъектХТМЛ.ParentWindow.ClipboardData.Getdata("Text");
		
	Если Не ПустаяСтрока(ТекстИзБуфера) Тогда
		Попытка
			СсылкаИзБуфера = ПолучитьСсылкуИзТекста(ТекстИзБуфера);
			УстановитьИПрочитатьОбъект( СсылкаИзБуфера );
			СсылкаВставленаИзБуфераОбмена = Истина;
		Исключение			
		КонецПопытки; 
	КонецЕсли; 
		
	Если НЕ СсылкаВставленаИзБуфераОбмена Тогда
		ПоказатьВводСтроки(Новый ОписаниеОповещения("ВставитьИзНавигационнойСсылки_ОбработкаВводаСтроки", ЭтаФорма), "", "Укажите навигационную ссылку");
	КонецЕсли;
	
КонецПроцедуры

&НаКлиенте 
Процедура ВставитьИзНавигационнойСсылки_ОбработкаВводаСтроки(Результат, ДополнительныеПараметры) Экспорт
	Если Результат <> Неопределено Тогда
		Попытка
			СсылкаИзБуфера = ПолучитьСсылкуИзТекста(Результат);
			УстановитьИПрочитатьОбъект( СсылкаИзБуфера );
		Исключение			
			ПоказатьПредупреждение(,"Не удалось получить ссылку на объект из навигационной ссылки, убедитесь что она задана правильно");
		КонецПопытки; 		
	КонецЕсли;
КонецПроцедуры



&НаКлиенте
Функция ПолучитьСсылкуИзТекста(СсылкаТекст)	
	
	Результат			= Неопределено;
	ПерваяТочка			= Найти(СсылкаТекст, "e1cib/data/");
	ВтораяТочка			= Найти(СсылкаТекст, "?ref=");
	ПредставлениеТипа   = Сред(СсылкаТекст, ПерваяТочка + 11, ВтораяТочка - ПерваяТочка - 11);
	Если ПустаяСтрока(ПредставлениеТипа) Тогда
		Результат = Неопределено;
	Иначе
		Результат		= ПолучитьСсылкуИзНавигационнойСсылкиЭлементаСервер(ПредставлениеТипа, СсылкаТекст, ВтораяТочка);
	КонецЕсли; 	
	
	Возврат Результат	
	
КонецФункции

&НаСервереБезКонтекста
Функция ПолучитьСсылкуИзНавигационнойСсылкиЭлементаСервер(ПредставлениеТипа, ТекстИзБуфера, ВтораяТочка)
	ШаблонЗначения	= ЗначениеВСтрокуВнутр(ПредопределенноеЗначение(ПредставлениеТипа + ".ПустаяСсылка"));
	ЗначениеСсылки	= СтрЗаменить(ШаблонЗначения, "00000000000000000000000000000000", Сред(ТекстИзБуфера, ВтораяТочка + 5));			
	Результат		= ЗначениеИзСтрокиВнутр(ЗначениеСсылки);
	Возврат Результат;
КонецФункции

Показать
4. ROL32 189 23.01.19 21:23 Сейчас в теме
9. ROL32 189 03.02.19 10:07 Сейчас в теме
(3) Версия 1.1.0.17 включает "Редактор движений" документов - отдельная форма, позволяющяя в отдельном окне одновременно работать со всеми движениями документа
13. Vladimir Litvinenko 1841 03.02.19 13:39 Сейчас в теме
(9) Отлично! Спасибо за полезное обновление.
5. markers 243 24.01.19 06:20 Сейчас в теме
(0) Я правильно понял, что без "Запись в в режиме загрузки", объект записывается как обычно (надеюсь)? И ещё, не могли бы вы добавить возможность добавления дополнительных свойств объекта? Например:
Объект.ДополнительныеСвойства.Вставить("ЗагрузкаДанныхИзРабочегоМеста", Истина);
Дело в том, что иногда нужно записать как обычно (не в режиме загрузки), но надо отключить/включить какие-то проверки, которые реагируют на эти самые дополнительные свойства? В качестве примера, тот же ЧекККМ в Рознице, который если проведен, не дает с собой ничего делать, пока не передашь свойство показанное в примере или не включишь режим загрузки (что в некоторых ситуациях - вредно).
Заранее спасибо!
PS: Обработку не скачивал, возможно там такой функционал уже есть, но о нем не написано.
6. ROL32 189 24.01.19 08:38 Сейчас в теме
(5) Без флага "Запись в в режиме загрузки", объект записывается как обычно.
Возможность установки ДополнительныхСвойств добавлю в следующей версии
7. neuromancer_aza 45 31.01.19 15:08 Сейчас в теме
{ВнешняяОбработка.СДРОбъектУпр.Форма.ФормаОбъекта.Форма(630)}: Значение не является значением объектного типа (СортироватьПоЗначению)
Список.СортироватьПоЗначению();

На некторых документах такая ошибка выходит
8. ROL32 189 31.01.19 18:06 Сейчас в теме
(7) моя ошибка - возникает у документов, которые не двигают регистры
исправление: в модуле формы передвиньте строку 630 на строчку выше
10. leosoft 143 03.02.19 12:48 Сейчас в теме
Интересная разработка, спасибо! Подскажите, пожалуйста, где можно корректно увеличить шрифт у Ваших табличных частей?
11. ROL32 189 03.02.19 12:58 Сейчас в теме
(10) Спасибо, к сожалению только в конфигураторе - у нужных форм поставить требуемое значение для свойства "Вариант масштаба". Сейчас там стоит "Компактный"
12. leosoft 143 03.02.19 13:37 Сейчас в теме
(11) Спасибо, поправил - все отлично + заработала стандартная кнопка "Изменить масштаб"
14. ROL32 189 03.02.19 20:18 Сейчас в теме
(12)Думаю Вам понравится вот эта обработка СДРНавигаторУпр - для меня она более полезна, тем более что СДРОбъектУпр в нее встроен
15. leosoft 143 03.02.19 21:48 Сейчас в теме
(14) Да, я видел ее, спасибо. Пока скачал еще Вашу консоль запросов. Тоже интересно.
16. EvgenURNN 96 15.02.19 15:32 Сейчас в теме
прямо как мой менеджер данных)))
17. ROL32 189 15.02.19 15:52 Сейчас в теме
(16) Это хорошо или плохо?
Хотя мне показалось, что не очень похож
18. EvgenURNN 96 15.02.19 16:09 Сейчас в теме
(17) предназначение очень близкое
не вижу в этом ничего плохого
19. ROL32 189 15.02.19 21:59 Сейчас в теме
(18) я тоже не вижу, спасибо
кстати, у нас рейтинг тоже похож)))
20. Трактор 1191 02.09.19 10:03 Сейчас в теме
Автор потратил много времени. Хорошо получилось.
21. ROL32 189 02.09.19 10:11 Сейчас в теме
22. timeforlive 11 06.11.19 11:55 Сейчас в теме
Офигительная обработка. Много всего полезного в ней, но в ней НЕТ выгрузки и загрузки массива документов за период.
На основе функционала автора доработал обработку.

Важно, выгрузка по XML только между одинаковыми базами, потому что сопоставление по UID (ref).

Ошибок в работе обработки не найдено.

Рекомендую к скачиванию.
23. ROL32 189 06.11.19 13:07 Сейчас в теме
(22) Спасибо
Выгрузку и загрузку делал в Консоли запросов для управляемых форм - там можно гибко подобрать объекты для выгрузки через запрос
24. timeforlive 11 07.11.19 03:27 Сейчас в теме
(23) я не стал лезть дальше ОписанияОповещения и назначил на клиенте свои оповещения для обхода выборки.
в цикле создается файл xml.
Диалог поменял на выбор каталога.
Добавил создание имени файла по типу документа, номеру и даты.
Добавил пару полей с датой и отбором по организации :)
Загрузка также по каталогу :)

Руководство как раз вчера поставили задачу обмен сделать между двумя КА1, выгрузить весь 2019 год.
25. timeforlive 11 21.11.19 04:37 Сейчас в теме
Автор, а ты можешь добавить для справочников такую функцию, как у документов - возможность редактировать "движения" по регистрам сведений?

Полагаю, что у документов регистры показаны исходя из свойств метаданных - Движения по регистрам, поэтому для справочников такой же метод не применить.
Зато можно получить регистры другим способом - перебор измерений и ресурсов, где встречается ссылка на нужный справочник.
26. ROL32 189 21.11.19 08:35 Сейчас в теме
(25) Вряд ли буду это делать.
С моей точки зрения это красивый прибамбас, который в большинстве случаев особого практического смысла не имеет.
Другое дело - отдельный редактор независимых регистров сведений.
27. timeforlive 11 21.11.19 11:08 Сейчас в теме
(26) Ну не знаю. Кому и примбамбас, а кому жизнь спасает =)
Но без него, тоже жить можно: консоль запросов + ручная правка регистров.
28. ROL32 189 21.11.19 13:52 Сейчас в теме
(27) Возможно я неудачно сформулировал, попробую еще раз:

1. Универсальный редактор независимых регистров сведений - это нужная вещь, но он к редактору объектов не имеет отношения
2. Поиск записей регистров, где фигурирует конкретный элемент справочника (или другого объекта метаданных) напоминает "Поиск ссылок на объекты". Не вижу смысла прикручивать этот функционал к редактору объектов.
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист, аналитик, эксперт 1С
Санкт-Петербург
По совместительству

Программист 1С
Санкт-Петербург
зарплата от 80 000 руб. до 130 000 руб.
Полный день

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству

Программист/Cтарший программист 1С
Москва
зарплата от 100 000 руб. до 250 000 руб.
Полный день

Программист 1С
Калининград
зарплата от 60 000 руб. до 80 000 руб.
Полный день