Ошибка ожидается ключевое слово конецпроцедуры

//Процедура КонтрагентПриИзменении(Элемент)

//     Если Не КонтактноеЛицо.Пустая()Тогда

//         Если Контрагент<>КонтактноеЛицо.Владелец Тогда

//              КонтактноеЛицо=Справочники.КонтактныеЛица.ПустаяСсылка();

//         КонецЕсли;

//     КонецЕсли;

// КонецПроцедуры

//Процедура ТоварыСуммаПриИзменении(Элемент)

//     //расчет суммы строки табличной части

//    СтрочкаТЧ=ЭлементыФормы.Товары.ТекущиеДанные;

//    СтрочкаТЧ.Сумма=СтрочкаТЧ.Цена*СтрочкаТЧ.Количество.

//КонецПроцедуры

Процедура ТоварыНоменклатураПриИзменении(Элемент)

   СтрочкаТЧ=ЭлементыФормы.Товары.ТекущиеДанные;

   СтрочкаТЧ.Цена=СтрочкаТЧ.Номенклатура.ЦенаПокупки;

   Товары.КоличествоПриИзменении(Элемент);

КонецПроцедуры

Процедура Печать(Элемент)

   //{{_КОНСТРУКТОР_ПЕЧАТИ_ЭЛЕМЕНТ(Печать)

   // Данный фрагмент построен конструктором.

   // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

   ТабДок = Новый ТабличныйДокумент;

   Макет = Документы.Приходная.ПолучитьМакет(«Печать»);

   // Заголовок

   Область = Макет.ПолучитьОбласть(«Заголовок»);

   ТабДок.Вывести(Область);

   ТабДок.ОтображатьСетку = Ложь;

   ТабДок.Защита = Ложь;

   ТабДок.ТолькоПросмотр = Ложь;

   ТабДок.ОтображатьЗаголовки = Ложь;

   ТабДок.Показать();

   //}}_КОНСТРУКТОР_ПЕЧАТИ_ЭЛЕМЕНТ

КонецПроцедуры

Процедура ОткрытьИсториюНажатие(Элемент)

   ФормаСР=РегистрыСведений.Валюты.ПолучитьФормуСписка(,ЭтаФорма,»Док»+Номер);

   ФормаСР.РегистрСведенийСписок.Отбор.Валюта.Значение=Валюта;

   ФормаСР.РегистрСведенийСписок.Отбор.Валюта.Использование=Истина;

   ФормаСР.ЗакрыватьПриЗакрытииВладельца=Истина;

   Если Не ФормаСР.Открыта() Тогда

       ФормаСР.РазрешитьСостояниеПрячущееся=Истина;

       ФормаСР.РазрешитьСостояниеПрикрепленное=Истина;

       ФормаСР.РазрешитьСоединятьОкно=Истина;

   КонецЕсли;

   ФормаСР.Открыть();

КонецПроцедуры

//НЕПОНЯТНО:

//Необходимо определить как обработчик события  «ПриИзмененении»

//для элемента диалога, связанного с реквизитом диалога «Валюта»

Процедура ВалютаПриИзменении(Элемент)

   Отбор=Новый Структура(«Валюта»,Валюта);

   Запись=РегистрыСведений.Валюты.ПолучитьПоследнее(Дата.Отбор);

   Курс=Запись.Курс;

КонецПроцедуры

Такой вот модуль. Если одну из первых процедур активировать, то ругается(

если в модуте несколько процедур то конфигуратор ругается: что Ожидается ключевое слово ‘КонецПроцедуры’ (‘EndProcedure’) Как этого избежать? (если в другие модули перенести не удается)

Проверь код — везде ли есть конеццикла, конецесли и т.п.

ошибка не потому что у тебя несколько процедур

После КонецПроцедуры точку с запятой убери…

расшнуровать ботиночки и снять  их с глазиков

Такой вот модуль. Если одну из первых процедур активировать, то ругается(

здесь ошибка СтрочкаТЧ.Сумма=СтрочкаТЧ.Цена*СтрочкаТЧ.Количество.

а здесь в конце кто будет «;» ставить: //    СтрочкаТЧ.Сумма=СтрочкаТЧ.Цена*СтрочкаТЧ.Количество.

поставь там восклицательный знак! зачем ставить скромную точку?

всем спасибо! mirosh ты был прав

Тэги:

Комментарии доступны только авторизированным пользователям

Статус
Закрыто для дальнейших ответов.

Guest


  • #1

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

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

Zab


  • #2

Ну, скорее всего у тебя есть «Процедура Хххххх()» но нет «КонецПроцедуры», или написано с ошибкой. Хотя, иногда она вылетает и по другим причинам, но тогда надо сначала поправить предыдущие ошибки, и эта уходит сама-собой.

Guest


  • #3

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

Isabela


  • #4

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

jcnby


  • #5

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

Guest


  • #6

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

LSH


  • #7

Варианта 3:

1. Либо не хватает ключевого слова КонецПроцедуры (после твоего модуля)
2. Либо оно есть, но написано КонецПроцедуры; (точка с запятой не нужны)
3. Что такое:

Во-первых, в 1С нельзя использовать эту Си’шную конструкцию. Тут обязательно надо указывать условие.
Во вторых, где ключевое слово Тогда?
Наверное, должно быть так:

Код:

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

Guest


  • #8

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

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

FAETON1981


  • #9

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

LSH


  • #10

<!—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]

FAETON1981


  • #11

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

FAETON1981


  • #12

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

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

kaa


  • #13

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

FAETON1981


  • #14

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

b00tch


  • #15

смотри предыдущую процедуру…

vbs


  • #16

а может быть вот этот монстр мешает
Таб.ВывестиСеуцию(«Строка»); ?

FAETON1981


  • #17

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

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

jj_mail


  • #18

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

Статус
Закрыто для дальнейших ответов.

Обучение наступательной кибербезопасности в игровой форме. Начать игру!

1

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

28.07.2007, 13:13. Показов 29787. Ответов 17


Студворк — интернет-сервис помощи студентам

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

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

0 / 0 / 0

Регистрация: 11.11.2005

Сообщений: 584

28.07.2007, 16:48

2

Ну, скорее всего у тебя есть «Процедура Хххххх()» но нет «КонецПроцедуры», или написано с ошибкой. Хотя, иногда она вылетает и по другим причинам, но тогда надо сначала поправить предыдущие ошибки, и эта уходит сама-собой.



0



28.07.2007, 17:12

3

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

0 / 0 / 0

Регистрация: 15.05.2007

Сообщений: 152

28.07.2007, 21:31

4

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



0



0 / 0 / 0

Регистрация: 14.07.2007

Сообщений: 142

29.07.2007, 12:57

5

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



0



29.07.2007, 20:57

6

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

0 / 0 / 0

Регистрация: 10.07.2017

Сообщений: 350

30.07.2007, 00:20

7

Варианта 3:

1. Либо не хватает ключевого слова КонецПроцедуры (после твоего модуля)
2. Либо оно есть, но написано КонецПроцедуры; (точка с запятой не нужны)
3. Что такое:

Во-первых, в 1С нельзя использовать эту Сишную конструкцию. Тут обязательно надо указывать условие.
Во вторых, где ключевое слово Тогда?
Наверное, должно быть так:

Код

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



0



30.07.2007, 20:26

8

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

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

FoyTOm1981

30.10.2007, 13:25

9

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

0 / 0 / 0

Регистрация: 10.07.2017

Сообщений: 350

30.10.2007, 13:35

10

<!—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]



0



FoyTOm1981

30.10.2007, 13:54

11

Спасибо большое все получилось

FoyTOm1981

30.10.2007, 15:15

12

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

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

0 / 0 / 0

Регистрация: 22.04.2010

Сообщений: 38

30.10.2007, 15:27

13

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



0



FoyTOm1981

30.10.2007, 15:30

14

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

0 / 0 / 0

Регистрация: 16.07.2007

Сообщений: 170

30.10.2007, 16:46

15

смотри предыдущую процедуру…



0



0 / 0 / 1

Регистрация: 22.06.2013

Сообщений: 9

30.10.2007, 22:22

16

а может быть вот этот монстр мешает
Таб.ВывестиСеуцию(«Строка»); ?



0



FoyTOm1981

31.10.2007, 08:27

17

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

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

0 / 0 / 0

Регистрация: 25.02.2007

Сообщений: 88

31.10.2007, 08:51

18

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



0



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

31.10.2007, 08:51

Помогаю со студенческими работами здесь

Выявление ошибки
Не могли бы вы помочь найти ошибку. При компиляции пишет, что процесс завершён с кодом 0, но при…

выявление alphaBlend
Как в инспекторе обжекте вывести поле для выбора alphaBlend,к примеру там распологаеться caption и…

Выявление ошибки
Добрый вечер! Прошу, помогите найти ошибку в синтаксисе программы(microsoft visual studio 2008):

Выявление ошибки компиляции
всем привет! В данной технологии новичок. Не пойму почему вылазит ошибка компиляции. Прикрепляю…

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:

18

