Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Смена текущей страницы , из события ПриНачалеРедактирования          
pablo Подменю пользователя
сообщение 10.03.16, 17:19
Сообщение #1

Старейшина
********
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 192 раз
Рейтинг: 0

Захотелось мне по нажатию кнопки Добавить в табличной части обработки сменить текущую страницу управляемой формы. Написал код:
&НаКлиенте
Процедура ТабличнаяЧасть1ПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)
    Если НоваяСтрока тогда
        Элементы.Группа1.ТекущаяСтраница=Элементы.Группа1.ПодчиненныеЭлементы.Группа3;
    КонецЕсли;    
КонецПроцедуры

И... ничего не случилось. Я понимаю, что система после обработки события принудительно меняет активный элемент (и, следовательно, страницу).
Теперь вопрос. Можно ли как-то обойти это, кроме как созданием своей собственной кнопки Добавить?


Signature
Правильно поставленный вопрос содержит до 90% ответа.

andr_andrey Подменю пользователя
сообщение 10.03.16, 17:29
Сообщение #2

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 623
Спасибо сказали: 166 раз
Рейтинг: 130.8

pablo @ Сегодня, 17:19 *,
"кроме как созданием своей собственной кнопки Добавить?"

"Правильно поставленный вопрос содержит до 90% ответа."


Signature
#define private public
enum BOOL { FALSE, TRUE, FILENOTFOUND } is made my day

Vofka Подменю пользователя
сообщение 10.03.16, 17:31
Сообщение #3

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

&НаКлиенте
Процедура ТабличнаяЧасть1ПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)
    
    Если НоваяСтрока Тогда
        Объект.ТабличнаяЧасть1.Удалить(Объект.ТабличнаяЧасть1.НайтиПоИдентификатору(Элемент.ТекущаяСтрока));
        Элементы.Группа1.ТекущаяСтраница = Элементы.Группа3;
    КонецЕсли;
    
КонецПроцедуры


*Поправил немножко код

Сообщение отредактировал Vofka - 10.03.16, 17:34

pablo Подменю пользователя
сообщение 10.03.16, 17:40
Сообщение #4

Старейшина
********
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 192 раз
Рейтинг: 0

Vofka, такой способ мне не подходит, т.к. мне нужно, чтобы строка осталась (я ее реквизиты вынес на отдельную закладку).
Я нашел один немного окольный способ обхода
&НаКлиенте
Процедура Группа1ПриСменеСтраницы(Элемент, ТекущаяСтраница)
    Если ТекущаяСтраница<>Элемент.ПодчиненныеЭлементы.Группа3
            тогда
            
            Если ПроверитьЗаполнение() тогда
            иначе
                Элементы.Группа1.ТекущаяСтраница=Элемент.ПодчиненныеЭлементы.Группа3;
            КонецЕсли;
    КонецЕсли;        
КонецПроцедуры

при этом реквизиты формы со страницы Группа3 не заполнены и помечены как "Выдавать ошибку".

но может есть более прямые?


Signature
Правильно поставленный вопрос содержит до 90% ответа.

Vofka Подменю пользователя
сообщение 10.03.16, 17:45
Сообщение #5

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

Цитата(pablo @ 10.03.16, 17:40) *
Vofka, такой способ мне не подходит, т.к. мне нужно, чтобы строка осталась (я ее реквизиты вынес на отдельную закладку).

Если в момент ввода новой строки происходит переход на другую страницу, можно предположить, что в новой строке ничего не заполнено. Поэтому такую пустую строку можно добавить программно одной строчкой кода.

logist Подменю пользователя
сообщение 10.03.16, 18:22
Сообщение #6

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Подключить обработчик ожидания через 0,1 процедура которая сменит страницу.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Спасибо сказали: pablo,

andr_andrey Подменю пользователя
сообщение 10.03.16, 18:26
Сообщение #7

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 623
Спасибо сказали: 166 раз
Рейтинг: 130.8

logist @ Сегодня, 18:22 *,
Как цивилизованно можно ожидать интервал?


Signature
#define private public
enum BOOL { FALSE, TRUE, FILENOTFOUND } is made my day

logist Подменю пользователя
сообщение 10.03.16, 18:29
Сообщение #8

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

andr_andrey, ? 0,1 секунды выполнится сразу после окончания процедуры, ну 0,2 можете поставить, такой подход используется в функционале УНФ.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 29.03.24, 1:06
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!