Вход | Регистрация


1С 8.3 Переменная не определена

↓ [Волшебник, 11.12.17 - 10:53]
1С 8.3 Переменная не определена
Я
   Urbina
 
11.12.17 - 10:50
Почему пишет: (Код далее)

Ошибка инициализации модуля: ОбщаяКоманда.Калькулятор.МодульКоманды
по причине:
{ОбщаяКоманда.Калькулятор.МодульКоманды(11,7)}: Переменная не определена (ПозицияОперации)
    Если <<?>>ПозицияОперации=1 или ПозицияОперации=СтрДлина(ИсходныеДанные) Тогда
{ОбщаяКоманда.Калькулятор.МодульКоманды(11,29)}: Переменная не определена (ПозицияОперации)
    Если ПозицияОперации=1 или <<?>>ПозицияОперации=СтрДлина(ИсходныеДанные) Тогда
{ОбщаяКоманда.Калькулятор.МодульКоманды(15,30)}: Переменная не определена (ПозицияОперации)
    Операнд1=Лев(ИсходныеДанные,<<?>>ПозицияОперации-1);
{ОбщаяКоманда.Калькулятор.МодульКоманды(16,31)}: Переменная не определена (ПозицияОперации)
    Операнд2=Сред(ИсходныеДанные,<<?>>ПозицияОперации+1);
{ОбщаяКоманда.Калькулятор.МодульКоманды(22,40)}: Переменная не определена (НомерОперации1)
        ТекущаяОперация=Сред(СтрокаОпераций, <<?>>НомерОперации1);

Код: (Калькулятор в учебной платформе.)

Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
    Перем ИсходныеДанные;    
    
    ИсходныеДанные="";    
    //1.Вывести данные.

     Если НЕ ВвестиСтроку(ИсходныеДанные,"Что считать?") Тогда
        Возврат;
    КонецЕсли;    
    Если ПозицияОперации=1 или ПозицияОперации=СтрДлина(ИсходныеДанные) Тогда
        Сообщить ("Не хватает операндов.");
        Возврат;
    КонецЕсли;
    Операнд1=Лев(ИсходныеДанные,ПозицияОперации-1);
    Операнд2=Сред(ИсходныеДанные,ПозицияОперации+1);
    //2.Разобрать данные на операнды

    ПозицияОперации=0;
    СтрокаОпераций="+-*/^%";
    
    Для НомерОперации=1 По СтрДлина(СтрокаОпераций) Цикл
        ТекущаяОперация=Сред(СтрокаОпераций, НомерОперации1);
        ПозицияОперации=Найти(ИсходныеДанные,ТекущаяОперация);
        Если ПозицияОперации=0 Тогда 
            Продолжить;
        Иначе 
            Если ПозицияОперации=0 Тогда
                Сообщить("Операция"""+ТекущаяОперация+""" не найдена!");
                Возврат;
            КонецЕсли;
            
            ТекущаяОперация="^";
            ПозицияОперации=Найти(ИсходныеДанные,ТекущаяОперация);
            Если ПозицияОперации=1 или ПозицияОперации=СтрДлина(ИсходныеДанные) Тогда Сообщить("Не хватает операндов");
                Прервать;
            КонецЕсли;
            КонецЕсли;
        КонецЦикла;
//3. 


КонецПроцедуры
 
 
   Рэйв
 
1 - 11.12.17 - 10:52
А где определение переменных ПозицияОперации и НомерОперации1 перед использованием?
   Urbina
 
2 - 11.12.17 - 11:26
А где они должны быть и как это должно выглядеть? Я повторяю видеоурок. Там код написан именно так и всё работает.
   Волшебник
 
Модератор
3 - 11.12.17 - 11:33
(2) Обратитесь к автору видеоурока
   vicof
 
4 - 11.12.17 - 11:33
(2) Никто твой видеоурок не смотрел.
Может быть это реквизиты формы, может быть это переменные модуля, может быть глобальные переменные. Да куча вариантов.
   Рэйв
 
5 - 11.12.17 - 11:34
(2)Прежде чем смотреть видеоуроки неплохо было бы узнать основы программирования вообще. Какой-нибудь бейсик погоняй хотя бы.
   Urbina
 
6 - 11.12.17 - 11:37
Ещё одна флуд-компания!
   Рэйв
 
7 - 11.12.17 - 11:40
(6)Добро пожаловать в наш говённый мир обратно!(С)Масяня

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует