Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
16 Июн 2021, 16:55
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
МультиВход
 
collapse

Автор Тема: Модуль Объекта не получается установить параметры  (Прочитано 1331 раз)

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

Оффлайн Сергей Федоров

  • *
  • Регистрация: 2017-04-20
  • Сообщений: 49
  • РЕПУТАЦИЯ: -4
Здраствуйте, помоги пожалуйста. Вот текст запроса.выскакивает ошибка.
Ошибка при выполнении обработчика - 'ОбработкаПроведения'
по причине:
{Документ.ЗаявкаНаТранспорт.МодульОбъекта(55)}: Поле объекта не обнаружено (Ссылка)
   СостояниеЗаказа.Ссылка = Перечисления.СостояниеЗаказа;

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

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


Оффлайн alex0402

  • *****
  • Регистрация: 2010-09-10
  • Сообщений: 2000
  • РЕПУТАЦИЯ: 358
  • КПД: 18%
  • Профессия: Программист 1С
  Запрос.УстановитьПараметр("СостояниеЗаказа.Ссылка", СостояниеЗаказа);
здесь, наверное, опечатка.

СостояниеЗаказа = Перечисления.СостояниеЗаказа;
   СостояниеЗаказа.Ссылка = Перечисления.СостояниеЗаказа;

1) у перечисления нет ссылки,
2) ссылке нельзя ничего присвоить
Спасибо за Сказать спасибо

Оффлайн ilyay

  • 1С:Специалист, 1С:Эксперт
  • *****
  • Регистрация: 2011-06-09
  • Сообщений: 562
  • РЕПУТАЦИЯ: 104
  • КПД: 19%
  • Профессия: Разработчик 1С
эти три строчки посмотрите:
   Запрос.УстановитьПараметр("СостояниеЗаказа.Ссылка", СостояниеЗаказа);
   СостояниеЗаказа = Перечисления.СостояниеЗаказа;
   СостояниеЗаказа.Ссылка = Перечисления.СостояниеЗаказа;
параметр должен быть без ".ссылка", а последние две строки - непонятно, что хотите сделать.

Оффлайн Сергей Федоров

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

Оффлайн alex0402

  • *****
  • Регистрация: 2010-09-10
  • Сообщений: 2000
  • РЕПУТАЦИЯ: 358
  • КПД: 18%
  • Профессия: Программист 1С
Если Перечисления.СостояниеЗаказа = Перечисления.СостояниеЗаказа.ВДорогеККлиенту

это условие всегда ложь
Спасибо за Сказать спасибо

Оффлайн ilyay

  • 1С:Специалист, 1С:Эксперт
  • *****
  • Регистрация: 2011-06-09
  • Сообщений: 562
  • РЕПУТАЦИЯ: 104
  • КПД: 19%
  • Профессия: Разработчик 1С
код в цикле вообще к запросу не относится. И вместо склейки в запросе достаточно было параметр поставить в секцию "выбрать".

Оффлайн Сергей Федоров

  • *
  • Регистрация: 2017-04-20
  • Сообщений: 49
  • РЕПУТАЦИЯ: -4
код в цикле вообще к запросу не относится. И вместо склейки в запросе достаточно было параметр поставить в секцию "выбрать".
вот так вот:?
Запрос = Новый Запрос;
   Запрос.Текст =
   
   "ВЫБРАТЬ
   |   СформированныеБригадыСрезПоследних.ТранспортноеСредство,
   |   СостояниеЗаказа.Ссылка,
   |   СформированныеБригадыСрезПоследних.Водитель,
   |   СформированныеБригадыСрезПоследних.Грузчик1,
   |   СформированныеБригадыСрезПоследних.Грузчик2
   |ИЗ
   |   РегистрСведений.СформированныеБригады.СрезПоследних КАК СформированныеБригадыСрезПоследних,
   |   Перечисление.СостояниеЗаказа КАК СостояниеЗаказа
   |ГДЕ
   |   СформированныеБригадыСрезПоследних.ТранспортноеСредство = &ТранспортноеСредство
   |   И СостояниеЗаказа.Ссылка = &СостояниеЗаказа";
   
   Запрос.УстановитьПараметр("ТранспортноеСредство", ТранспортноеСредство);
   Запрос.УстановитьПараметр("СостояниеЗаказа", СостояниеЗаказа);
   
   Результат = Запрос.Выполнить();
   ВыборкаДетальныеЗаписи = Результат.Выбрать();
   Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
      Если СостояниеЗаказа = "ВДорогеККлиенту"
         Тогда Сообщить ("Данное транспортное средство уже задействовано")  ;
         Отказ = Истина ;
      КонецЕсли;
      Если СостояниеЗаказа = "ВДорогеККлиенту"
         
         
         Тогда Сообщить ("Данное транспортное средство уже задействовано");
         Отказ = Истина;
      КонецЕсли;
      Если СостояниеЗаказа = "ВДорогеККлиенту"
         
         Тогда Сообщить ("Данное транспортное средство уже задействовано") ;
         Отказ = Истина ;
      КонецЕсли;
      Если СостояниеЗаказа ="ВДорогеККлиенту"
         
         Тогда Сообщить ("Данное транспортное средство уже задействовано");
         Отказ = Истина;
      КонецЕсли;
      
      
   КонецЦикла;
Добавлено: 20 Апр 2017, 17:58

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

Последний раз редактировалось: Сергей Федоров; 20 Апр 2017, 17:58. Причина: Объединение сообщений


Теги:
 

Поле объекта не обнаружено (ТекущиеДанные)

Автор mdnРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 10233
Последний ответ 05 Янв 2012, 23:43
от mdn
Метод объекта не обнаружен (НачатьПодключениеОборудованиеПриОткрытииФормы)

Автор Супер ВольтРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 1002
Последний ответ 23 Янв 2019, 07:24
от Геннадий ОбьГЭС
Метод Объекта не обнаружен (ЗаполнитьМассивУникальнымиЗначениями)

Автор Stanislav GareevРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 6
Просмотров: 1058
Последний ответ 26 Фев 2020, 13:24
от Геннадий ОбьГЭС
Как обратиться к данным табличной формы с модуля объекта документа

Автор damir-itРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 6003
Последний ответ 25 Фев 2016, 09:50
от LexaK
Метод не может быть вызван для данного объекта

Автор MuI_I_IkaРаздел Ошибки 1С:Предприятия

Ответов: 0
Просмотров: 1420
Последний ответ 24 Ноя 2016, 10:34
от MuI_I_Ika

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Последние вакансии

* Том 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
68 Сообщений
LexaK
68 Сообщений
antoneus antoneus
33 Сообщений
Ивашка
27 Сообщений
neek666
26 Сообщений
KATERINA 861
19 Сообщений
Алексей_1985_06
15 Сообщений
SSC
15 Сообщений
alexandr_ll
14 Сообщений
BuhRust
8 Сообщений

* Кто онлайн

  • Точка Гостей: 589
  • Точка Скрытых: 0
  • Точка Пользователей: 5
  • Точка Сейчас на форуме:

* Облако тэгов

* Инструменты

* Дополнительно

Поиск