Выполнение глобальной команды программно
По теме из базы знаний
- Баг или фича? Неожиданное поведение платформы
- Многопоточный CI-контур для 1С c Packer, Vagrant и Jenkins. Часть 1. Описание системы и обзор инструментария
- Последовательность выполнения расширений
- Расширение глобального поиска 1С, или Глобальный поиск "на максималках"
- Базовый курс для начинающих 1С-программистов. Онлайн-курс с 29 января по 9 апреля 2025 г.
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(4) это процедура должна выполняться исключительно на "Толстом клиенте".
При наличии этой процедуре в тонком клиенте возникает критическая ошибка.
Было решено добавить глобальную команду что бы не возникала ошибка, и вызывать ее когда запущен толстый клиент.
Но как ее вызвать не добавляя команду на форму в виде кнопки я не знаю.
При наличии этой процедуре в тонком клиенте возникает критическая ошибка.
Было решено добавить глобальную команду что бы не возникала ошибка, и вызывать ее когда запущен толстый клиент.
Но как ее вызвать не добавляя команду на форму в виде кнопки я не знаю.
(6) при наличии в процедуре метода не поддерживаемого тонким клиентом например "Новый СхемаКомпоновкиДанных"
при простом наличии его в модуле формы.
Возникает критическая ошибка. Которая приводит к завершению работы 1С.
Для этого и была создана глобальная команда. которая отрабатывает вызов подобных конструкторов. и ее необходимо запускать через глобальные команды.
при простом наличии его в модуле формы.
Возникает критическая ошибка. Которая приводит к завершению работы 1С.
Для этого и была создана глобальная команда. которая отрабатывает вызов подобных конструкторов. и ее необходимо запускать через глобальные команды.
(10)
a25400d8619e9aa211ec7e8ed8c8123a
Функция UUIDToGUID(UUID) Экспорт
Возврат Прав(UUID, 8) + "-" + Сред(UUID, 21, 4) + "-" + Сред(UUID, 17, 4) + "-" + Лев(UUID, 4) + "-" + Сред(UUID, 5, 12);
КонецФункции
------
UUID = "a25400d8619e9aa211ec7e8ed8c8123a";
ГУИД = Новый УникальныйИдентификатор(UUIDToGUID(UUID))
Ссылка = Документ.ПриходныйКассовыйОрдер.ПолучитьСсылку(ГУИД )
Показать
(12) Чуток в отладчике поправил до рабочего состояния
&НаКлиенте
Процедура ПолучитьНавигацСсылку(Команда)
ТекСтр = Элементы.Список.ТекущиеДанные;
Адрес1 = ПолучитьНавигационнуюСсылку(ТекСтр.Ссылка);
Сообщить( Адрес1);
Сообщить( UUIDTo(Адрес1));
КонецПроцедуры
&НаСервере
Функция UUIDTo(UUID1) Экспорт
GUID = Прав(Прав(UUID1,32), 8) + "-" + Сред(Прав(UUID1,32), 21, 4) + "-" + Сред(Прав(UUID1,32), 17, 4) + "-" + Лев(Прав(UUID1,32), 4) + "-" + Сред(Прав(UUID1,32), 5, 12);
ГУИД = Новый УникальныйИдентификатор(GUID);
ссПКО_2 = Документы.ПриходныйКассовыйОрдер.ПолучитьСсылку(ГУИД );
Возврат ссПКО_2;
КонецФункции
Показать
(21) ну во первых обсуждение толстого клиента в 2023 году вызывает много вопросов. Никакого толстого клиента быть не должно в современном коде и мало того он менее функционален чем работа с тонким и веб.
Во вторых все решается через вызов сервера. Выше Вам написал человек в недоумении от Вашей постановки задачи. Люди просто не хотят отвечать на ерунду
Во вторых все решается через вызов сервера. Выше Вам написал человек в недоумении от Вашей постановки задачи. Люди просто не хотят отвечать на ерунду
(23) я ответил ниже. Вас путает понятие "команда" в мире 1с. Дело в том что команда в понимании 1с это команда от пользователя платформе, а не команда код. Это прежде всего графический элемент интерфейса. Согласен что не очень удачно. Поэтому вы пытаетесь программно нажать кнопку, что делать конечно не нужно. Вам нужно описать код, который хотите использовать как команду в понимании программиста, в общем модуле. А про команды 1с просто примите данность, это модуль кгопки)
(23) Вам ответили, создайте общий модуль, далее процедуру или функцию с параметрами и перенесите туда тело команды, которая вызывается вашей кнопкой. И вызывайте вашу команду откуда угодно. Вообще само тело общей команды принято описывать в общих модулях, а в общих командах просто элемент интерфейса для форм не более того. Посмотрите как делают в БСП. Берите практики оттуда. Если нарушать парадигму платформы то и возникают такие вопросы, которых быть не должно.
(21) Ладно я Вам отвечу, но лучше было бы для Вас же, если прошли этот путь сами.
Создаете ДВА общих модуля ( в одном работать у вас ничего не будет)
1. Один общий модуль ставите галки Сервер, Вызов Сервера. В этом модуле размещаете серверные процедуры функции с пометкой "экспорт"
2. Второй общий модуль ставите галки "Клиент" (остальные снимайте), Глобальный галку поставьте если команду (точнее функционал команды) часто будете дергать отовсюду
3. Вашу команду общую убираете оттуда все, кроме вызова общего модуля клиента (где галка клиент и обработка начинается на клиенте)
ИТОГ - у вас остается в общей команде только одна строка вызова общей процедуры. Таким образом настоящая общая команда, доступная для программного запуска, у вас в общем модуле. А общая команда остается всего лишь для кнопки на форме. Вызывайте сколько хотите.
Не благодарите)
Создаете ДВА общих модуля ( в одном работать у вас ничего не будет)
1. Один общий модуль ставите галки Сервер, Вызов Сервера. В этом модуле размещаете серверные процедуры функции с пометкой "экспорт"
2. Второй общий модуль ставите галки "Клиент" (остальные снимайте), Глобальный галку поставьте если команду (точнее функционал команды) часто будете дергать отовсюду
3. Вашу команду общую убираете оттуда все, кроме вызова общего модуля клиента (где галка клиент и обработка начинается на клиенте)
ИТОГ - у вас остается в общей команде только одна строка вызова общей процедуры. Таким образом настоящая общая команда, доступная для программного запуска, у вас в общем модуле. А общая команда остается всего лишь для кнопки на форме. Вызывайте сколько хотите.
Не благодарите)
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот