Недокументированное использование стандартных обработок из меню "Все функции".

09.02.18

Разработка - Механизмы платформы 1С

Рассмотрены возможности произвольного использования стандартных функций, вызываемых из меню платформы "Все функции" - "Стандартные" (Активные пользователи, Журнал регистрации, Поиск ссылок на объект, Проведение документов ...).

В платформе 1С предприятие есть очень удобные стандартные функции:

1. Активные пользователи;
2. Журнал регистрации;
3. Поиск ссылок на объект;
4. Проведение документов;
5. Удаление помеченных объектов;
6. Управление внешними источниками данных;
7. Управление итогами;
8. Управление полнотекстовым поиском;
9. Управление расширениями конфигурации;

Однако нигде не описаны варианты их использования кроме вызова из пункта "Все функции" главного меню. Поэтому иногда встречается мнение, что эти функции являются чем-то специфичным и сложным, что они вообще написаны не на 1С, а на С++ как и сама платформа. 

На самом деле технически эти функции являются самыми обычными 1С обработками, включенными в состав платформы, и ими можно пользоваться полностью аналогично любым другим привычным обработкам.

Рассмотрим несколько способов их использования на примере стандартной обработки "Поиск ссылок на объекты".

1. Вызов стандартной обработки из любого пункта меню. Обработка "Поиск ссылок на объекты" достаточно удобна и может пригодиться обычным пользователям. Однако не всегда возможно давать им доступ к меню "Все функции" из-за ограниченного уровня доступа пользователя. В этом случае можно добавить вызов обработки из стандартного меню.

Добавляем в конфигурацию новую команду и в модуле команды прописываем текст:

&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
    ПодключитьВнешнююОбработкуНаСервере();
    ОткрытьФорму("ВнешняяОбработка.StandardFindByRef.Форма");
КонецПроцедуры

&НаСервере
Процедура ПодключитьВнешнююОбработкуНаСервере()
    ВнешниеОбработки.Подключить("v8res://mngbase/StandardFindByRef.epf", "StandardFindByRef", false);
КонецПроцедуры

При выборе этой команды у пользователя запустится обработка "Поиск ссылок на объекты" из обычного меню. 

2. Подмена стандартной обработки. Допустим, по какой-то причине нас не устраивает стандартная обработка. В этом случае мы можем ее подменить любой другой. Выполняем на сервере следующий код (например в "ПриЗапуске()" конфигурации) и после этого из стандартного меню "Все функции" - "Поиск ссылок на объект" будет вызываться наша собственная внешняя либо встроенная в конфигурацию обработка. 

	ДвоичныеДанные = Новый ДвоичныеДанные("C:\ВнешняяОбработка.epf");
	АдресХранилища = ПоместитьВоВременноеХранилище(ДвоичныеДанные); 
	ВнешниеОбработки.Подключить(АдресХранилища, "StandardFindByRef", false);

3. Изменение стандартной обработки. Стандартные обработки очень удобны, однако иногда в них не хватает какой-то мелочи. Например, нам может понадобиться добавить в обработку "Поиск ссылок на объект" фильтр для поиска только по документам. Можно, конечно, написать такую же обработку самостоятельно, а можно просто взять встроенную и немного изменить. Чтобы получить встроенную в виде отдельно файла, выполняем код:

КопироватьФайл("v8res://mngbase/StandardFindByRef.epf","C:\ВнешняяОбработка.epf");

Теперь у нас есть стандартный 1С-ный файл "C:\ВнешняяОбработка.epf" с встроенной обработкой. Его можно открыть в конфигураторе и внести любые нужные изменения. В дальнейшем модифицированную обработку можно использовать просто как внешнюю либо подключить обратно вместо встроеной.

Ну и напоследок соответствие стандартных обработок внутренним адресам платформы.

1. Активные пользователи - "v8res://mngbase/StandardActiveUsers.epf";
2. Журнал регистрации - "v8res://mngbase/StandardEventLog.epf";
3. Поиск ссылок на объект - "v8res://mngbase/StandardFindByRef.epf";
4. Проведение документов - "v8res://mngbase/StandardDocumentsPosting.epf";
5. Удаление помеченных объектов - "v8res://mngbase/StandardDeleteMarkedObjects.epf";
6. Управление внешними источниками данных - "v8res://mngbase/StandardExternalDataSourcesManagement.epf";
7. Управление итогами - "v8res://mngbase/StandardTotalsManagement.epf";
8. Управление полнотекстовым поиском - "v8res://mngbase/StandardFullTextSearchManagement.epf";
9. Управление расширениями конфигурации - "v8res://mngbase/StandardExtensionsManagement.epf";
10. upd. с 8.3.11. Управление системой взаимодействия  - "v8res://mngbase/StandardECSRegister.epf"

И еще одна обработочка. Не входит в стандартные, но тоже полезна для ознакомления.

11. Конструктор запросов на управляемых формах - "v8res://mngbase/QueryWizard.epf";

Не стоит забывать, что такое использование стандартных функций является недокументированным. Т.е. на текущий момент на платформах 8.2 - 8.3.6 такие варианты вызовов работают вполне корректно. Но могут перестать работать в любой момент, поэтому злоупотреблять ими не стоит. 

Также стоит учитывать, что в официальных материалах по 1С не документирована возможность простого изменения этих обработок не случайно. Встроенные обработки разрабатываются с учетом функционала текущей платформы. Т.е. они учитывают особенности работы и ограничения той платформы, в состав которой включены. В каких-то случаях, при использовании обработки от другой платформы, могут быть ошибки. Особенно в сложных режимах, например, при удалении документов, управлении итогами или восстановлении последовательностей. Так что использовать эти обработки следует аккуратно, оценивая возможные риски.

 

Активные пользователи Журнал регистрации Поиск ссылок на объект Проведение документов Удаление помеченных объектов Управление внешними источниками данных Управление итогами Управление полнотекстовым поиском Управление расширениями конфигурации

См. также

Механизмы платформы 1С Программист Стажер Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Эта небольшая статья - некоторого рода шпаргалка по файловым потокам: как и зачем с ними работать, какие преимущества это дает.

23.06.2024    7918    bayselonarrend    20    

156

Механизмы платформы 1С Программист Стажер Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Пример использования «Сервисов интеграции» без подключения к Шине и без обменов.

13.03.2024    6201    dsdred    16    

80

Механизмы платформы 1С Программист Стажер Платформа 1С v8.3 Бесплатно (free)

Все мы используем массивы в своем коде. Это один из первых объектов, который дают ученикам при прохождении обучения программированию. Но умеем ли мы ими пользоваться? В этой статье я хочу показать все методы массива, а также некоторые фишки в работе с массивами.

24.01.2024    18782    YA_418728146    26    

72

Механизмы платформы 1С Программист Бесплатно (free)

Язык программирования 1С содержит много нюансов и особенностей, которые могут приводить к неожиданным для разработчика результатам. Сталкиваясь с ними, программист начинает лучше понимать логику платформы, а значит, быстрее выявлять ошибки и видеть потенциальные узкие места своего кода там, где позже можно было бы ещё долго медитировать с отладчиком в поисках источника проблемы. Мы рассмотрим разные примеры поведения кода 1С. Разберём результаты выполнения и ответим на вопросы «Почему?», «Как же так?» и «Зачем нам это знать?». 

06.10.2023    24039    SeiOkami    48    

135

WEB-интеграция Универсальные функции Механизмы платформы 1С Программист Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

При работе с интеграциями рано или поздно придется столкнуться с получением JSON файлов. И, конечно же, жизнь заставит проверять файлы перед тем, как записывать данные в БД.

28.08.2023    15094    YA_418728146    7    

169
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. friend0 19.06.15 12:34 Сейчас в теме
Неожиданно. Если не секрет, то где подобную информацию можно раскопать? И можно ли еще что-то стандартное сделать нестаднартным? "Изменить форму", например.
Scaramuccia; pavlo; chebser; IvanovAV; ikekoval; Spacer; alevnev; CyberCerber; sashocq; sergpogo; Dementor; +11 Ответить
7. ekaruk 4976 19.06.15 13:41 Сейчас в теме
(1) friend0, (4) Dementor, В официальном описании ничего этого нет.
Поэтому и "недокументированное использование".
Вытянуто из ресурсных файлов .res в поставке платформы.
Случайно наткнулась при разборе ошибок платформы.
KAS1979; Somebody1; simuljakr; m_aster; wunderland; Scaramuccia; lioness3148; Gang031; IvanovAV; vitaliy1911; +10 Ответить
128. tormozit 7238 08.05.20 18:13 Сейчас в теме
(1) Реализовать такую функциональность через документированную объектную модель управляемой формы невозможно. В частности невозможно снаружи формы получить результирующие заголовки ее полей. Поэтому такой обработки скорее всего не существует. А если она и существует, то она должна использовать какие то недокументированные возможности в объектной модели управляемой формы, которые я очень хотел бы познать.
2. AlX0id 19.06.15 12:51 Сейчас в теме
Ага, и, например, ширину панели открытых окон в такси :)
3. ZhokhovM 756 19.06.15 12:58 Сейчас в теме
Круто, спасибо. В обработке "StandardDocumentsPosting" можно вернуть закладку "Восстановление последовательностей", заменив код:
"Items.RestoreSequence.Enabled" на "True", далее изучить код для заполнения списка восстановления последовательностей.
4. Dementor 1035 19.06.15 13:07 Сейчас в теме
Автор, действительно, поделитесь методом поиска информации!
О ресурсах v8res:// в официальной документации я ничего не находил. Единственные упоминания появляются в описаниях ошибок. Но с типовыми пунктами меню сгенерировать ошибку нереально.
5. w.r. 650 19.06.15 13:18 Сейчас в теме
На глюки платформы при использовании этих функций никто не наталкивался?
6. Dementor 1035 19.06.15 13:39 Сейчас в теме
Не там искал... Оказывается это тема годичной давности с партнерского форума. Там и полный состав стандартных обработок и код для сохранения/переопределения. А так же официальная позиция компании 1С по этому поводу:

Вполне очевидно, что данная возможность не является лицензионной.

Тот факт, что стандартные обработки не предоставляются в пользовательский интерфейс - это осознанное решение. Конкретное прикладное решение опирается на некоторый конкретный и прогнозируемый (прикладным разработчиком) список функциональных возможностей. Стандартные функции развиваются синхронно с платформой, а не с прикладным решением. Поэтому пользователю, кажется, будет совершенно непонятно, почему (после обновления платформы и без обновления прикладного решения) какая-то функция внезапно поменяла свой внешний вид и предоставляемые возможности.

Кроме того, переопределение системных форм ведет к тому, что теряется некоторый пользовательский опыт, когда пользователь, переходя от одного прикладного решения к другому, внезапно для него получает совершенно другую форму с (в пределе) совершенно другим поведением и возможностями.

Также стоит отметить, что любое использование недокументированных возможностей в любой момент времени может перестать работать (описываемая возможность не является исключением).
Danil.Potapov; ikekoval; Дмитрий74Чел; +3 Ответить
84. tailer2 13.12.16 14:55 Сейчас в теме
(6) трабл в том, что любая документированная фича в любой момент может перестать работать

в вообще, доступно и всерьез, знаете ли
ixijixi; EugeneSemyonov; Somebody1; ksely; Hobbit_Jedi; v.l.; +6 Ответить
86. Dementor 1035 29.12.16 17:29 Сейчас в теме
(84) не нужно путать отмену документированных и недокументированных фич. Согласен, что документированные возможности тоже отменяют и изменяют, но при этом такие изменения явно документируют и о них извещают пользователей платформы (а далее это уже ваше право не читать файл V8Update.htm). Стоит отметить, что отмененные фичи в новых платформах могут продолжить работать, если для конфигурации выбрать режим совместимости с предыдущими версиями.

Недокументированные возможности могут появляться и исчезать хаотично, про их жизненный цикл никто не отчитывается и если они пропадут, то никакой режим совместимости уже не поможет.
117. Dr.Mult 20 04.12.18 17:49 Сейчас в теме
(6)
и код для сохранения/переопределения.
, конечно тут элементарный копипаст с изменением пары фраз и выдача за свой титанический труд ( цитата "Случайно наткнулась при разборе ошибок платформы. " - ха .. ха)
8. Поручик 4692 19.06.15 13:42 Сейчас в теме
Супер. Автору зачёт. Вот уж не знал. Сколько встречал вопросов, а можно ли вызвать что-то стандартное, и везде ответ - нельзя.
9. ekaruk 4976 19.06.15 13:46 Сейчас в теме
(8) Поручик, Официально это делать действительно нельзя.
Позиция 1С по поводу таких переопределений описана в (6). И в принципе я с ней согласна. Их подход правильный. Есть стандартные функции, которые зависят от релиза платформы и развиваются параллельно с ней.
Но в некоторых случаях все-таки пользоваться под свою ответственность можно.
10. bulpi 217 19.06.15 14:11 Сейчас в теме
11. ZhokhovM 756 19.06.15 14:32 Сейчас в теме
Автор, а кроме стандартных обработок есть еще другие стандартные встроенные объекты? Например, по списку внутренних идентификаторов платформы: "v8res://mngbase/" или "v8res://...".
12. ekaruk 4976 19.06.15 14:55 Сейчас в теме
(11) ZhokhovM, По обработкам вроде это все.
Есть много вшитых в ресурсы форм, но как их правильно вытащить я пока не разбиралась.
13. mburkin 11 19.06.15 15:09 Сейчас в теме
А такую штуку можно провернуть со всеми обработками или только из тех, что скрываются в пункте "Стандартные"?
14. ekaruk 4976 19.06.15 15:13 Сейчас в теме
(13) mburkin, А с какими это "со всеми"?
Насколько я знаю, других обработок в платформе нет.
На самом деле в данном случае для подключения используется стандартный метод менеджера внешних обработок ВнешниеОбработки.Подключить()
Смысл этой статьи только в определении внутренних адресов, по которым можно взять стандартные обработки.
15. МихаилМ 19.06.15 15:53 Сейчас в теме
16. ZOMI 141 19.06.15 17:34 Сейчас в теме
17. w.r. 650 19.06.15 17:48 Сейчас в теме
Автор, удаление пормеченных объектов разве не является обработкой конфигурации?
19. ekaruk 4976 19.06.15 17:56 Сейчас в теме
(17) w.r., Всегда есть платформенная в меню "Все функции".
Плюс дополнительно в конфигурации может быть включена обработка, адаптированная под особенности конкретной конфигурации.
Например, в УТ11, есть отдельные обработки "Удаление помеченных объектов", "Управление итогами и агрегатами", "Управление полнотекстовым поиском".
Но это именно отдельные независимые обработки.
В общем случае при наличии обработок в конфигурации лучше использовать их, а не встроенные в платформу.
18. Fragster 1151 19.06.15 17:53 Сейчас в теме
Очень хочется подменить стандартное окно полнотекстового поиска, случайно нет информации про него?
20. ekaruk 4976 19.06.15 17:58 Сейчас в теме
(18) Fragster, Насколько я понимаю, это не платформенная, а стандартная встроенная в конфигурацию обработка.
С ней можно делать все, что угодно, стандартными средствами из конфигуратора.
21. w.r. 650 19.06.15 18:12 Сейчас в теме
Автор, и еще в примере 1 ошибка ПодключитьВнешнююОбработкуНаСервере() это процедура, иначе нужно что-нибудь возвращать в функции и лучше вызывать без контекста
22. ekaruk 4976 19.06.15 19:24 Сейчас в теме
(21) w.r., Да, действительно. с точки зрения идеологии работы правильнее Процедура.
Поправила.
Хотя, как ни странно, вариант с функцией тоже работает и ошибок не выдает.
По поводу контекста, это пример для модуля команды.
В нем нет варианта директивы &НаСервереБезКонтекста.
Но при вызове из формы логичнее использовать без контекста.
23. w.r. 650 19.06.15 19:41 Сейчас в теме
(22) функция без явного указания возвращаемого значения возвращает Неопределено, вот когда вызывают процедуру, как функцию, тогда будет ошибка выполнения. Если общая команда, то логично, что всегда есть контекст, извиняюсь. Но я бы конфигурацию менять не стал без особой крайней надобности. Лучше внешняя обработка
27. w.r. 650 20.06.15 16:37 Сейчас в теме
(22) стало интересно, тут с точки зрения идеологии нужна все-таки функция, тк метод ВнешниеОбработки.Подключить возвращает имя подключенной обработки, значит можно контролировать этот процесс :
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
    ИмяОбработки = ПодключитьВнешнююОбработкуНаСервере(); 
    Если ИмяОбработки = "StandardFindByRef" Тогда
      ОткрытьФорму("ВнешняяОбработка.StandardFindByRef.Форма");
    Иначе
      Предупреждение("Не удалось подключить внешнюю обработку!");
    КонецЕсли;
КонецПроцедуры

&НаСервере
Функция ПодключитьВнешнююОбработкуНаСервере()
    ИмяОбработки = ВнешниеОбработки.Подключить("v8res://mngbase/StandardFindByRef.epf", "StandardFindByRef", Ложь);
Возврат ИмяОбработки;
КонецФункции
Показать

Ну если не используется модальность, то показать через метод ПоказатьПредупреждение
24. Aleksey.Bochkov 3683 20.06.15 09:26 Сейчас в теме
(0) поясню минус - ИМХО, от таких возможностей больше вреда, чем пользы. По этим соображениям и не публиковал тут подобную информацию когда раскопал эту фичу.
25. ekaruk 4976 20.06.15 11:10 Сейчас в теме
(24) Aleksey.Bochkov, У меня были сомнения о том, стоит ли описывать такие вещи о работе платформы. Думаю, то что они не описаны в официальной документации от 1С это правильно.
Однако я также считаю что для правильной работы с платформой программист должен понимать, как она работает, из чего состоит программный продукт, как взаимосвязаны его части (платформа, конфигурация, информационная база), какой функционал выполняется на каком уровне, какие настройки на каком уровне настраиваются.
При возникновении проблем со стандартными механизмами, нужно иметь возможность разобраться, в чем именно проблема. Программист должен уметь понять как работает нужный функционал. Именно для того, чтобы понять, в чем именно проблема в данных в конкретнй базе. А для этого нужно иметь возможность взять эту же обработку из текущей версии платформы в виде файла и пройтись отладчиком по непонятным вещам.
Также я считаю полезной возможность делать свои обработки на базе стандартных встроенных, а не изобретать каждый раз велосипеды, которые работают каждый по-разному.
И на мой взгляд, Инфостарт именно тот ресурс, на котором должна быть подобная информация. Также как информация о внутреннней структуре .cf и .dt файлов, структуре хранения системных данных базы в SQL. Да, неправильное использование такой информации может навредить, но понимание этих вещей необходимо для правильной работы и возможности оперативно решать возникающие задачи.
IgorS; EugeneSemyonov; Mizhgan42; user1580936; rintik; MoshkovEV; Greysvandir; Elvira_Saydasheva; m_aster; Anna_arbuz; Jeka44; bulpi; Somebody1; Korolev; KolyNCo; Hobbit_Jedi; bark.722688; AllexSoft; sergathome; tgr123; ayuplotnikov; Wdivine; jif; vvp117; zuza; EVKash; IvanovAV; purgin; TeMochkiN; Maruska77; slavapil; корум; alexeyplotnikov; AliceLight; Vovan58; tormozit; Sergey-MX; antonov_i; wildwilduser; chmv; alex-l19041; kinazarov; sytkosa; viking(j); [AdepT]; kentavr27; Craig; anchovy; marat_n; EduardSpb; Alexsur; Sgeor; frkbvfnjh; flexornail; Enot; v.l.; Nuobu; andrey1508; rzabolotin; invertercant; AndrewVVS; mrXoxot; sergo_722; CratosX; cefew; AlexAuto; RomaM; FullMoon; Зеленоград; 1cprogr_nsk; Corablove; FSerg; MRAK; begemot; worker1c; unichkin; +76 Ответить
26. w.r. 650 20.06.15 15:39 Сейчас в теме
(25) Не согласен. Работа программиста прежде всего разработка. Порнимать механизмы нужно, но только касаемо части разработки. Если возникли проблемы с платформой, то лучше и правильней все-таки откатиться на предыдущую версию, где нет проблемы, и сообщить о ней разработчику, чем пытаться ее устранить самостоятельно, используя недокументируемые функции
28. tormozit 7238 20.06.15 23:48 Сейчас в теме
Интересно а внешние обработки с обычными формами там есть? Считаю было бы очень полезно в статье указать ссыдку на тему партнерского форума, где даны официальные разъяснения по этой возможности.
29. ekaruk 4976 21.06.15 00:04 Сейчас в теме
(28) tormozit, Формы обычные есть. Обработок в явном виде не видела.
Насколько я понимаю, тема имелась в виду эта. Ничего больше не встречала. https://partners.v8.1c.ru/forum/topic/1252472
Там нет особо официальных разъяснений. Основная идея: использовать функции платформы можно только из основного меню.
30. tarassov 113 22.06.15 18:01 Сейчас в теме
Очень интересная идея автора!
И чуть-чуть ее можно продолжить.
Информация о файлах v8res://mngbase/StandardActiveUsers.epf и т.п. лежит в файле mngbase_root.res
"v8res://mngbase/dcssFormModuleRus.txt"
"v8res://mngbase/searchFormModuleRus.txt"
"v8res://mngbase/FileSystemExtension.zip"
"v8res://mngbase/CryptoProtectionExtension.zip"
"v8res://mngbase/html.txt"
"v8res://mngbase/model.xdto"
Greysvandir; IvanovAV; kote; oleg-x; CSiER; newborn; kraynev-navi; serg__k; invertercant; GlukAl; frkbvfnjh; v.l.; Serj1C; +13 Ответить
146. user958974 31.01.23 11:38 Сейчас в теме
(30)
mngbase_root.res
А чем посмотреть сожержимое этого файла?
148. tarassov 113 01.02.23 14:31 Сейчас в теме
31. mrmasson 57 23.06.15 09:10 Сейчас в теме
Ставлю жирный плюс. В УТ 11.1 в обработке поиска ссылки не объект нет справочника "Номенклатура". Благодаря Вашему способу, смогу вытянуть стандартную обработку, подправить ее и пользоваться в свое удовольствие
32. ekaruk 4976 23.06.15 10:05 Сейчас в теме
(31) mrmasson, На самом деле в Вашем случае это не обязательно.
Он там есть, просто называется "Позиция номенклатуры".
Вытягивать придется только если нужно будет какие-то еще опции в поиск добавить.
IgorS; user813055; +2 Ответить
33. tarassov 113 23.06.15 13:12 Сейчас в теме
Попробовал, ка описано, сделать "1. Вызов стандартной обработки из любого пункта меню. "
Если вместо предлагаемого
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
    ПодключитьВнешнююОбработкуНаСервере();
    ОткрытьФорму("ВнешняяОбработка.StandardFindByRef.Форма");
КонецПроцедуры

написать
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
	
	Параметры = Новый Структура;
	Параметры.Вставить("RequiredObject", ПараметрКоманды);
	
	ПодключитьВнешнююОбработкуНаСервере();
    ОткрытьФорму("ВнешняяОбработка.StandardFindByRef.Форма", Параметры, ПараметрыВыполненияКоманды.Источник, ПараметрыВыполненияКоманды.Уникальность, ПараметрыВыполненияКоманды.Окно);
	
КонецПроцедуры
Показать


то не потребуется вручную выбирать объект. Сразу заработает поиск!
BigB; Korolev; Огонек; jONES1979; корум; teflon; DreamcastMD; wolfsoft; +8 Ответить
34. DoctorRoza 23.06.15 16:15 Сейчас в теме
Конструктор запросов порадовал! :)
35. Mortiferus 363 24.06.15 09:21 Сейчас в теме
Классно! Только сегодня думал о том, как запускать регламентным заданием перепроведение документов, чтобы самому не писать. Молодчина!
36. Zord 24.06.15 09:28 Сейчас в теме
Отлично! Спасибо большое! Я буквально на днях искал где же эти обработки зарыты!
37. Ulus 293 24.06.15 10:46 Сейчас в теме
Молодец.
Давно ее подметил.
Видно - мега спец!
Все темы - МОЩЬ!
38. Чарик 2 24.06.15 17:46 Сейчас в теме
Классная статья! И самое главная нужная! Автору респект и жирный плюс!
39. DrAku1a 1746 25.06.15 02:48 Сейчас в теме
Автору респект! Яростно плюсуем!
40. ekaruk 4976 27.06.15 09:34 Сейчас в теме
Вау.
Моя первая публикация, набравшая 200 плюсиков.
Причем ровно за неделю.
Похоже, действительно зацепила интересную тему.
Приятно :)
Greysvandir; m_aster; bark.722688; SmArtist; golcha; jONES1979; TeMochkiN; inf012; jaroslav.h; coolseo; fomaOp; sCHTASS; v.l.; Nuobu; gelhar; FindSS; ZhokhovM; +17 Ответить
41. Yashazz 4794 30.06.15 08:11 Сейчас в теме
У меня есть ощущение, что таковое появилось недавно. Потому что я копался в 8.2.12 ровно с той же идеей, и нихрена не обрёл. Ну и в любом случае это может завтра измениться, и тогда будут грабли)

Автору за кропотливое копание в потрохах 1С - респект.
42. kuzev 48 30.06.15 13:10 Сейчас в теме
Добавлю ссылку на пост годичной давности: https://snegopat.ru/forum/viewtopic.php?f=6&t=619.
Painted; artbear; +2 Ответить
43. Kondrat 11 02.07.15 12:39 Сейчас в теме
44. infostartfilipich 06.07.15 11:12 Сейчас в теме
Не могу открыть в Бухгалтерии 2.0 на платформе 8.2.19.116 (и клиент-сервер и файловая, код выполняется в модуле внешней обработки) - пробовал и так:
ВнешниеОбработки.Подключить("v8res://mngbase/StandardFindByRef.epf", "StandardFindByRef", false);
ВнешниеОбработки.Создать("StandardFindByRef");
и так:
ВнешниеОбработки.Создать("v8res://mngbase/StandardFindByRef.epf", false);
Ругается:
"Ошибка подключения внешних метаданных
по причине:
Файл не обнаружен 'StandardFindByRef'"
Что я не так делаю? - на платформе 8.3 работает...
45. ekaruk 4976 06.07.15 12:01 Сейчас в теме
(44) infostartfilipich, Да, у меня тоже напрямую не подключается на 8.2.19.130.
Зато подключается через промежуточный файл
КопироватьФайл("v8res://mngbase/StandardFindByRef.epf","c:/temp/StandardFindByRef.epf");
Обработка = ВнешниеОбработки.Создать("c:/temp/StandardFindByRef.epf", false);
46. infostartfilipich 06.07.15 12:06 Сейчас в теме
(45) Спасибо, понял!
Хорошо бы этот нюанс и в статью добавить...
47. ekaruk 4976 06.07.15 12:37 Сейчас в теме
(46) infostartfilipich, Да я сама не знала. Только сейчас попробовала.
Не могу понять, почему обычный вариант не работает.
Вроде должен работать аналогично.
Синтаксис команд работы с внешними обработками в 8.2 и 8.3 одинаковый.
50. V.Nikonov 120 08.07.15 23:10 Сейчас в теме
(47) Адресное пространство "v8res://mngbase..." недоступно для проводника Windows? По этой причине или требуется разрешение на запись в "v8res://mngbase..."?
51. ekaruk 4976 08.07.15 23:46 Сейчас в теме
(50) V.Nikonov, Оно не может быть доступно.
Это внутренний адрес конфигурации.
Мы туда ничего не пишем, только читаем.
48. pro1c@inbox.ru 187 07.07.15 15:09 Сейчас в теме
49. Дикий Йожыг 07.07.15 15:36 Сейчас в теме
Клева.
А есть возможность получить под обычные формы? А то выдает обработки под управляемые.
52. tormozit 7238 10.07.15 19:36 Сейчас в теме
Форма настроек динамического списка есть там?
53. Dementor 1035 11.07.15 12:09 Сейчас в теме
(52) tormozit, Нет. Только перечисленные обработки.
54. vec435 17 19.08.15 18:37 Сейчас в теме
а для 8.1 есть какая-нить инфа?
55. sashocq 193 24.08.15 11:20 Сейчас в теме
Нашёл там ещё описания форм. Есть идеи как их вытащить? Интересует диалог выбора цвета (ColorChoose.lf), хотелось бы его доработать и вставить себе в конфигурацию. Просмотрел весь код формы — не нашёл, как формируется список цветов и как они отображаются.
56. пользователь 14.09.15 15:40
Сообщение было скрыто модератором.
...
57. chmv 14.09.15 17:19 Сейчас в теме
58. superkuzja 3 18.09.15 13:10 Сейчас в теме
Евгения, подскажите как правильно получить путь к стандартной обработке. У меня при выполнении команды:
КопироватьФайл("v8res://mngbase/StandardFindByRef.epf","C:\ВнешняяОбработка.epf");
выходит ошибка:
Ошибка копирования файлов
по причине:
Каталог не обнаружен 'v8res://mngbase/StandardActiveUsers.epf'

Запускал на платформе 8.3.6.2152. Заранее - спасибо!
serega7; Hobbit_Jedi; +2 Ответить
59. ekaruk 4976 18.09.15 13:53 Сейчас в теме
(58) superkuzja, У меня на 8.3.6.2152 обработка в файл сохраняется корректно.
Проверяла для файловой базы. Контекст выполнения &НаСервере
60. superkuzja 3 18.09.15 14:05 Сейчас в теме
(59) большое спасибо, Евгения, всё корректно отработало при изменении контекста.
61. mszsuz 336 28.09.15 07:48 Сейчас в теме
Во вложении готовая обработка для выгрузки. Поможет сэкономить немного времени.
Прикрепленные файлы:
2015-09-28 ВыгрузкаВстроенныхОтчетов.epf
tricolor; Mimm2015; m_aster; Jeka44; BigB; Dmitry888; gea81; Simonov_NPM; Danil.Potapov; nad0_hto; BARS1969; GetNight; корум; Serj1C; teflon; inanity; Lukich66; serg__k; Захаров_Николай; alex-l19041; andrew_comm; frkbvfnjh; v.l.; vserdtsov; DrAku1a; shmellevich; AndrewVVS; sergo_722; aytana; CratosX; ekaruk; +31 Ответить
72. alex-l19041 8 15.06.16 10:22 Сейчас в теме
(61) mszsuz,

Обработка хорошая, только сразу не запустилась.
Пришлось СтрРазделить(Стр, ";", Ложь);
заменить на
ОбщегоНазначения.РазложитьСтрокуВМассивПодстрок(Стр,";");

Также процедура КаталогВыгрузкиНачалоВыбора
не сработала. Пришлось полностью переписать
73. mszsuz 336 15.06.16 11:44 Сейчас в теме
(72) Переходите на новую платформу. Сейчас уже 8.3.8. Две недели проверяю - вроде нормально работает.
androgin; +1 Ответить
80. androgin 04.08.16 17:53 Сейчас в теме
(73) mszsuz, 2 недели?????
она с прошлого года уже ! )))))
62. boln 1041 18.01.16 15:00 Сейчас в теме
ekaruk, не в первый раз жалею, что слово "гений" не имеет женского рода :)
63. frkbvfnjh 805 22.02.16 07:05 Сейчас в теме
Я с "детства" мечтал добраться до этих обработок, чтоб хотя бы вызвать из из своего кода. Это самая качественная и нужная статья по недокументированным возможностям. Хотя не пойму, почему разработчики платформы не добавили возможность хотя бы просто вызова этих диалогов из кода, пусть даже с административными правами...
jONES1979; +1 Ответить
64. frkbvfnjh 805 22.02.16 07:30 Сейчас в теме
Кстати, тут уже спрашивали, так что повторюсь - как добраться до обработок для обычного приложения, не управляемого? Я имею ввиду, может кто нибудь уже разобрался как до них добраться...
66. ekaruk 4976 24.02.16 22:33 Сейчас в теме
(64) frkbvfnjh, Про обычное не знаю. Теоретически это должны быть те же самые обработки.
(65) Abbra, Не совсем поняла, как скопировали. Эти обработки не являются элементами конфигурации, соответственно на них не может быть внешней ссылки. При их открытии даже звездочка неактивна. Если нужно дать на них ссылку, то я вижу только вариант встраивать их в конфигурацию.
67. Abbra 23 24.02.16 23:23 Сейчас в теме
(66) из Вашей статьи скопировал. "v8res://mngbase/StandardFindByRef.epf" )
Теперь понятно, что нельзя. Спасибо.

