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

Хранилище

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

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



> Не удается активизировать строку выбора в документе в 1с 7.7 конф 7.7.003          
ZUBR Подменю пользователя
сообщение 03.03.20, 23:07
Сообщение #1

Завсегдатай
****
Группа: Пользователи
Сообщений: 229
Из: Київ
Спасибо сказали: 5 раз
Рейтинг: 3

Здравствуйте!
Мне никак не удается активизировать строку выбора из справочника Симптомы в созданном мною документе АктПриема. Привожу кусок кода

Процедура ПоискС() 
    
    Заявка=СоздатьОбъект("Справочник.Симптомы");
    Поиск=Заявка.НайтиПоНаименованию(Заявлено);
    Если Поиск = 1 Тогда
        Симптомы = Заявка.ТекущийЭлемент();
        Симпт=1;
    Иначе Симпт=0;
    КонецЕсли;
    Активизировать("Симптомы");
КонецПроцедуры


Код расположен в модуле формы. При работе выдает ошибку:
Активизировать("Симптомы");
{Документ.АктПриема.Форма.Модуль(116)}: В данной формуле не может быть вызвана эта процедура(функция)

Почему так? В чем причина? Ведь данный метод я вызываю, как и положено, из модуля формы документа. Спасибо.

У меня два поля диалога.
"Заявлено" - обычная строка для ввода
и "Симптомы" - строка с типом значений "Справочник.Симптомы" и с кнопкой ввода элементов из справочника.

volodya1122 Подменю пользователя
сообщение 04.03.20, 12:56
Сообщение #2

Оратор
Иконка группы
Группа: Местный
Сообщений: 302
Из: Тернопіль
Спасибо сказали: 116 раз
Рейтинг: 118.4

Активизировать работает только в штатних процедурах 1С (типу ПриОткрытии, ПриЗакрытии....
Поэтому нужно инициировать так-называемое ложное закрытие формы чтобы в нем отработало Активизировать.
Вот что нужно дописать

Перем МожноЗакрыть;

Процедура ПриОткрытии()
    МожноЗакрыть = 1;
КонецПроцедуры    

Процедура ПриЗакрытии()
    Если МожноЗакрыть = 0 Тогда  
        МожноЗакрыть = 1;
        Активизировать("Контрагенты1", 0);
        СтатусВозврата(0);
        Возврат;
    КонецЕсли;
КонецПроцедуры


Процедура Поиск()
    Заявка=СоздатьОбъект("Справочник.Контрагенты");
    Поиск=Заявка.НайтиПоНаименованию(СокрЛП(Заявлено),0);
    Если Поиск = 1 Тогда  
        Контрагенты1 = Заявка.ТекущийЭлемент();
        Симпт=1;
    Иначе Симпт=0;
    КонецЕсли;    

    МожноЗакрыть = 0;
    Форма.Закрыть(0);
КонецПроцедуры


ZUBR Подменю пользователя
сообщение 10.03.20, 23:40
Сообщение #3

Завсегдатай
****
Группа: Пользователи
Сообщений: 229
Из: Київ
Спасибо сказали: 5 раз
Рейтинг: 3

volodya1122 @ 04.03.20, 12:56 * ,
Не согласен. В документе РасходнаяНакладная я прописал Активизировать не в "штатной" процедуре, и все работает. Поэтому, думаю, проблема в чем-то другом.

Процедура Виконав()                                              
    
    Если ((ПустаяСтрока(Причина)=1)и(СтатусЗаказа<>Перечисление.Статусы.Акс)) Тогда
        Предупреждение("Вкажіть ПРИЧИНУ!");
        СтатусВозврата(1);
        Активизировать("Причина");
        Возврат;
    КонецЕсли;
    
    Если ((ПустаяСтрока(КН)=1)и(СтатусЗаказа<>Перечисление.Статусы.Акс)и(ПустаяСтрока(НомерМодели)=0)) Тогда
        Предупреждение("Вкажіть КОД НЕСПРАВНОСТІ!");
        СтатусВозврата(0);
        Активизировать("КН");
        Возврат;
    Иначе    Форма.КН.Доступность(0);
    КонецЕсли;

// и т.д.....................................................................


Просто Активизирует работает в штатном документе РасходнаяНакладная и не работает в созданном мной документе АктПриема. Не понятно, почему.

volodya1122 Подменю пользователя
сообщение 11.03.20, 9:52
Сообщение #4

Оратор
Иконка группы
Группа: Местный
Сообщений: 302
Из: Тернопіль
Спасибо сказали: 116 раз
Рейтинг: 118.4

ZUBR @ Вчера, 23:40 * ,

Действительно. Проверил. Активизировать() с кнопки работает, а с "поля ввода" нет. Поєтому тут выход или так как я написал, или в порядке обхода поставить "Симптомы" сразу после реквизита "Заявлено".

mut Подменю пользователя
сообщение 12.03.20, 16:57
Сообщение #5

Завсегдатай
****
Группа: Пользователи
Сообщений: 156
Из: Новая Каховка
Спасибо сказали: 108 раз
Рейтинг: 119.1

Может попробовать АктивизироватьОбъект() ? Это ж у вас список справочника? А то что вы пробуете - для других мест.

АктивизироватьОбъект(<?>);
Синтаксис:
АктивизироватьОбъект(<Объект>)
Назначение:
Активизировать объект в форме списка.


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


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

 

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