Здравствуйте уважаемые,возник вопрос по ошибке в процедуре,изучаю программирование по книге Радченко «Практическое пособие разработчика.Примеры и типовые приемы» и делал все по примеру как написано в книге и тут бац,в коде пока не разбираюсь достаточно чтобы понять причину ошибки сам.Текст ошибки и сама процедура ниже,помогите пожалуйста понять причину ошибок.
{Документ.ОказаниеУслуги.МодульОбъекта(30,3)}: Ожидается ключевое слово ‘КонецПроцедуры’ (‘EndProcedure’)
      <<?>>|   ОказаниеУслугиПереченьНоменклатуры.НаборСвойств»; (Проверка: Сервер)
{Документ.ОказаниеУслуги.МодульОбъекта(34,38)}: Ошибка в выражении
   РезультатЗапроса = Запрос.Выполнить(<<?>>); (Проверка: Сервер)
{Документ.ОказаниеУслуги.МодульОбъекта(151,1)}: Неопознанный оператор
<<?>>» из набора свойств «»» + ВыборкаДетальныеЗаписи.НаборСвойств + «»»»; (Проверка: Сервер)
{Документ.ОказаниеУслуги.МодульОбъекта(154,1)}: Ожидается ключевое слово ‘КонецЕсли’ (‘EndIf’)
<<?>>КонецЦикла; (Проверка: Сервер)
{Документ.ОказаниеУслуги.МодульОбъекта(154,12)}: Обнаружено логическое завершение исходного текста модуля
КонецЦикла;<<?>> (Проверка: Сервер)

Процедура ОбработкаПроведения(Отказ, Режим)

      Движения.ОстаткиМатериалов.Записывать = Истина;
   Движения.СтоимостьМатериалов.Записывать = Истина;
   Движения.Продажи.Записывать = Истина;   

        // Создать менеджер временных таблиц
     МенеджерВТ = Новый МенеджерВременныхТаблиц;
   #Область НоменклатураДокумента
   Запрос = Новый Запрос;
   // Укажем, какой менеджер временных таблиц использует этот запрос
    Запрос.МенеджерВременныхТаблиц = МенеджерВТ;
   Запрос.Текст =
      «ВЫБРАТЬ
      |   ОказаниеУслугиПереченьНоменклатуры.Номенклатура,
      |   ОказаниеУслугиПереченьНоменклатуры.Номенклатура.ВидНоменклатуры КАК ВидНоменклатуры,
      |   ОказаниеУслугиПереченьНоменклатуры.НаборСвойств,
      |   СУММА(ОказаниеУслугиПереченьНоменклатуры.Количество) КАК КоличествоВДокументе,
      |   СУММА(ОказаниеУслугиПереченьНоменклатуры.Сумма) КАК СуммаВДокументе
      |ПОМЕСТИТЬ НоменклатураДокумента
      |ИЗ
      |   Документ.ОказаниеУслуги.ПереченьНоменклатуры КАК ОказаниеУслугиПереченьНоменклатуры
      |ГДЕ
      |   ОказаниеУслугиПереченьНоменклатуры.Ссылка = &Ссылка
      |
      |СГРУППИРОВАТЬ ПО
      |   ОказаниеУслугиПереченьНоменклатуры.Номенклатура,
      |   ОказаниеУслугиПереченьНоменклатуры.Номенклатура.ВидНоменклатуры»;
      |   ОказаниеУслугиПереченьНоменклатуры.НаборСвойств»;

      Запрос.УстановитьПараметр(«Ссылка», Ссылка);

      РезультатЗапроса = Запрос.Выполнить();
  #КонецОбласти

    #Область ДвиженияДокумента
     Запрос2 = Новый Запрос;
     Запрос2.МенеджерВременныхТаблиц = МенеджерВТ;
     Запрос2.Текст = «ВЫБРАТЬ
                     |   НоменклатураДокумента.Номенклатура,
                     |   НоменклатураДокумента.ВидНоменклатуры,
                 | НоменклатураДокумента.НаборСвойств,
                     |   НоменклатураДокумента.КоличествоВДокументе,
                     |   НоменклатураДокумента.СуммаВДокументе,
                     |   ЕСТЬNULL(СтоимостьМатериаловОстатки.СтоимостьОстаток, 0) КАК Стоимость,
                     |   ЕСТЬNULL(ОстаткиМатериаловОстатки.КоличествоОстаток, 0) КАК Количество
                     |ИЗ
                     |   НоменклатураДокумента КАК НоменклатураДокумента
                     |      ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СтоимостьМатериалов.Остатки(
                     |            ,
                     |            Материал В
                     |               (ВЫБРАТЬ
                     |                  НоменклатураДокумента.Номенклатура
                     |               ИЗ
                     |                  НоменклатураДокумента)) КАК СтоимостьМатериаловОстатки
                     |      ПО НоменклатураДокумента.Номенклатура = СтоимостьМатериаловОстатки.Материал
                     |      ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиМатериалов.Остатки(
                     |            ,
                     |            Материал В
                     |               (ВЫБРАТЬ
                     |                  НоменклатураДокумента.Номенклатура
                     |               ИЗ
                     |                  НоменклатураДокумента)) КАК ОстаткиМатериаловОстатки
                     |      ПО НоменклатураДокумента.Номенклатура = ОстаткиМатериаловОстатки.Материал»;

                    // Установим необходимость блокировки данных в регистрах СтоимостьМатериалов
   // и ОстаткиМатериалов
      Движения.СтоимостьМатериалов.БлокироватьДляИзменения = Истина;
      Движения.ОстаткиМатериалов.БлокироватьДляИзменения = Истина;

                    // Запишем пустые наборы записей, чтобы читать остатки без учета данных в документе
      Движения.СтоимостьМатериалов.Записать();
      Движения.ОстаткиМатериалов.Записать();

         РезультатЗапроса = Запрос2.Выполнить();

         ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

      Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Если ВыборкаДетальныеЗаписи.Количество = 0 Тогда