65. Abbra 23 24.02.16 22:26 Сейчас в теме
А нельзя ли как-нибудь эти ссылки использовать по кнопке Перейти по ссылке (Звездочка с зеленой стрелкой) для открытия обработок? Просто скопировал - не получилось.

68. AndreykO 8 11.03.16 06:47 Сейчас в теме
Спасибо. Очень помогло. Всё работает
69. anri99 16.03.16 15:38 Сейчас в теме
Отличная статья, спасибо автору, такое редко где встретишь!
alex-l19041; +1 Ответить
70. Trise 139 07.04.16 13:17 Сейчас в теме
Надеюсь тема актуальна и развивается, найти бы стандартную форму сообщения об ошибке, в частности формы с кнопкой подробно, для создания "подписки на ошибку" и дальнейшем обработки и сбора информации, что-бы не выискивать, что пользователю там выдалось, а иметь корректно сохраненный текст ошибки, если еще и контекст удастся зацепить было бы совсем замечательно.
TreeDogNight; +1 Ответить
71. ekaruk 4976 07.04.16 17:56 Сейчас в теме
(70) Trise, С формами так, к сожалению, не получится.
Механизм подключения внешних файлов с внутренними именами есть только для отчетов и обработок.
Формы теоретически можно вытащить, но подменить стандартные внешними нельзя.
74. blackschool 23 06.07.16 11:37 Сейчас в теме
В коде типовых конфигураций можно найти упоминание имён стандартных обработок. Например, в УТ 11.2 "StandardFindByRef".
75. ekaruk 4976 06.07.16 13:45 Сейчас в теме
(74) blackschool, Да, действительно.
Появились упоминания.
Интересно, раньше не было нигде.
76. LexSeIch 211 11.07.16 07:52 Сейчас в теме
Тема очень интересная - большое спасибо за публикацию данной статьи.
77. German_Tagil 43 11.07.16 10:03 Сейчас в теме
И все таки как быть с обычными формами?
82. Wolex 125 23.09.16 16:20 Сейчас в теме
(77) German_Tagil, учитывая, что для управляемых используется внутренний каталог v8res://mngbase/, покопайте в сторону OrdinaryApplication. что-нибудь в духе ordbase
111. ssfedkin 6 31.05.18 12:30 Сейчас в теме
Интересно, получилось у кого-нибудь для обычных форм обработки вытащить? Как в (82) не получается.
78. ZhokhovM 756 19.07.16 15:17 Сейчас в теме
Есть вопрос, как вызвать программно стандартную форму "Все функции" из внешней обработки? Мне нужно это для теста. Никто не знает?
133. M_Volkov 5 15.04.21 05:09 Сейчас в теме
(78)
как вызвать программно стандартную форму "Все функции" из внешней обработки?
Удалось? Если Да, поделись...
134. ZhokhovM 756 15.04.21 07:46 Сейчас в теме
79. jONES1979 23.07.16 19:42 Сейчас в теме
Действительно, очень любопытно, и перспективы интересные. Спасибо! :)
81. tyushin 02.09.16 04:34 Сейчас в теме
на актуальной платформе что-то не работает у меня. Ошибка "каталог v8res://mngbase/... не обнаружен"
JesteR; BigB; +2 Ответить
83. v3rter 13.12.16 13:04 Сейчас в теме
Подскажите, пожалуйста, адрес стандартной формы формы "Редактирование списка значений".
85. JesteR 153 29.12.16 10:23 Сейчас в теме
8.3.8.2197 Попробовал вытащить Удаление помеченных, не работает, пишет "Каталог не обнаружен", видимо с момента выхода публикации 1С что-то изменили.
87. ekaruk 4976 02.01.17 23:08 Сейчас в теме
(85) Ничего не изменилось.
На 8.3.9.2016 отлично работает.
Проверьте, что код выполняется на сервере и существует каталог, в который файл копируете.
88. JesteR 153 20.01.17 12:03 Сейчас в теме
(85) (87) Извините, сам дурак. Все работает. Спасибо.
89. Probot1c 04.02.17 06:21 Сейчас в теме
Автор молодец, полезно!
90. daho 8 09.02.17 10:57 Сейчас в теме
А вот для неуправляемых форм можно выгрузить обработки?