Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 13:31

помогите пожалуйста

Автор Сергей Федоров, 20 апр 2017, 13:48

0 Пользователей и 1 гость просматривают эту тему.

Сергей Федоров

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

alex0402

сори, но здесь только морг. (в смысле код)
Спасибо за Сказать спасибо

Dethmontt

Сергей Федоров, оставь только вот это!

Если СостояниеЗаказа = "ВДорогеККлиенту"
         Тогда Сообщить ("Данное транспортное средство уже задействовано")  ;
         Отказ = Истина ;
      КонецЕсли;
      Если СостояниеЗаказа = "ВДорогеОбратно"
         
         
         Тогда Сообщить ("Данное транспортное средство уже задействовано");
         Отказ = Истина;
      КонецЕсли;
      Если СостояниеЗаказа = "НеВыехали"
         
         Тогда Сообщить ("Данное транспортное средство уже задействовано") ;
         Отказ = Истина ;
      КонецЕсли;
      Если СостояниеЗаказа ="УКлиента"
         
         Тогда Сообщить ("Данное транспортное средство уже задействовано");
         Отказ = Истина;
      КонецЕсли;
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

alex0402

Цитата: Dethmontt от 20 апр 2017, 14:28Если СостояниеЗаказа = "ВДорогеККлиенту"

да и это тоже г**но код. Я, так понимаю, там есть Перечисление.СостояниеЗаказа?
Тогда луше

Если Выборка.СостояниеЗаказа = Перечисления.СостояниеЗаказа.ВДорогеККлиенту Тогда
или еще лучше:

СостояниеЗаказа = Перечисления.СостояниеЗаказа;
Если Выборка.СостояниеЗаказа = СостояниеЗаказа.ВДорогеККлиенту Тогда
Спасибо за Сказать спасибо

ilyay

Самый главный вопрос: какая связь между состоянием заказа и запросом по условию задачи. Из кода - никакой связи.

Сергей Федоров

Цитата: ilyay от 20 апр 2017, 15:03
Самый главный вопрос: какая связь между состоянием заказа и запросом по условию задачи. Из кода - никакой связи.
документ должен проводиться только при одном статусе (состоянии заказа), а в случае с остальными должен быть отказ

alex0402

Цитата: Сергей Федоров от 20 апр 2017, 17:03документ должен проводиться только при одном статусе (состоянии заказа), а в случае с остальными должен быть отказ

а где хранятся эти самые состояния.

Добавлено: 20 апр 2017, 17:13


ЗЫ. должен быть какой-то РС.
Спасибо за Сказать спасибо

Сергей Федоров

Цитата: alex0402 от 20 апр 2017, 17:12
Цитата: Сергей Федоров от 20 апр 2017, 17:03документ должен проводиться только при одном статусе (состоянии заказа), а в случае с остальными должен быть отказ

а где хранятся эти самые состояния.

Добавлено: 20 апр 2017, 17:13


ЗЫ. должен быть какой-то РС.
в перечислениях

alex0402

еще раз: перечисления не изменяются во времени в базе. жестко фиксируются в конфигураторе.
созданы только для удобства. значения этих перечислений заносятся в какой-то РС (регистр сведений), скорее всего периодический, который отображает состояние на момент времени.
Спасибо за Сказать спасибо

Сергей Федоров

Цитата: alex0402 от 20 апр 2017, 17:24
еще раз: перечисления не изменяются во времени в базе. жестко фиксируются в конфигураторе.
созданы только для удобства. значения этих перечислений заносятся в какой-то РС (регистр сведений), скорее всего периодический, который отображает состояние на момент времени.
"ВЫБРАТЬ
   |   СформированныеБригадыСрезПоследних.ТранспортноеСредство,
   |   СформированныеБригадыСрезПоследних.Регистратор.СостояниеЗаказа
   |ИЗ
   |   РегистрСведений.СформированныеБригады.СрезПоследних КАК СформированныеБригадыСрезПоследних
   |ГДЕ
   |   СформированныеБригадыСрезПоследних.ТранспортноеСредство = &ТранспортноеСредство";

Добавлено: 20 апр 2017, 17:27


Цитата: alex0402 от 20 апр 2017, 17:24
еще раз: перечисления не изменяются во времени в базе. жестко фиксируются в конфигураторе.
созданы только для удобства. значения этих перечислений заносятся в какой-то РС (регистр сведений), скорее всего периодический, который отображает состояние на момент времени.
данные из РС СформированныеБригадыСрезПоследних.Регистратор.СостояниеЗаказа и СформированныеБригадыСрезПоследних.ТранспортноеСредство
условия :СформированныеБригадыСрезПоследних.ТранспортноеСредство = &ТранспортноеСредство

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск