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

Получить реквизиты документа из другого документа

Автор User10, 07 ноя 2018, 10:55

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

User10

Здравствуйте. Как для документа ФормированиеБригады при выборе Машины (СправочникСсылка.ТранспортныеСредства) для реквизита НачальноеЗначениеСчетчика получить значение реквизита Километраж из документа Заявка? И чтобы каждый раз Километраж накапливал значение? Спасибо.

alexandr_ll

Цитата: User10 от 07 ноя 2018, 10:55
Здравствуйте. Как для документа ФормированиеБригады при выборе Машины (СправочникСсылка.ТранспортныеСредства) для реквизита НачальноеЗначениеСчетчика получить значение реквизита Километраж из документа Заявка? И чтобы каждый раз Километраж накапливал значение? Спасибо.
Создать соответствующий регистр и значение получать из него.

User10

Цитата: alexandr_ll от 07 ноя 2018, 10:59
Цитата: User10 от 07 ноя 2018, 10:55
Здравствуйте. Как для документа ФормированиеБригады при выборе Машины (СправочникСсылка.ТранспортныеСредства) для реквизита НачальноеЗначениеСчетчика получить значение реквизита Километраж из документа Заявка? И чтобы каждый раз Километраж накапливал значение? Спасибо.
Создать соответствующий регистр и значение получать из него.

Спасибо.Сейчас попробую.

Был создан регистр накопления Поездки(Обороты), Машина-измерение, Километраж-ресурс.
В документе Заявка выполняется движение.
В документе ФормированиеБригады в модуле создаю запрос
Процедура МашинаПриИзменении()

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

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

Ошибки:
Переменная не определена (НачальноеЗначениеСчетчикаСпидометра)
Переменная не определена (Машина)


alexandr_ll

У вас "Машина" - реквизит документа или какой-либо табличной части?

User10

Цитата: alexandr_ll от 07 ноя 2018, 11:33
У вас "Машина" - реквизит документа или какой-либо табличной части?

Реквизит

alexandr_ll

Цитата: User10 от 07 ноя 2018, 11:02
Цитата: alexandr_ll от 07 ноя 2018, 10:59
Цитата: User10 от 07 ноя 2018, 10:55
Здравствуйте. Как для документа ФормированиеБригады при выборе Машины (СправочникСсылка.ТранспортныеСредства) для реквизита НачальноеЗначениеСчетчика получить значение реквизита Километраж из документа Заявка? И чтобы каждый раз Километраж накапливал значение? Спасибо.
Создать соответствующий регистр и значение получать из него.

Спасибо.Сейчас попробую.

Был создан регистр накопления Поездки(Обороты), Машина-измерение, Километраж-ресурс.
В документе Заявка выполняется движение.
В документе ФормированиеБригады в модуле создаю запрос
Процедура МашинаПриИзменении()

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

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

Ошибки:
Переменная не определена (НачальноеЗначениеСчетчикаСпидометра)
Переменная не определена (Машина)
Не понятно
1.назначение условия:
| И ПоездкиОбороты.КилометражОборот = &НачальноеЗначениеСчетчикаСпидометра";

2. В каком модуле ваша процедура
3 Реквизитом чего является "Машина"
В запросе нужен период, за который будут браться обороты по километражу.

User10

Цитата: alexandr_ll от 07 ноя 2018, 11:57
Цитата: User10 от 07 ноя 2018, 11:02
Цитата: alexandr_ll от 07 ноя 2018, 10:59
Цитата: User10 от 07 ноя 2018, 10:55
Здравствуйте. Как для документа ФормированиеБригады при выборе Машины (СправочникСсылка.ТранспортныеСредства) для реквизита НачальноеЗначениеСчетчика получить значение реквизита Километраж из документа Заявка? И чтобы каждый раз Километраж накапливал значение? Спасибо.
Создать соответствующий регистр и значение получать из него.

Спасибо.Сейчас попробую.

Был создан регистр накопления Поездки(Обороты), Машина-измерение, Километраж-ресурс.
В документе Заявка выполняется движение.
В документе ФормированиеБригады в модуле создаю запрос
Процедура МашинаПриИзменении()

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

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

Ошибки:
Переменная не определена (НачальноеЗначениеСчетчикаСпидометра)
Переменная не определена (Машина)
Не понятно
1.назначение условия:
| И ПоездкиОбороты.КилометражОборот = &НачальноеЗначениеСчетчикаСпидометра";

2. В каком модуле ваша процедура
3 Реквизитом чего является "Машина"
В запросе нужен период, за который будут браться обороты по километражу.

1. Ошибка понятна.
2. В модуле ФормированиеБригады.
3. Как это правильно указать, чтобы за все время брались обороты?

LexaK

хм, вопрос!
спидометр показывает два пробега
1.абсолютный - сколько машина проехала с момента сборки/эксплуатации, значение этого счетчика нарастающий итог
2.относительный - пробег за день,месяц (какой-то период)
вы в регистр какое значение пишите?  :D
если помогло нажмите: Спасибо!

alexandr_ll


[/quote]

1. Ошибка понятна.
2. В модуле ФормированиеБригады.
3. Как это правильно указать, чтобы за все время брались обороты?
[/quote]
У документа много модулей: модуль формы, менеджера, списка, объекта.
о запросах по регистру:
https://helpme1c.ru/registry-nakopleniya-v-yazyke-1s-8-v-primerax

User10

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

Теги:

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

Рейтинг@Mail.ru

Поиск