Вход | Регистрация


Выборка из оборотного регистра накопления

Выборка из оборотного регистра накопления
Я
   falselight
 
23.07.18 - 07:30
Есть оборотный регистр. В консоли запросов у него 2 таблицы:
ПотребностиПроизводства
ПотребностиПроизводства.Обороты

Необходимо по нему заполнить табличную часть документа. По условиям
равен ли поставщик номенклатуры в регистре контрагенту из документа
и больше ли одно значение ресурса регистра другого.

Если ПотребностиПроизводства.Номенклатура.ОсновнойПоставщик= Контрагент из Заказа Поставщику
Если ПотребностиПроизводства.КЗАказуПоставщика>ПотребностиПроизводства.ЗаказаноУПоставщика


Из какой таблицы лучше делать выборку?
Если из оборотов то можно наложить условие на саму таблицу.

И где лучше сравнивать ресурсы регистра оборотов?

Наверное уже после выбоки в переборе записей?!!!! Или лучше как то в запросе, что бы сразу загрузить в таблицу значений документа?!
 
 
   shadow_sw
 
1 - 23.07.18 - 07:33
Запрос быстрее будет
   МимохожийОднако
 
2 - 23.07.18 - 07:34
Постановка тех задания непонятная. Нарисуй в Excel или в блокнотике вместо этой мешанины. Как корабль назовешь...Так и с ТЗ.
   falselight
 
3 - 23.07.18 - 08:05
(2)
Есть документ Заявка на машину.
Есть оборотный регистр Потребности производства.
Измерения:
Машина (тип справочник номенлатура),
Материал (тип справочник номенклатура).
Ресурсы:
Заявлено(Тип число, длина 3), 
Зарезервировано (Тип число, длина 3), 
КЗаказуПоставщика(тип число), 
ЗаказаноПоставщику(Тип число, длина 3), 
ПоступилоНаСклад (тип число длина 3), 
Израсходованно (тип число длина 3).

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

Хочу узнать как правильнее отобрать записи из регистра. Наложив при этом на него 2 условия. Приведены в (0).

(1)
Если использовать оборотную таблицу запроса в регистре.
То условие 

Если ПотребностиПроизводства.Номенклатура.ОсновнойПоставщик= Контрагент из Заказа Поставщику

можно наложить на саму таблицу.

Но там не используются числовые поля. Где тогда в запросе делать их сравнение и как?
   hhhh
 
4 - 23.07.18 - 08:23
(3) где не используются числовые поля? В этой таблице ПотребностиПроизводства нет числовых полей?
   falselight
 
5 - 23.07.18 - 08:45
(4) В этом оборотном регистре накопления есть:
http://joxi.ru/Q2KzVq6t4d8oym

Нет среди полей отбора на виртуальную таблицу отбора
этого оборотного регистра накопления в запросе:
http://joxi.ru/p27aOExCoxV76r
   falselight
 
6 - 23.07.18 - 08:47
(4) Как мне в запросе сделать отбор записей с условием что

Если ПотребностиПроизводства.КЗАказуПоставщика>ПотребностиПроизводства.ЗаказаноПоставщику

?
   falselight
 
7 - 23.07.18 - 08:52
(4) Можно так?

    Запрос.Текст = "ВЫБРАТЬ
                   |    ПотребностиПроизводстваОбороты.Машина,
                   |    ПотребностиПроизводстваОбороты.Материал,
                   |    ПотребностиПроизводстваОбороты.ЗаявленоОборот КАК Заявлено,
                   |    ПотребностиПроизводстваОбороты.ЗарезервированноОборот КАК Зарезервированно,
                   |    ПотребностиПроизводстваОбороты.КЗаказуПоставщикаОборот КАК КЗаказуПоставщика,
                   |    ПотребностиПроизводстваОбороты.ЗаказаноПоставщикуОборот КАК ЗаказаноПоставщику,
                   |    ПотребностиПроизводстваОбороты.ПоступилоНаСкладОборот КАК ПоступилоНаСклад,
                   |    ПотребностиПроизводстваОбороты.ИзрасходованноОборот КАК Израсходованно
                   |ИЗ
                   |    РегистрНакопления.ПотребностиПроизводства.Обороты(, , , Материал.ОсновнойПоставщик = &Контрагент) КАК ПотребностиПроизводстваОбороты
                   |ГДЕ
                   |    ПотребностиПроизводстваОбороты.КЗаказуПоставщикаОборот > ПотребностиПроизводстваОбороты.ЗаказаноПоставщикуОборот";
   falselight
 
8 - 23.07.18 - 09:05
Протестировать пока только не на чем.

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

        //|    ПотребностиПроизводстваОбороты.ЗарезервированноОборот     КАК Зарезервированно,

        //|    ПотребностиПроизводстваОбороты.КЗаказуПоставщикаОборот    КАК КЗаказуПоставщика,

        |    ПотребностиПроизводстваОбороты.ЗаказаноПоставщикуОборот   КАК Количество,
        //|    ПотребностиПроизводстваОбороты.ПоступилоНаСкладОборот     КАК ПоступилоНаСклад,

        //|    ПотребностиПроизводстваОбороты.ИзрасходованноОборот       КАК Израсходованно

        |ИЗ
        |    РегистрНакопления.ПотребностиПроизводства.Обороты(, , , Материал.ОсновнойПоставщик = &Контрагент) КАК ПотребностиПроизводстваОбороты
        |ГДЕ
        |    ПотребностиПроизводстваОбороты.КЗаказуПоставщикаОборот > ПотребностиПроизводстваОбороты.ЗаказаноПоставщикуОборот";
    Запрос.УстановитьПараметр("Контрагент", Контрагент);
    Товары.Загрузить(Запрос.Выполнить().Выгрузить());
КонецПроцедуры
   falselight
 
9 - 23.07.18 - 09:15
Не подскажет ли кто, кому не в тягость?
Рабочий ли вариант в (8) ?
   breezee
 
10 - 23.07.18 - 12:39
Обожаю ваши темы, я в последнее время на мисту ради них и захожу, еще и по привычке
 
 Рекламное место пустует
   hhhh
 
11 - 23.07.18 - 12:47
(9) издеваешься? Запусти и проверь. Откуда мы можем знать такие интимные вещи? Рабочий или не рабочий? Зачем спрашиваешь?
   МимохожийОднако
 
12 - 23.07.18 - 12:50
(8) Заведи пару документов и протестируй

Список тем форума
Рекламное место пустует  Рекламное место пустует
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Э. Йодан
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует