Имя: Пароль:
1C
1С v8
Ошибка - операторные скобки
,
0 DudkovDA
 
31.01.22
12:15
Доброго дня!
Помогите разобраться с ошибками в процедуре:
https://pastenow.ru/ba3aef54c13bbb144b18ccf489eb78ae

Ошибки на принт-скрине
Почему то ошибка в сообщении на знаке плюс: ДатаПредыдущейСпецификации + 60 * 60 * 24 * 7  > Объект.Дата


Процедура ОбработкаПроведения(Отказ, Режим)
    Движения.Спецификация.Записывать = Истина;  
    //Запрос поиска ссылки на документ Спецификация для текущего изделия
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    СпецификацияСрезПоследних.Регистратор КАК Регистратор
    |ИЗ
    |    РегистрСведений.Спецификация.СрезПоследних(&Период, Изделие = &Изделие
    |                И Свойство = &Свойство) КАК СпецификацияСрезПоследних";
    Запрос.УстановитьПараметр("Изделие", ИзделиеИзТекущегоДокументаСпецификация);
    Запрос.УстановитьПараметр("Период", ДатаИзТекущегоДокументаСпецификация);
    Запрос.УстановитьПараметр("Свойство", ИзделиеСвойствоИзТекущегоДокументаСпецификация);
    РезультатЗапроса = Запрос.Выполнить();
    Выборка = РезультатЗапроса.Выбрать();
    Пока Выборка.Следующий() Цикл                    
        //Запоминаем документ спецификации для запроса к его табличной части
        ДатаПредыдущейСпецификации=Выборка.Регистратор.Дата;  
        ДатаПредыдущейСпецификации + 60 * 60 * 24 * 7  > Объект.Дата Тогда
        Отказ = Истина;
        Сообщить("не прошло семь дней с момента создания последней спецификации");
    Иначе;
        Для Каждого ТекСтрокаДетали Из Детали Цикл
            Движение = Движения.Спецификация.Добавить();
            Движение.Период = Дата;
            Движение.Изделие = Изделие;
            Движение.Деталь = ТекСтрокаДетали.Номенклатура;
            Движение.Количество = ТекСтрокаДетали.Количество;
        КонецЦикла;    
    КонецЦикла;
КонецПроцедуры
1 1Сергей
 
31.01.22
12:16
(0) Пропущено слово Если
2 Волшебник
 
модератор
31.01.22
12:16
Иначе;

это что?
3 Базис
 
naïve
31.01.22
12:16
1. Название темы должно отражать не внутренний мир создателя, а конкретный вопрос.
2. "Тогда" вижу, "если" не вижу.
4 1Сергей
 
31.01.22
12:16
Да и вообще, похоже, что много чего пропущено
5 Волшебник
 
модератор
31.01.22
12:18
КонецЦикла; КонецЦикла;
6 unenu
 
31.01.22
12:18
подозреваю, что пропущено чтение книги "Встроенный язык 1С".
7 DudkovDA
 
31.01.22
12:51
Я знаю, что много пропущено.
Прошу помочь с кодом, пожалуйста
8 vicof
 
31.01.22
13:03
-"Я не умею Иначе; ходить в туалет КонецЕсли"
-"У тебя нет бумаги"
-"Похоже и унитаз так себе"
-"Да, ты хреново ходишь. И кодишь."
-"Читай книжки по хождению в туалет"
-"Я знаю, что хреново хожу. Но сходите за меня."
9 DudkovDA
 
31.01.22
13:13
Я же не прошу особо крутых и умных мне объяснять. Я не работающий или практикующий программист, я просто еще учусь и делаю, как могу.
10 vicof
 
31.01.22
13:18
Тебе указали на ошибки
11 DudkovDA
 
31.01.22
13:29
Спасибо
12 DudkovDA
 
31.01.22
15:17
https://pastenow.ru/dc2c80418ace12137b1db9c9a2491ebd
Хоть и устранил детские ошибки. Но все равно выдает ошибки, по которым я не могу понять смысл
13 DudkovDA
 
31.01.22
15:19
В дополнение, нижняя часть кода
https://pastenow.ru/1412688866893847e38e9195eb7e1a61
14 Dmitrii
 
гуру
31.01.22
15:25
(13) Перепутал КонецЦикла и КонецЕсли во второй и третьей строках снизу.

А воощбе код - бред. Если ты обработке проведения написал "Отказ = Истина", проведение выполнено не будет. А значит совершенно бессмысленно после этого в цикле заполнять движения.

Ты явно запутался в условиях и циклах - что должно выполняться при каких условиях.
Такое впечатление, что в школе уроки по условиям, ветвлениям и циклам ты прогулял.
15 АгентБезопасной Нацио
 
31.01.22
15:56
(12) берешь, и пальчиком водишь.
у ЕСЛИ должен быть как минимум условие и ТОГДА, и всегда должен быть КОНЕЦЕСЛИ.
может (но не обязан) быть ИНАЧЕ (или ИНАЧЕ ТОГДА)
У цикла (хоть ДЛЯ, хоть ПОКА)  должен быть КОНЕЦЦИКЛА
области ЕСЛИ-КОНЕЦЕСЛИ и ЦИКЛ-КОНЕЦЦИКЛА не могут пересекаться, могут быть только вложены одна в другую.