Не спешите ! Все решится гораздо раньше ! Есть в FormEx нужный функционал - почти как в 1с 8-ке ! Прописываете вызовы ваших процедур в процедуру (я ее назвал- "ВашаПроцедура"-назовите её как хотите) и вызываете её методом - ВыполнитьПроцедуру !
У меня этот код отработал отлично.Каждый раз при запуске обработки,окно строго по центру экрана.
andrew76 @ Сегодня, 17:48
,
Можно там же поэкспериментировать со стилем окна:
Процедура ПослеОткрытия() Окно = СоздатьОбъект("Окна"); Окно.ЦентрироватьОкно(Форма); Окно.СтильОкна(Форма,2); //стиль от 0 до 2, 1 и 2 -без заголовка окна,2 - по моему модальный режим Форма.Обновить(); КонецПроцедуры
Что-нибудь получилось ? Дальше мне искать ? Чи не трэба ?
Цитата(igmig65 @ 17.03.25, 12:51)
Кто нибудь подскажет
Так этот вопрос ещё актуален ? Истина уже близко !
Это описание ОбработкиОжидания от FormEx: РасширениеФормы->ОбработкаОжидания
ОбработкаОжидания(<?>,) Синтаксис: ОбработкаОжидания(Имя, Интервал) Назначение: Вызывает процедуру модуля формы с заданным интервалом в миллисекундах. В отличии от штатной обработки ожидания, вызывается при открытых модальных формах. Для одной формы может быть установлено сколько угодно обработок ожидания путем создания нужного количества объектов РасширениеФормы. При уничтожении объекта, для которого вызывался данный метод, соответствующая процедура обработки ожидания останавливается. Метод работает только после физического открытия окна формы. Параметры: <Имя> - (Строка Имя процедуры модуля текущей формы для периодического вызова (если в качестве параметра передается пустая строка, то ранее запущенный процесс прекращается)) <Интервал> - (Число Интервал вызова процедуры в миллисекундах (если в качестве параметра передается 0 (ноль)) , то ранее запущенный процесс прекращается) ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ: (Строка) Имя процедуры, которая была установлена ранее в качестве процедуры обработки ожидания.
Есть еще ,тоже от FormEx Сервис->ОстальныеМетоды
ОбработкаОжидания(<?>,) Синтаксис: ОбработкаОжидания(<Имя>,<Интервал>) Назначение: Вызывает глобальную процедуру с заданным интервалом в миллисекундах. ПРИМЕР: Сервис = СоздатьОбъект("Сервис"); Сервис.ОбработкаОжидания("глПолучитьНовыеЗаявки",100);
Цитата(igmig65 @ 17.03.25, 12:51)
не могу ее запустить процедуры из ПослеОткрытия(), в модальном режиме не срабатывает, а если вставляю процедуры в ПриОткрытии(), то все срабатывает но форма не открывается, вернее открывается уже после выполнения процедур, соответственно лог не видно.
Есть еще процедура ПослеСозданияФормы от FormEx
Процедура ПослеСозданияФормы(<?>)КонецПроцедуры Синтаксис: Процедура ПослеСозданияФормы(<Контекст>)КонецПроцедуры Назначение: Предопределенная процедура вызывается после физического создания окна формы в системе, когда окно формы создано, но еще не полностью проинициализировано и не отображено на экране. Параметры: <Контекст> - контекст открытой формы ЗАМЕЧАНИЕ: В этой процедуре (и во всех процедурах, вызываемых после нее) можно вызывать методы, которые помечены как "работает только после физического открытия окна формы".
когда форма уже открыта запустить нужные процедуры.
А может посадить процедуры на кнопку (кнопка на форме). Сделать кнопку невидимой.Потом сэмулировать нажатие этой кнопки ? Должно сработать в принципе и без formex.
но когда создаёшь через обработку по умолчанию ставится упр хотя у меня общ. кто-то сталкивался с таким? как можно явно сказать что бы создавался с нужным мне типом учёта? или это надо в глобальный лезть?
Посмотрите Процедуру ПриЗаписи() этого документа (накладная в вашем случае). Скорее всего там будет что-то вроде:
Можно менять и стили через FormEx.Правда,не в таком виде будет , как просил товарищ -4andriy,который эту тему открыл. Вот здесь про это,кому интересно (правда ветка 12-летней давности,но внешняя обработка там рабочая): https://www.1cpp.ru/forum/YaBB.pl?num=1345736013/4#4 Обработка,с экспериментами со стилями элементов управления окна: https://www.1cpp.ru/forum/YaBB.pl?action=do...5FExample%2Eert Для работы обработки требуется наличие библиотеки FormEx на компе.
первый если контрагент прописан в подкаталоге он не находится для вставки
Синтаксис Поиска в справочниках по наименованию:
НайтиПоНаименованию(<?>,,); Синтаксис: НайтиПоНаименованию(<Наименование>,<Режим>,<ФлагПоиска>) Назначение: Найти элемент справочника по наименованию. Возвращает: 1 - если действие выполнено; 0 - если действие не выполнено (элемент не найден). Параметры: <Наименование> - строка с наименованием искомого элемента справочника, <Режим> - необязательный параметр. Число: 1 - поиск внутри установленного подчинения (родителя); 0 - поиск во всем справочнике вне зависимости от родителя. Значение по умолчанию - 1. <ФлагПоиска> - необязательный параметр. Число: 1 - найти точное соответствие наименования; 0 - найти наименование по первым символам. Значение по умолчанию - 0.
Посмотрел описание библиотеки FormEx версия: 2.0.5.198 от 30.09.2024.Про стиль кнопки там ничего нет. Есть формы,панели,таблицы и всякая интересная штука.
Доброе утро. Может все таки не сохранилась конфигурация при обновлении (причины-блокировка базы,ошибки логики или синтаксические ошибки присутствовали) ? Посмотрите журнал регистрации работы пользователя.
Скачал этот мд-файл.Правда,скажу сразу - делал на платформе 7.7.025.В конфигураторе-загрузил измененную конфигурацию и сохранил. Выгрузил после этого md-файл в архив.По моему проблема не в MD-файле.
Суть в том, что в определенном месте цикла мне надо запомнить строку ТЗ, чтобы потом ее вызвать без поиска и цикла и произвести в ней некоторые изменения.
ПолучитьСтрокуПоНомеру(<?>); Синтаксис: ПолучитьСтрокуПоНомеру(<НомерСтроки>) Назначение: Получить строку таблицы значений по номеру. Указанная строка становится текущей. Параметры: <НомерСтроки> - номер строки, на которую следует переместиться.
ТЗ.ПолучитьСтрокуПоНомеру(<?>);
Вдогонку :
ТЗ.ВыбратьСтроки(); //эта строчка лишняя скорее всего
ТЗ.ПолучитьСтрокуПоНомеру(А); //ПЫТАЕМСЯ ПОЛУЧИТЬ СТРОКУ А
Если (ТЗ.ЗАКАЗ=Расх.НомерЗаказа)и(ТЗ.СТАТУС=Перечисление.Статусы.АКС) Тогда ТЗ.К=К; КонецЕсли;
Суть вопроса: необходимо ограничить пользователя в возможности работы только по ему разрешенным складам (кому-то один, кому-то несколько, кому-то все доступны)
Судя по названию темы ("Ограничение доступа с пользователей к складам"),Автора интересовал только ограниченный доступ к складам.А если на всю конфу,то надо использовать RLS, Или ролями манипулировать.
Если нижеуказанный код повесить на кнопку ,которая будет расположена на форме Расходной Накладной,то все должно работать ( у меня по крайней мере работает). Если вешать этот код на обработчик флажка,то ошибка будет вылетать. Поэтому могу предложить другой вариант открытия формы.
Проверяйте заполняемость полей Фамилия,Имя,Отчество Не вижу весь код запроса ,поэтому предлагаю такой "псевдокод" :
Если ЗначениеЗаполнено(Фамилия) и ЗначениеЗаполнено(Имя) и ЗначениеЗаполнено(Отчество) Тогда ОбластьМакетаШапка.Параметры.Физлицо = РезультатФИО.Фамилия +" "+РезультатФИО.Имя+" "+РезультатФИО.Отчество; Иначе ОбластьМакетаШапка.Параметры.Физлицо="Неполные данные в ФИО"; КонецЕсли;
Найти(<?>,) Синтаксис: Найти(<Строка1>,<Строка2>) Назначение: Возвращает позицию первого вхождения в строку поиска заданной подстроки. Параметры: <Строка1> - строка в которой ищем (место поиска); <Строка2> - строка которую ищем (шаблон поиска). Замечание: Если не находит - возвращает число 0. Первая позиция имеет индекс 1.
Телефон_=СокрЛП(Телефон); //убирает лишние пробелы справа и слева Расх.ВыбратьДокументы(НачДата,КонДата); Пока Расх.ПолучитьДокумент()=1 Цикл Если (Найти(Расх.Телефон,Телефон_)>0)и(Расх.СтатусЗаказа <> Перечисление.Статусы.Акс) Тогда ТЗ.НоваяСтрока(); ТЗ.Модель = Расх.Модель;
Телефон_=СокрЛП(Телефон); //убирает лишние пробелы справа и слева Расх.ВыбратьДокументы(НачДата,КонДата); Пока Расх.ПолучитьДокумент()=1 Цикл Если (Найти(Расх.Телефон,Телефон_)=1)и(Расх.СтатусЗаказа <> Перечисление.Статусы.Акс) Тогда ТЗ.НоваяСтрока(); ТЗ.Модель = Расх.Модель;
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!