Выявление ошибок

Тема в разделе "1C и всё что с ней связано", создана пользователем -, 29 июл 2007.

Статус темы:
Закрыта.
  1. Гость

    :) Подскажите,что это за ошибка :

    {Документ.РасходнаяНакладная.Модуль Документа(21)}: Ожидается ключевое слово 'КонецПроцедуры' ('EndProcedure')
     
  2. Zab

    Zab Well-Known Member
    1C Team

    Регистрация:
    7 авг 2006
    Сообщения:
    583
    Симпатии:
    0
    Ну, скорее всего у тебя есть "Процедура Хххххх()" но нет "КонецПроцедуры", или написано с ошибкой. Хотя, иногда она вылетает и по другим причинам, но тогда надо сначала поправить предыдущие ошибки, и эта уходит сама-собой.
     
  3. Гость

    На этом заострял внимание, всё есть. Думаю какая-то не синтакс. ошибка, а логическая. Это разбирал пошаговый пример, там взял этот код, всё перепроверил, должен документ проводиться, но не проводится, и выдаёт не ошибку,а это сообщение:
    {Документ.РасходнаяНакладная.Модуль Документа(21)}: Ожидается ключевое слово 'КонецПроцедуры' ('EndProcedure')
     
  4. Isabela

    Isabela Гость

    а что, синтакс-контроль модуля ошибок не выдает ?
     
  5. jcnby

    jcnby Гость

    Хм- логическая выскакивает походу при работе в самой программе. Перепроверь модуль чтобы по 2 раза не стояли слова типа "Процедура" и т.д. - ибо может при копировании ( т.к. текст брал с примера) мог либо что-нить потерять либо лишнего добавить .
     
  6. Гость

    Вот начало кода:
    Процедура ОбработкаПроведения()
    РегОст=СоздатьОбъект("Регистр.ОстаткиТоваров");
    Если СравнитьТА()=-1 Тогда
    // Проверяем, не проводится ли документ ранее точки актуальности итогов
    РегОст.ВременныйРасчет(1);
    РассчитатьРегистрыНа(ТекущийДокумент());
    КонецЕсли;
    // Проверка на наличие на остатке
    ВыбратьСтроки();
    ФлагОтказа=0;
    Пока (ПолучитьСтроку()>0) Цикл
    Остат=РегОст.СводныйОстаток(Склад,Товар,Сорт,,"Количество");
    Если Остат
    Сообщить("Нет товара № "
    +СокрЛП(Товар.Код)+"/"
    +СокрЛП(Сорт.Наименование)+" в колич. "
    +КолО+" (имеется "+Остат+")");
    ФлагОтказа=1;
    КонецЕсли;
    КонецЦикла;Вот на этой строке выдаёт сообщение:{Документ.РасходнаяНакладная.Модуль Документа(21)}: Ожидается ключевое слово 'КонецПроцедуры' ('EndProcedure')
     
  7. LSH

    LSH Гость

    Варианта 3:

    1. Либо не хватает ключевого слова КонецПроцедуры (после твоего модуля)
    2. Либо оно есть, но написано КонецПроцедуры; (точка с запятой не нужны)
    3. Что такое:
    Код (Text):
    Если Остат
    Сообщить(...
    Во-первых, в 1С нельзя использовать эту Си'шную конструкцию. Тут обязательно надо указывать условие.
    Во вторых, где ключевое слово Тогда?
    Наверное, должно быть так:
    Код (Text):
    Если Остат = 0 Тогда
    Сообщить(...
     
  8. Гость

    Если Остат = Кол0 Тогда
    Сообщить(...

    Всё понял,просто был невнимателен,поставил вот так и всё заработало.Спасибо!
     
  9. FAETON1981

    FAETON1981 Гость

    Процедура ОбработкаПроведения()
    //длог за поставленный товар возрос
    Регистр.Взаиморасчеты.Контрагент=Поставщик;
    Регистр.Взаиморасчеты.Договор=Договор;
    Регистр.Сумму=Итог("Сумма");
    Регистр.Взаиморасчеты.ФлагДвижения=1;
    Регистр.Взаиморасчеты.ДвижениеПриходВыполнить();
    //по кождой строке
    Регистр.ОстаткиТоваров.Склад=Склад;
    Регистр.ОстаткиТоваров.Товар=Товар;
    Регистр.ОстаткиТоваров.Сорт=Сорт;
    Регистр.ОстаткиТоваров.Партия=ТекущийДокумент();
    Регистр.ОстаткиТоваров.Количество=КолО;
    Регистр.ОстаткиТоваров.СуммаП=Сумма;
    Регистр.ОстаткиТоваров.СуммаД=Сумма;
    Регистр.ОстаткиТоваров.ФлагДвижения=1;
    Регистр.ОстаткиТоваров.ПривязыватьСтроку(НомерСтроки);
    //команда ПривязыватьСтроку() к каждой записи по движению регистра
    //указывается какя имено строка доакумента произвела это движения
    Регистр.ОстаткиТоваров.ДвижениеПриходВыполнить();
    //запись о росте товарооборота
    Регистр.ОборотыТоварав.Склад=Склад;
    Регистр.ОборотыТоваров.Товар=Товар;
    Регистр.ОборотыТоваров.Сорт=Сорт;
    Регистр.ОборотыТоваров.Количество=КолО;
    Регистр.ОборотыТоваров.СуммаУ=Сумма;
    Регистр.ОборотыТоваров.ФлагДвижения=1;
    Регистр.ОборотыТоваров.ПривязыватьСтроку(НомерСтроки);
    Регистр.ОборотыТоваров.ДвижениеВыполнить();
    //оборотный регистр движения
    КонецЦикла;
    КонецПроцедуры
    1с выдает {Документ.ПриходнаяНакладная.Модуль Документа(33)}: Ожидается ключевое слово 'КонецПроцедуры' ('EndProcedure')
    проверел 100 раз не могу найти ошибку помогите плиз
     
  10. LSH

    LSH Гость

    <!--QuoteBegin-FAETON1981+31:10:2007, 14:12 -->
    <span class="vbquote">(FAETON1981 @ 31:10:2007, 14:12 )</span><!--QuoteEBegin-->...
    Регистр.ОборотыТоваров.ФлагДвижения=1;
    Регистр.ОборотыТоваров.ПривязыватьСтроку(НомерСтроки);
    Регистр.ОборотыТоваров.ДвижениеВыполнить();
    //оборотный регистр движения
    КонецЦикла; - это лишнее
    КонецПроцедуры
    [snapback]83770" rel="nofollow" target="_blank[/snapback]​
    [/quote]


    Или даже вот так правильно:
    <!--QuoteBegin-FAETON1981+31:10:2007, 14:12 -->
    <span class="vbquote">(FAETON1981 @ 31:10:2007, 14:12 )</span><!--QuoteEBegin-->Процедура ОбработкаПроведения()
    //длог за поставленный товар возрос
    Регистр.Взаиморасчеты.Контрагент=Поставщик;
    Регистр.Взаиморасчеты.Договор=Договор;
    Регистр.Сумму=Итог("Сумма");
    Регистр.Взаиморасчеты.ФлагДвижения=1;
    Регистр.Взаиморасчеты.ДвижениеПриходВыполнить();
    //по кождой строке
    ВыбратьСтроки();
    Пока ПолучитьСтроку() = 1 Цикл

    Регистр.ОстаткиТоваров.Склад=Склад;
    Регистр.ОстаткиТоваров.Товар=Товар;
    Регистр.ОстаткиТоваров.Сорт=Сорт;
    Регистр.ОстаткиТоваров.Партия=ТекущийДокумент();
    Регистр.ОстаткиТоваров.Количество=КолО;
    Регистр.ОстаткиТоваров.СуммаП=Сумма;
    Регистр.ОстаткиТоваров.СуммаД=Сумма;
    Регистр.ОстаткиТоваров.ФлагДвижения=1;
    Регистр.ОстаткиТоваров.ПривязыватьСтроку(НомерСтроки);
    //команда ПривязыватьСтроку() к каждой записи по движению регистра
    //указывается какя имено строка доакумента произвела это движения
    Регистр.ОстаткиТоваров.ДвижениеПриходВыполнить();
    //запись о росте товарооборота
    Регистр.ОборотыТоварав.Склад=Склад;
    Регистр.ОборотыТоваров.Товар=Товар;
    Регистр.ОборотыТоваров.Сорт=Сорт;
    Регистр.ОборотыТоваров.Количество=КолО;
    Регистр.ОборотыТоваров.СуммаУ=Сумма;
    Регистр.ОборотыТоваров.ФлагДвижения=1;
    Регистр.ОборотыТоваров.ПривязыватьСтроку(НомерСтроки);
    Регистр.ОборотыТоваров.ДвижениеВыполнить();
    //оборотный регистр движения
    КонецЦикла; //Тогда это оставляем.
    КонецПроцедуры
    [snapback]83770" rel="nofollow" target="_blank[/snapback]​
    [/quote]
     
  11. FAETON1981

    FAETON1981 Гость

    Спасибо большое все получилось:)
     
  12. FAETON1981

    FAETON1981 Гость

    Извените последний вопрос тож самое
    Процедура Печать()
    Таб=СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Таблица");
    Таб.ВывестиСекцию("Шапка");
    ВыбратьСтроки();
    Пока ПолучитьСтроку()=1 Цикл
    НС=НомерСтроки;
    //атрибут НомерСтроки возвпащает номер текущей строки
    //табличной части
    Таб.ВывестиСеуцию("Строка");
    КонецЦикла;
    ИтогПр=Формат(Итог("Сумма"),"ЧПДС");
    //в переменую ИтогПр выводим сумму прописью
    Таб.ВывестиСекцию("Подвал");
    Таб.ТолькоПросмотр(1);
    Таб.ПараметрыСтраницы(1,100,1);
    Таб.Показать("");
    КонецПроцедуры

    {Документ.ПриходнаяНакладная.Форма.Модуль(61)}: Ожидается ключевое слово 'КонецПроцедуры' ('EndProcedure') :D
     
  13. kaa

    kaa Гость

    Для: FAETON1981
    Ошибок невижу скопруйте полностью строку сообщения с ошибкой
     
  14. FAETON1981

    FAETON1981 Гость

    <<?>>Процедура Печать()
    {Документ.ПриходнаяНакладная.Форма.Модуль(61)}: Ожидается ключевое слово 'КонецПроцедуры' ('EndProcedure')
    <<?>>Процедура Печать()
    {Документ.ПриходнаяНакладная.Форма.Модуль(61)}: Ожидается ключевое слово 'КонецПроцедуры' ('EndProcedure')
     
  15. b00tch

    b00tch Гость

    смотри предыдущую процедуру...
     
  16. vbs

    vbs Well-Known Member

    Регистрация:
    18 фев 2007
    Сообщения:
    1.708
    Симпатии:
    3
    а может быть вот этот монстр мешает
    Таб.ВывестиСеуцию("Строка"); ?
     
  17. FAETON1981

    FAETON1981 Гость

    Нет Таб.ВывестиСеуцию("Строка"); не мешает

    Как может влиять предидущие процедуры на эту
     
  18. jj_mail

    jj_mail Гость

    В предыдущей процедуре не закрыт цикл, или если, и т.д.
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей