Если 1с ничего не придумала за последние пару лет - то никак. Есть библиотеки разные, например WindowEx, но они все как правило работают с какими-то косяками.
Сделал так, не знаю насколько это правильно, но пока работает:
&НаКлиенте Процедура ПриОткрытии(Отказ) // Разворачиваем форму "на весь экран" Попытка WSHShell = Новый COMОбъект("WScript.Shell"); WSHShell.SendKeys("% "); WSHShell.SendKeys("{UP}{UP}{ENTER}"); Исключение КонецПопытки; КонецПроцедуры
Цитата(logist @ 15.06.21, 20:18)
вместо ПолучитьФорму().Открыть() лучше использовать ОткрытьФорму()
Повторюсь, знаний работы в управляемом режиме очень мало...
Цитата(logist @ 14.06.21, 21:56)
В глобальном модуле, вызов проверки в ПриНачалеРаботыСистемы
Насколько я понимаю, модуль управляемого приложения работает лишь на стороне клиента, а процедура РольДоступна() работает на сервере. Если я напишу такой код:
&НаСервере Процедура ОткрытьФормуНаСервере() Если РольДоступна("Роль") Тогда ... КонецПроцедуры
пишет, что процедура ОткрытьФормуНаСервере() не найдена. Если данную процедуру вынести в отдельный глобальный модуль - ничего не меняется... Каким образом можно выполнить проверку, как вызвать данную процедуру на стороне сервера?
Хм, в настройке конфигурации, в разделе "Совместимость" нашел параметр Режим использования модальности, значение которого установил как Использовать - теперь форма стала открываться модально
Добрый день. В управляемом приложении необходимо сделать автоматическое открытие формы при запуске программы в зависимости от наличия определенной роли. Форму необходимо открыть модально. Знаю, что в обычном приложении это можно сделать в Модуле обычного приложения, в процедуре ПриНачалеРаботыСистемы(), но в управляемом так не работает:
Если РольДоступна("Роль") Тогда Форма = ПолучитьФорму("Обработка.НоваяОбработка.Форма"); Рез = Форма.ОткрытьМодально();
// Если не удалось Если Рез = Ложь Тогда // Закрываем программу ЗавершитьРаботуСистемы(Ложь); КонецЕсли; КонецЕсли;
Это не работает, потому как:
Ругается на глобальный метод РольДоступна(), так как он доступен только на сервере
Модально открыть не получается - выводит ошибку "Использование модальных окон в данном режиме запрещено!"
Опыта работы с управляемыми формами очень мало, но я понимаю, что метод РольДоступна() доступен на сервере, а ПолучитьФорму() на клиенте, и они должны быть, как минимум в разных процедурах (или не всегда? =)), но код я взял из обычного приложения (почти весь) и привел для примера.
Зачем это нужно: Есть мобильное устройство, если заходить в программу с него под пользователем, у которого указана определенная роль, необходимо на весь экран запустить определенную форму с несколькими кнопками, адаптированную под экран мобильного устройства. Так у меня сейчас работает в обычном приложении.
Так вот, как можно решить данный вопрос? Как и где в управляемом приложении описать процедуру проверки доступности роли и модальное открытие окна? Или может мой способ в корне неверный и есть другой, более правильный механизм?
Добрый день. Уже второй день пытаемся выполнить переход с конфигурации "1С:Бухгалтерія сільськогосподарського підприємства для України" на BAS Agro, но безуспешно. Согласно файлу-описанию обновления: "Для перехода на версию 2.1.13 необходимо использовать версию конфигурации "Бухгалтерія сільськогосподарського підприємства" не ниже 2.0.28.1.". Версия, с которой выполняем переход, 2.0.28.1, но при попытке выполнения обновления из конфигуратора получаем сообщение "Файл не содержит доступных обновлений". Комплект поставки взяли с портала ИТС. Из-за чего может такое происходить?
1. В таблицу на форме добавляем колонку, назовем ее "Выбор", ЭлементУправления устанавливаем "Поле выбора" 2. В таблице на форме (в моем случае Товары) создаем обработчики ПриВыводеСтроки и ПриИзмененииФлажка 3. В модуль формы, в раздел оглашения глобальных переменных добавляем переменную ВыбраннаяНоменклатура, в самом конце модуля инициализируем эту переменную ВыбраннаяНоменклатура = Новый Соответствие
// Описание обработчика "ПриВыводеСтроки" Процедура ТоварыПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки) // Отображаем флажок в ячейке с именем "Выбор" ОформлениеСтроки.Ячейки.Выбор.ОтображатьФлажок = Истина;
// Производим поиск соответствия "ВыбраннаяНоменклатура" текущей строки Если ВыбраннаяНоменклатура[ДанныеСтроки] = Неопределено Тогда // Если соответствие не найдено - флажок снят ОформлениеСтроки.Ячейки.Выбор.Флажок = Ложь; Иначе // Иначе устанавливаем флажок ОформлениеСтроки.Ячейки.Выбор.Флажок = ВыбраннаяНоменклатура[ДанныеСтроки]; КонецЕсли; КонецПроцедуры
// Описание обработчика "ПриИзмененииФлажка" Процедура ТоварыПриИзмененииФлажка(Элемент, Колонка) // Если состояние флажка меняется в ячейке с именем "Выбор" Если Колонка.Имя = "Выбор" Тогда // Производим поиск соответствия "ВыбраннаяНоменклатура" текущей строки Если ВыбраннаяНоменклатура[Элемент.ТекущаяСтрока] = Неопределено Тогда // Если соответствие не найдено - создаем новое соотвотствие ВыбраннаяНоменклатура[Элемент.ТекущаяСтрока] = Истина; Иначе // Иначе, если соответствие найдено - удаляем его ВыбраннаяНоменклатура.Удалить(Элемент.ТекущаяСтрока); КонецЕсли; КонецЕсли; КонецПроцедуры
Данный документ уже был подвержен доработкам, так что ничего страшного, если доработать еще немного. А писать дополнительные обработки - это не совсем то, что нам нужно
Добрый день. Есть необходимость добавить колонку в таблицу на форме документа - некий признак (флажок) выбора необходимых строк для дальнейшей обработки, но данное значение хранить не нужно. Как можно добавить этот флажок, чтобы не создавать реквизит в табличной части? Даже если создать необходимый реквизит, то при установке флажка будут изменятся данные документа и, при закрытии документа, будет запрашивать сохранение.
Другими словами: необходима возможность открытия документа, выбора необходимых запчастей и перемещение их в производство. После чего закрыть документ без каких-либо сохранений
Здравствуйте! Есть форма, на которой расположены четыре группы, в каждой из которых по два реквизита. Подскажите, пожалуйста, что нужно сделать, чтобы все поля ввода можно было выровнять по красной линии как на скрине?
Если конфигурация поддерживает несколько языков формирования печатных форм, форматы вывода нужно прописывать для каждого языка.
Если подразумевается описание заголовков, синонимов объектов, текстов и прочего на разных, поддерживаемых языках - это понятно, А что касаемо формата вывода данных, к примеру, как в моем вопросе, где я, казалось бы, указываю в конфигураторе формат вывода числа в виде "ЧЦ=12; ЧДЦ=6; ЧН=' '", но получаю печатную форму с форматом "ЧЦ=12; ЧДЦ=3; ЧН=' '" (хочу в макете печатной формы получить значение, в котором будет точность шесть знаков дробной части, но в итоге, ничего не меняется), какое отношение имеет язык вывода?
Добрый день! Возникла необходимость в документе НалоговаяНакладная, в табличных частях Товары и Услуги, в реквизите Количество выводить шесть знаков после запятой. В макете (имя макета ПФ_MXL_UK_НалоговаяНакладная2018Альбом), формат параметра Количество указан как "ЧЦ=12; ЧДЦ=6; ЧН=' '". Но, при печати налоговой накладной, значение параметра Количество печатается как ЧЦ=12; ЧДЦ=3; ЧН=' ' (три знака после запятой). В процедуре печати (ПечатьДокументаНалоговыйКодекс2018) прошелся отладчиком, значение параметра записывается в формате "ЧЦ=12; ЧДЦ=6; ЧН=' '" (шесть знаков после запятой), но пользователю выводится в формате "ЧЦ=12; ЧДЦ=3; ЧН=' '" (три знака). Может ли кто-то подсказать, в каком месте переназначается формат значения для этого поля?
Конфигурация Business automation software for accounting CORP, edition 2.1 (2.1.7.1)
Попытка V83COMCon = Новый COMОбъект("V83.COMConnector"); Подключение = V83COMCon.Connect(ПараметрыПодключения); Исключение Сообщить("Ошибка подключения к БД: " + ОписаниеОшибки()); Возврат; КонецПопытки;
// ---------------------------------------------------------- // Загрузка данных в табличную часть // ---------------------------------------------------------- Попытка ЗапросБУ = Подключение.NewObject("Запрос");
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!