Модераторы: stron
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с формой ввода, Найти ошибку 
:(
    Опции темы
bucdapuswert
Дата 19.5.2007, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 14.5.2007

Репутация: нет
Всего: нет



В модуле формы элемента функция или процедура может преобразовывать вводимые ФИО 
таким образом, что первые буквы ФИО будут прописными, а другие строчными(Кузьмин Иван Петрович)
когда вводим кузьмин иван петрович,также не должно быть сокращений типа Кузьмин И.П (за это отвечает Функция контроля точки)
и функция удаления лишних пробелов.Но почему то это не работает(хотя проверял 1000 раз), помогите студенту найти ошибку, и исправить ее.

Код

Процедура ПриОткрытии() 
    ОчиститьОкноСообщений();
    форма.ПанельИнструментов(0);
    форма.Заголовок("Сотрудник предприятия");
КонецПроцедуры

функция КонтрольФИО(место=1) далее
процедура УбратьПробелы() далее
процедура ВНРег() далее
Процедура ПриЗаписи() 
    Если (ПустоеЗначение(Наименование)=1) или (ПустоеЗначение(Оклад)=1)  Тогда
        предупреждение("В диалоге есть неопределенные реквизиты.");
        СтатусВозврата(0);
    иначеЕсли КонтрольФИО(2)=0 тогда
        СтатусВозврата(0);
    КонецЕсли;            
КонецПроцедуры

Функция КонтрольФИО(место=1) 
    Если место=1 Тогда
        УбратьПробелы();
        ВНРег();
    КонецЕсли;  
    Если Найти(Наименование,".")<>0 Тогда
        предупреждение("Точки в ФИО недопустимы.");
        возврат 0;
    иначе
        возврат 1;
    КонецЕсли;
КонецФункции

Процедура УбратьПробелы()
    перем длина,поз,к;
    Наименование=СокрЛП(Наименование);
    поз=Найти(Наименование," "); 
    к=1;
    Пока поз>0 Цикл
        длина=стрДлина(Наименование);
        
        Пока (поз<длина) и (Сред(Наименование,поз+к,1)=" ") Цикл
            к=к+1;
        КонецЦикла;  
    Наименование=Лев(Наименование,поз)+Прав(Наименование,длина-поз-к+1);
поз=Найти(Наименование," ");    
КонецЦикла;  
КонецПроцедуры 
 
 Процедура ВНРег() 
    перем к,длина;  
    длина=стрДлина(Наименование);
    Если длина=0 Тогда
        возврат;
    конецЕсли;
    Наименование=Нрег(Наименование); 
    Наименование=Врег(Лев(Наименование,1))+Прав(Наименование,длина-1);
    к=найти(Наименование," ");
    Пока к>0 Цикл
    Наименование=Лев(Наименование,к-1)+"%"+Врег(Сред(Наименование,к+1,1))+Прав(Наименование,длина-к-1);
    к=Найти(Наименование," ");
 КонецЦикла; 
 Наименование=СтрЗаменить(Наименование,"%"," ");
КонецПроцедуры


Это сообщение отредактировал(а) stron - 20.5.2007, 07:38
PM MAIL   Вверх
Engee
Дата 20.5.2007, 23:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 25.3.2007
Где: Санкт-Петербург

Репутация: нет
Всего: нет



Во-первых для поиска ошибок стоит использовать отладчик.
Во-вторых, я при визуальном просмотре кода не увидел, где у тебя должен быть переход к процедурам УбратьПробелы() и ВНРег(). Переход к ним возможен в случае, когда в функцию КонтрольФИО() передается параметр 1, а ты передаешь туда параметр 2, т.о. перехода к вышеуказанным процедурам не происходит. 

P.S. когда исправишь эту ошибку, то сразу же возникнет другая - зацикливание smile Сразу скажу, чтобы прекратить выполнение обработки в 1С надо нажимать ESC smile Скорее всего тебе прийдется полностью переписать процедуру УбратьПробелы(), чтобы она заработала . Ну а дальше разбирайся сам smile

P.P.S. Странно ты проверял все (да и еще 1000 раз smile ). Судя по тому что я увидел код правильно работать не должен smile

Это сообщение отредактировал(а) Engee - 20.5.2007, 23:24
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "1C: Предприятие, SAP, ERP и учётные системы"
stron

Запрещается!

1. Обсуждение крэков, кейгенов и других подобных программ

Пробуйте искать сами или обращайтесь в приват к участникам форума.

Темы с подобными вещами будут немедленно удаляться, а нарушители - получать предупреждения.

Также запрещается обсуждение проблем работы этих программ (что куда вписать, куда что скопировать и т.п...)

2. Давать ссылки на взломанные продукты

  • Пожалуйста, пользуйтесь поиском перед тем, как задать вопрос - возможно ответ уже есть на форуме.
  • Название темы должно отражать её суть
  • Действия модераторов можно обсудить здесь

С уважением, stron, Pegas.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | 1C: Предприятие, SAP, ERP и учётные системы | Следующая тема »


 




[ Время генерации скрипта: 0.0567 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.