//Процедура КонтрагентПриИзменении(Элемент)
// Если Не КонтактноеЛицо.Пустая()Тогда
// Если Контрагент<>КонтактноеЛицо.Владелец Тогда
// КонтактноеЛицо=Справочники.КонтактныеЛица.ПустаяСсылка();
// КонецЕсли;
// КонецЕсли;
// КонецПроцедуры
//Процедура ТоварыСуммаПриИзменении(Элемент)
// //расчет суммы строки табличной части
// СтрочкаТЧ=ЭлементыФормы.Товары.ТекущиеДанные;
// СтрочкаТЧ.Сумма=СтрочкаТЧ.Цена*СтрочкаТЧ.Количество.
//КонецПроцедуры
Процедура ТоварыНоменклатураПриИзменении(Элемент)
СтрочкаТЧ=ЭлементыФормы.Товары.ТекущиеДанные;
СтрочкаТЧ.Цена=СтрочкаТЧ.Номенклатура.ЦенаПокупки;
Товары.КоличествоПриИзменении(Элемент);
КонецПроцедуры
Процедура Печать(Элемент)
//{{_КОНСТРУКТОР_ПЕЧАТИ_ЭЛЕМЕНТ(Печать)
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
ТабДок = Новый ТабличныйДокумент;
Макет = Документы.Приходная.ПолучитьМакет(«Печать»);
// Заголовок
Область = Макет.ПолучитьОбласть(«Заголовок»);
ТабДок.Вывести(Область);
ТабДок.ОтображатьСетку = Ложь;
ТабДок.Защита = Ложь;
ТабДок.ТолькоПросмотр = Ложь;
ТабДок.ОтображатьЗаголовки = Ложь;
ТабДок.Показать();
//}}_КОНСТРУКТОР_ПЕЧАТИ_ЭЛЕМЕНТ
КонецПроцедуры
Процедура ОткрытьИсториюНажатие(Элемент)
ФормаСР=РегистрыСведений.Валюты.ПолучитьФормуСписка(,ЭтаФорма,»Док»+Номер);
ФормаСР.РегистрСведенийСписок.Отбор.Валюта.Значение=Валюта;
ФормаСР.РегистрСведенийСписок.Отбор.Валюта.Использование=Истина;
ФормаСР.ЗакрыватьПриЗакрытииВладельца=Истина;
Если Не ФормаСР.Открыта() Тогда
ФормаСР.РазрешитьСостояниеПрячущееся=Истина;
ФормаСР.РазрешитьСостояниеПрикрепленное=Истина;
ФормаСР.РазрешитьСоединятьОкно=Истина;
КонецЕсли;
ФормаСР.Открыть();
КонецПроцедуры
//НЕПОНЯТНО:
//Необходимо определить как обработчик события «ПриИзмененении»
//для элемента диалога, связанного с реквизитом диалога «Валюта»
Процедура ВалютаПриИзменении(Элемент)
Отбор=Новый Структура(«Валюта»,Валюта);
Запись=РегистрыСведений.Валюты.ПолучитьПоследнее(Дата.Отбор);
Курс=Запись.Курс;
КонецПроцедуры
Такой вот модуль. Если одну из первых процедур активировать, то ругается(
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’)
kaa
-
#13
Для: FAETON1981
Ошибок невижу скопруйте полностью строку сообщения с ошибкой
FAETON1981
-
#14
<<?>>Процедура Печать()
{Документ.ПриходнаяНакладная.Форма.Модуль(61)}: Ожидается ключевое слово ‘КонецПроцедуры’ (‘EndProcedure’)
<<?>>Процедура Печать()
{Документ.ПриходнаяНакладная.Форма.Модуль(61)}: Ожидается ключевое слово ‘КонецПроцедуры’ (‘EndProcedure’)
b00tch
-
#15
смотри предыдущую процедуру…
vbs
-
#16
а может быть вот этот монстр мешает
Таб.ВывестиСеуцию(«Строка»); ?
FAETON1981
-
#17
Нет Таб.ВывестиСеуцию(«Строка»); не мешает
Как может влиять предидущие процедуры на эту
jj_mail
-
#18
В предыдущей процедуре не закрыт цикл, или если, и т.д.
если в модуте несколько процедур то конфигуратор ругается: что Ожидается ключевое слово ‘КонецПроцедуры’ (‘EndProcedure’) Как этого избежать? (если в другие модули перенести не удается)
Проверь код — везде ли есть конеццикла, конецесли и т.п.
ошибка не потому что у тебя несколько процедур
После КонецПроцедуры точку с запятой убери…
расшнуровать ботиночки и снять их с глазиков
Такой вот модуль. Если одну из первых процедур активировать, то ругается(
здесь ошибка СтрочкаТЧ.Сумма=СтрочкаТЧ.Цена*СтрочкаТЧ.Количество.
а здесь в конце кто будет «;» ставить: // СтрочкаТЧ.Сумма=СтрочкаТЧ.Цена*СтрочкаТЧ.Количество.
поставь там восклицательный знак! зачем ставить скромную точку?
всем спасибо! mirosh ты был прав
Тэги:
Комментарии доступны только авторизированным пользователям
-
При запуске выдает
{Справочник.Животные.МодульМенеджера(64,7)}: Ожидается ключевое слово ‘КонецПроцедуры’ (‘EndProcedure’)
<<?>>ИначеЕсли ИмяМакета = «ВетеринарныеМероприятия» Тогда (Проверка: Сервер)
Процедура Печать(ТабДок, Ссылка) ЭкспортВот сам код, я уже голову сломал(((
//{{_КОНСТРУКТОР_ПЕЧАТИ(Печать)
Макет = Справочники.Животные.ПолучитьМакет(«Расписка»);
Запрос = Новый Запрос;
Запрос.Текст =
«ВЫБРАТЬ
| Животные.Болезни,
| Животные.Вакцинация,
| Животные.ВидЖивотного,
| Животные.ДатаПердачиЖивотного,
| Животные.ДатаРождения,
| Животные.Дегильмитизация,
| Животные.Документы,
| Животные.ДомашнийАдрес,
| Животные.ЖивотноеПринялСотрудник,
| Животные.ИлиПримерныйВозраст,
| Животные.Картинка,
| Животные.Клеймо,
| Животные.Код,
| Животные.КурсДрессировки,
| Животные.Наименование,
| Животные.НомерВальера,
| Животные.ОкрасЖивотного,
| Животные.ОсобыеПриметы,
| Животные.Паспорт,
| Животные.ПодписьСдающего,
| Животные.ПолЖивотного,
| Животные.поПричине,
| Животные.Порода,
| Животные.Телефон,
| Животные.ТипКорма,
| Животные.ТипСодержания,
| Животные.ФИО
|ИЗ
| Справочник.Животные КАК Животные
|ГДЕ
| Животные.Ссылка В (&Ссылка)»;
Запрос.Параметры.Вставить(«Ссылка», Ссылка);
Выборка = Запрос.Выполнить().Выбрать();
ОбластьЗаголовок = Макет.ПолучитьОбласть(«Заголовок»);
Шапка = Макет.ПолучитьОбласть(«Шапка»);
ТабДок.Очистить();
ВставлятьРазделительСтраниц = Ложь;
Пока Выборка.Следующий() Цикл
Если ВставлятьРазделительСтраниц Тогда
ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ТабДок.Вывести(ОбластьЗаголовок);
Шапка.Параметры.Заполнить(Выборка);
//********************************************************************************
Если ЗначениеЗаполнено(Выборка.Картинка) Тогда
карт=Новый Картинка(Выборка.Картинка.Файл.Получить());
Шапка.Рисунки.D1.картинка=карт;
КонецЕсли;
//********************************************************************************ТабДок.Вывести(Шапка, Выборка.Уровень());
ВставлятьРазделительСтраниц = Истина;
КонецЦикла;
//
ИначеЕсли ИмяМакета = «ВетеринарныеМероприятияа» Тогда
ТабДокумент = ВетеринарныеМероприятия(Истина);
//
КонецПроцедуры
Процедура ПолучитьСтруктуруПечатныхФорм(ТабДок, Ссылка) Экспорт
СтруктураМакетов.Вставить(«ВетеринарныеМероприятия», «Ветеринарные Мероприятия»);
КонецПроцедуры -
Offline
pavl_vs
Профессионал в 1С- Регистрация:
- 18 июн 2011
- Сообщения:
- 507
- Симпатии:
- 42
- Баллы:
- 54
Ожидается ключевое слово ‘КонецПроцедуры’ (‘EndProcedure’)
Вовсе не означает отсутствие завершения процедуры.У Вас это связано с незавершенной (и вообще «повисшей в воздухе») конструкцией ИначеЕсли ИмяМакета = «ВетеринарныеМероприятияа» Тогда.
В приведенном коде все конструкции «Если … Тогда … КонецЕсли;» логически завершены, а отмеченная выше непонятно откуда взялась, открыта неправильно и не имеет завешения.
PS Если у Вас один макет, то уберите условие ИначеЕсли, если же хотите выбирать макет, то следовало бы записать примерно так:
Если ИмяМакета = Макет1 Тогда
…..
ИначеЕсли ИмяМакета = Макет2 Тогда
…..
ИначеЕсли ИмяМакета = Макет3 Тогда
…..
КонецЕсли;Последнее редактирование: 3 сен 2017
1 |
|
Выявление ошибок28.07.2007, 13:13. Показов 29746. Ответов 17
Подскажите,что это за ошибка : {Документ.РасходнаяНакладная.Модуль Документа(21)}: Ожидается ключевое слово КонецПроцедуры (EndProcedure) |
0 / 0 / 0 Регистрация: 11.11.2005 Сообщений: 584 |
|
28.07.2007, 16:48 |
2 |
Ну, скорее всего у тебя есть «Процедура Хххххх()» но нет «КонецПроцедуры», или написано с ошибкой. Хотя, иногда она вылетает и по другим причинам, но тогда надо сначала поправить предыдущие ошибки, и эта уходит сама-собой.
0 |
28.07.2007, 17:12 |
3 |
На этом заострял внимание, всё есть. Думаю какая-то не синтакс. ошибка, а логическая. Это разбирал пошаговый пример, там взял этот код, всё перепроверил, должен документ проводиться, но не проводится, и выдаёт не ошибку,а это сообщение: |
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 |
Вот начало кода: |
0 / 0 / 0 Регистрация: 10.07.2017 Сообщений: 350 |
|
30.07.2007, 00:20 |
7 |
Варианта 3: 1. Либо не хватает ключевого слова КонецПроцедуры (после твоего модуля) Во-первых, в 1С нельзя использовать эту Сишную конструкцию. Тут обязательно надо указывать условие. Код Если Остат = 0 Тогда Сообщить(...
0 |
30.07.2007, 20:26 |
8 |
Если Остат = Кол0 Тогда Всё понял,просто был невнимателен,поставил вот так и всё заработало.Спасибо! |
FoyTOm1981 |
|
30.10.2007, 13:25 |
9 |
Процедура ОбработкаПроведения() |
0 / 0 / 0 Регистрация: 10.07.2017 Сообщений: 350 |
|
30.10.2007, 13:35 |
10 |
<!—QuoteBegin-FAETON1981+31:10:2007, 14:12 —> Или даже вот так правильно:
0 |
FoyTOm1981 |
|
30.10.2007, 13:54 |
11 |
Спасибо большое все получилось |
FoyTOm1981 |
|
30.10.2007, 15:15 |
12 |
Извените последний вопрос тож самое {Документ.ПриходнаяНакладная.Форма.Модуль(61)}: Ожидается ключевое слово КонецПроцедуры (EndProcedure) |
0 / 0 / 0 Регистрация: 22.04.2010 Сообщений: 38 |
|
30.10.2007, 15:27 |
13 |
Для: FAETON1981
0 |
FoyTOm1981 |
|
30.10.2007, 15:30 |
14 |
<<?>>Процедура Печать() |
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 |
Помогаю со студенческими работами здесь Выявление ошибки выявление alphaBlend Выявление ошибки Выявление ошибки компиляции Искать еще темы с ответами Или воспользуйтесь поиском по форуму: 18 |