СтоимостьМатериала = 0;
Иначе
СтоимостьМатериала =
ВыборкаДетальныеЗаписи.Стоимость / ВыборкаДетальныеЗаписи.Количество;
КонецЕсли;
   Если ВыборкаДетальныеЗаписи.ВидНоменклатуры =
Перечисления.ВидыНоменклатуры.Материал Тогда
   // Регистр ОстаткиМатериалов Расход
      Движение = Движения.ОстаткиМатериалов.Добавить();
      Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
      Движение.Период = Дата;
      Движение.Материал = ВыборкаДетальныеЗаписи.Номенклатура;
      Движение.НаборСвойств = ВыборкаДетальныеЗаписи.НаборСвойств;
      Движение.Склад = Склад;
      Движение.Количество = ВыборкаДетальныеЗаписи.КоличествоВДокументе;
   // регистр СтоимостьМатериалов Расход
      Движение = Движения.СтоимостьМатериалов.Добавить();
      Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
      Движение.Период = Дата;
      Движение.Материал = ВыборкаДетальныеЗаписи.Номенклатура;
      Движение.Стоимость = ВыборкаДетальныеЗаписи.КоличествоВДокументе *
      СтоимостьМатериала;   
КонецЕсли;
// Регистр Продажи
Движение = Движения.Продажи.Добавить();
Движение.Период = Дата;
Движение.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура;
Движение.Клиент = Клиент;
Движение.Мастер = Мастер;
Движение.Количество = ВыборкаДетальныеЗаписи.КоличествоВДокументе;
Движение.Выручка = ВыборкаДетальныеЗаписи.СуммаВДокументе;
Движение.Стоимость = СтоимостьМатериала *
ВыборкаДетальныеЗаписи.КоличествоВДокументе;

      КонецЦикла;
Движения.Записать();
#КонецОбласти

#Область КонтрольОстатков
Если Режим = РежимПроведенияДокумента.Оперативный Тогда
// Проверить отрицательные остатки

Запрос3 = Новый Запрос;
Запрос3.МенеджерВременныхТаблиц = МенеджерВТ;
Запрос3.Текст = «ВЫБРАТЬ
                |   ОстаткиМатериаловОстатки.Материал,
            |   ОстаткиМатериаловОстатки.НаборСвойств,
                |   ОстаткиМатериаловОстатки.КоличествоОстаток
                |ИЗ
                |   РегистрНакопления.ОстаткиМатериалов.Остатки(
                |         ,(Материал, НаборСвойств)
                |          В
                |               (ВЫБРАТЬ
                |                  НоменклатураДокумента.Номенклатура,
            |                       НоменклатураДокумента.НаборСвойств
                |               ИЗ
                |                  НоменклатураДокумента)
                |            И Склад = &Склад) КАК ОстаткиМатериаловОстатки
                |ГДЕ
                |   ОстаткиМатериаловОстатки.КоличествоОстаток < 0″;

            Запрос3.УстановитьПараметр(«Склад», Склад);
РезультатЗапроса = Запрос3.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Сообщение = Новый СообщениеПользователю();
Сообщение.Текст = «Не хватает » + Строка(- ВыборкаДетальныеЗаписи.КоличествоОстаток) +
» единиц материала «»» + ВыборкаДетальныеЗаписи.Материал + «»»»;
» из набора свойств «»» + ВыборкаДетальныеЗаписи.НаборСвойств + «»»»;
Сообщение.Сообщить();
Отказ = Истина;
КонецЦикла;

КонецЕсли;
#КонецОбласти

КонецПроцедуры

Понравилась статья? Поделить с друзьями:

Интересное по теме:

  • Ошибка оговорка досадный промах кроссворд 6 букв
  • Ошибка обновления продукта гта 4
  • Ошибка объект не поддерживает это свойство или метод
  • Ошибка ожидается именованный объект
  • Ошибка оговорка досадный промах 6 букв сканворд

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии