Имя: Пароль:
1C
1С v8
Временные таблицы
0 amadeus2010
 
04.06.12
13:32
Добрый день, у меня есть вопрос,есть запроса соединенные между собой через объединить все

Запрос1
Объединить все
Запрос2
возможно ли эти 2 запроса поместить в одну ВТ, выбрав из каждого 2 необходимых поля? Структура запросов идентична, только в одном из них стоит проверка на условие Где, а другом нет.Или же мне надо на каждый запрос создать свои ВТ а потом эти ВТ поместить в 3-ю ВТ?
2 amadeus2010
 
04.06.12
13:40
не совсем вас понял создать 3 ВТ или 1 ВТ в которую можно передать данные из объединенного запроса?
3 Maxus43
 
04.06.12
13:41
1 вт, закладка Дополнительно с созданием ВТ - Однана оба
4 Luhtas
 
04.06.12
13:45
(0) Конечно можно. Делаешь свой запрос через объединение и выбранные данные помещаешь в одну временную таблицу, дальше используешь...
5 amadeus2010
 
04.06.12
14:02
(4)я так и сделал 2 запроса через объединение.Теперь как создать 1 ВТ в которую поместить данные из 2 запросов.Запросы созданы через консоль отчетов
6 Maxus43
 
04.06.12
14:06
ВЫБРАТЬ
   Банки.Ссылка
ПОМЕСТИТЬ ВтМоя
ИЗ
   Справочник.Банки КАК Банки

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
   Кассы.Ссылка
ИЗ
   Справочник.Кассы КАК Кассы
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ВтМоя.Ссылка
ИЗ
   ВтМоя КАК ВтМоя
7 mkanaev
 
04.06.12
14:17
ага
8 ЧеловекДуши
 
04.06.12
14:19
(5)Создай 3-тию ВТ и не парь мзг :)
9 amadeus2010
 
04.06.12
14:24
(8) я изначально так и делал, но дело в том что когда создаю 3 ВТ и даю Сумма(КолЗаказ1),Сумма(КОлЗака2) у меня суммируется все поля и числа не соответствуют реальным данным, а при Объединить 2 запроса+1 ВТ данные правильные. В чем загвоздка?
10 Maxus43
 
04.06.12
14:25
(9) запросы в студию, скажут в чем
11 amadeus2010
 
04.06.12
14:35
выкладываю запросы.Суть в том что как видно из запроса в 1 запросе отбираются заказы по условию где товар принадлежит к одной из групп, во 2 общее количество товаров в заказе. Путем создания ВТ я хотел сделать так
Выбор Когда ВТЗаказКолич1 не равно ВТЗаказКоличОбщее тогда
           ВТЗаказКолич1>=5 иначе ВТЗаказКоличОбщее


//////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ТоварыКРаспределениюПоРейсамОстатки.ЗаказПокупателя.Ссылка КАК Заказ,
   СУММА(ТоварыКРаспределениюПоРейсамОстатки.КоличествоОстаток / ТоварыКРаспределениюПоРейсамОстатки.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент) КАК КоличествоШахдагПЕТ
ИЗ
   РегистрНакопления.ТоварыКРаспределениюПоРейсам.Остатки(
           &Дата,
           ЗаказПокупателя.ДатаОтгрузки >= &ЗаказПокупателяДатаНачала
               И ЗаказПокупателя.ДатаОтгрузки <= &ЗаказПокупателяДатаКонца) КАК ТоварыКРаспределениюПоРейсамОстатки
ГДЕ
   (ТоварыКРаспределениюПоРейсамОстатки.Номенклатура.Родитель.Ссылка В ИЕРАРХИИ (&ПЕТ)
           ИЛИ ТоварыКРаспределениюПоРейсамОстатки.Номенклатура.Родитель.Ссылка В ИЕРАРХИИ (&ШАХДАГ))

СГРУППИРОВАТЬ ПО
   ТоварыКРаспределениюПоРейсамОстатки.ЗаказПокупателя.Ссылка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ТоварыКРаспределениюПоРейсамОстатки.ЗаказПокупателя.Ссылка,
   СУММА(ТоварыКРаспределениюПоРейсамОстатки.КоличествоОстаток / ТоварыКРаспределениюПоРейсамОстатки.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент) КАК КоличествоОбщее

ИЗ
   РегистрНакопления.ТоварыКРаспределениюПоРейсам.Остатки(
           &Дата,
           ЗаказПокупателя.ДатаОтгрузки >= &ЗаказПокупателяДатаНачала
               И ЗаказПокупателя.ДатаОтгрузки <= &ЗаказПокупателяДатаКонца) КАК ТоварыКРаспределениюПоРейсамОстатки

СГРУППИРОВАТЬ ПО
   ТоварыКРаспределениюПоРейсамОстатки.ЗаказПокупателя.Ссылка
///////////////////////////////////////////////////////////////////
12 Maxus43
 
04.06.12
14:39
где тут ВТ и где тут объединение?
13 amadeus2010
 
04.06.12
14:41
пардон не тот запрос выложил
14 amadeus2010
 
04.06.12
14:54
Вот это запрос
/////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ТоварыКРаспределениюПоРейсамОстатки.ЗаказПокупателя.Ссылка КАК Заказ,
   СУММА(ТоварыКРаспределениюПоРейсамОстатки.КоличествоОстаток / ТоварыКРаспределениюПоРейсамОстатки.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент) КАК КоличествоШахдагПЕТ
ПОМЕСТИТЬ ВТЗаказПЕТ
ИЗ
   РегистрНакопления.ТоварыКРаспределениюПоРейсам.Остатки(
           &Дата,
           ЗаказПокупателя.ДатаОтгрузки >= &ЗаказПокупателяДатаНачала
               И ЗаказПокупателя.ДатаОтгрузки <= &ЗаказПокупателяДатаКонца) КАК ТоварыКРаспределениюПоРейсамОстатки
ГДЕ
   (ТоварыКРаспределениюПоРейсамОстатки.Номенклатура.Родитель.Ссылка В ИЕРАРХИИ (&ПЕТ)
           ИЛИ ТоварыКРаспределениюПоРейсамОстатки.Номенклатура.Родитель.Ссылка В ИЕРАРХИИ (&ШАХДАГ))

СГРУППИРОВАТЬ ПО
   ТоварыКРаспределениюПоРейсамОстатки.ЗаказПокупателя.Ссылка
;

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

СГРУППИРОВАТЬ ПО
   ТоварыКРаспределениюПоРейсамОстатки.ЗаказПокупателя.Ссылка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ВТЗаказОбщее.ЗаказПокупателяСсылка КАК ЗаказПокупателяСсылка,
   ВТЗаказПЕТ.КоличествоШахдагПЕТ КАК КоличествоШахдагПЕТ,
   ВТЗаказОбщее.КоличествоОбщее КАК КоличествоОбщее
ИЗ
   ВТЗаказОбщее КАК ВТЗаказОбщее,
   ВТЗаказПЕТ КАК ВТЗаказПЕТ

///////////////////////////////////////////////////////////////////////////

при таком виде одни и те же заказы выводятся по несколько раз, если ставлю Сумма перед ВТЗаказПЕТ.КоличествоШахдагПЕТ КАК КоличествоШахдагПЕТ,
   ВТЗаказОбщее.КоличествоОбщее КАК КоличествоОбщее,
то суммируется все и вместо например ВТЗаказПЕТ.КоличествоШахдагПЕТ=17, выходит 29. Теперь я хочу поставить выбор когда тогда в ВТ.
15 Maxus43
 
04.06.12
14:55
ИЗ
   ВТЗаказОбщее КАК ВТЗаказОбщее,
   ВТЗаказПЕТ КАК ВТЗаказПЕТ

это КроссДжойн, есно будет идиотский результат
16 Maxus43
 
04.06.12
14:59
Это одним запросом всё, с Выбор Когда
17 amadeus2010
 
04.06.12
15:00
(16)подскажите пожалуйста как правильно одним запросом используя когда тогда
18 Maxus43
 
04.06.12
15:00
ВЫБРАТЬ
   ТоварыКРаспределениюПоРейсамОстатки.ЗаказПокупателя.Ссылка,
   СУММА(ТоварыКРаспределениюПоРейсамОстатки.КоличествоОстаток / ТоварыКРаспределениюПоРейсамОстатки.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент) КАК КоличествоОбщее,
Выбор Когда (ТоварыКРаспределениюПоРейсамОстатки.Номенклатура.Родитель.Ссылка В ИЕРАРХИИ (&ПЕТ)

          ИЛИ ТоварыКРаспределениюПоРейсамОстатки.Номенклатура.Родитель.Ссылка В ИЕРАРХИИ (&ШАХДАГ))
Тогда СУММА(ТоварыКРаспределениюПоРейсамОстатки.КоличествоОстаток / ТоварыКРаспределениюПоРейсамОстатки.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент)
Иначе 0 Конец Как Поле1

ИЗ
   РегистрНакопления.ТоварыКРаспределениюПоРейсам.Остатки(
           &Дата,
           ЗаказПокупателя.ДатаОтгрузки >= &ЗаказПокупателяДатаНачала
               И ЗаказПокупателя.ДатаОтгрузки <= &ЗаказПокупателяДатаКонца) КАК ТоварыКРаспределениюПоРейсамОстатки

СГРУППИРОВАТЬ ПО
   ТоварыКРаспределениюПоРейсамОстатки.ЗаказПокупателя.Ссылка
19 Maxus43
 
04.06.12
15:03
ЗаказПокупателя.ДатаОтгрузки МЕЖДУ дата1 И дата2
20 Maxus43
 
04.06.12
15:05
в выбор когда СУММА - до слова Выбор... ну синтаксис короче поправиш
21 sapphire
 
04.06.12
15:08
(11) Ты так с пятницы и не написал запрос?!
22 amadeus2010
 
04.06.12
15:08
могу ли я в конструкции
Выбор Когда (ТоварыКРаспределениюПоРейсамОстатки.Номенклатура.Родитель.Ссылка В ИЕРАРХИИ (&ПЕТ)

         ИЛИ ТоварыКРаспределениюПоРейсамОстатки.Номенклатура.Родитель.Ссылка В ИЕРАРХИИ (&ШАХДАГ))
Тогда СУММА(ТоварыКРаспределениюПоРейсамОстатки.КоличествоОстаток / ТоварыКРаспределениюПоРейсамОстатки.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент)
Иначе 0 Конец Как Поле1
использовать больше равно 5 для проверки значения товара находящегося в иерархии.Задача была такая есть количество товара в заказе и если товара ПЕТ или Шахдаг меньше чем 5 то этот товар не проходит, а все остальные проходят относящиеся к другим группам
23 amadeus2010
 
04.06.12
15:09
(21)пишу с перерывами, есть более срочные дела,этот запрос пока не так важен
24 Maxus43
 
04.06.12
15:10
(22) в выбор когда все логические условия можно, главно не запутайся
25 sapphire
 
04.06.12
15:10
(22) Возьми обработку КонсольЗапросов.epf c диска ИТС и там отлаживай свой запрос.
26 amadeus2010
 
04.06.12
15:14
в Консоль отчетов и делаю запрос
27 sapphire
 
04.06.12
15:15
(26) Читай внимательно. КонсольЗапросов!= КонсольОтчетов
28 amadeus2010
 
05.06.12
09:48
Доброе утро немного дополнил запрос (18)
////////////////////////////////////////////////////
ВЫБРАТЬ
   ТоварыКРаспределениюПоРейсамОстатки.ЗаказПокупателя.Ссылка,

Выбор Когда (ТоварыКРаспределениюПоРейсамОстатки.Номенклатура.Родитель.Ссылка В ИЕРАРХИИ (&ПЕТ)
       ИЛИ ТоварыКРаспределениюПоРейсамОстатки.Номенклатура.Родитель.Ссылка В ИЕРАРХИИ (&ШАХДАГ))
Тогда СУММА(ТоварыКРаспределениюПоРейсамОстатки.КоличествоОстаток / ТоварыКРаспределениюПоРейсамОстатки.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент)>=5
Иначе СУММА(ТоварыКРаспределениюПоРейсамОстатки.КоличествоОстаток / ТоварыКРаспределениюПоРейсамОстатки.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент)
Конец Как КоличествоПЕТШахдаг

ИЗ
   РегистрНакопления.ТоварыКРаспределениюПоРейсам.Остатки(
           &Дата,
           ЗаказПокупателя.ДатаОтгрузки >= &ЗаказПокупателяДатаНачала
               И ЗаказПокупателя.ДатаОтгрузки <= &ЗаказПокупателяДатаКонца) КАК ТоварыКРаспределениюПоРейсамОстатки

СГРУППИРОВАТЬ ПО
   ТоварыКРаспределениюПоРейсамОстатки.ЗаказПокупателя.Ссылка
//////////////////////////////////////////////////////////
выдает ошибку неверные параметры
Тогда СУММА(ТоварыКРаспределениюПоРейсамОстатки.КоличествоОстаток / ТоварыКРаспределениюПоРейсамОстатки.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент)>=5
Я бы хотел этим условием поставить проверку на то что соответствует или нет количество для группы ПЕТ или Шахдаг больше 5.Как можно более грамотно сделать условие проверки?
29 amadeus2010
 
05.06.12
10:42
есть кто-нибудь?
30 amadeus2010
 
05.06.12
12:09
через консоль отчетов создал запрос который отбирает те поля где количество меньше или равно 5. как сделать так чтобы не выводились пустые поля
////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ТоварыКРаспределениюПоРейсамОстатки.ЗаказПокупателя.Ссылка КАК Заказ,
   СУММА(ТоварыКРаспределениюПоРейсамОстатки.КоличествоОстаток / ТоварыКРаспределениюПоРейсамОстатки.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент) КАК КоличествоШахдагПЕТ
ПОМЕСТИТЬ ВТКоличествоКассет
ИЗ
   РегистрНакопления.ТоварыКРаспределениюПоРейсам.Остатки(
           &Дата,
           ЗаказПокупателя.ДатаОтгрузки >= &ЗаказПокупателяДатаНачала
               И ЗаказПокупателя.ДатаОтгрузки <= &ЗаказПокупателяДатаКонца
               И (Номенклатура.Родитель.Ссылка В ИЕРАРХИИ (&ПЕТ)
                   ИЛИ Номенклатура.Родитель.Ссылка В ИЕРАРХИИ (&ШАХДАГ))) КАК ТоварыКРаспределениюПоРейсамОстатки

СГРУППИРОВАТЬ ПО
   ТоварыКРаспределениюПоРейсамОстатки.ЗаказПокупателя.Ссылка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ВТКоличествоКассет.Заказ,
     Выбор когда Сумма(ВТКоличествоКассет.КоличествоШахдагПЕТ)<=5
       Тогда 0
             Иначе Сумма(ВТКоличествоКассет.КоличествоШахдагПЕТ)
       Конец
ИЗ
   ВТКоличествоКассет КАК ВТКоличествоКассет
   
   Сгруппировать По
        ВТКоличествоКассет.Заказ
///////////////////////////////////////////////////////////////////
31 Maxus43
 
05.06.12
12:14
ВЫБРАТЬ
   ВТКоличествоКассет.Заказ,
 Сумма(ВТКоличествоКассет.КоличествоШахдагПЕТ)
ИЗ
   ВТКоличествоКассет КАК ВТКоличествоКассет
   
   Сгруппировать По
        ВТКоличествоКассет.Заказ
ИМЕЮЩИЕ
Сумма(ВТКоличествоКассет.КоличествоШахдагПЕТ)<=5
И Сумма(ВТКоличествоКассет.КоличествоШахдагПЕТ)<>0
32 Pro-tone
 
модератор
05.06.12
12:19
shuhard, (1) если пишешь в тематическую ветку, то троллить не надо
33 amadeus2010
 
05.06.12
12:20
я сделал так
////////////////////////////////////////////////
ВЫБРАТЬ
   ТоварыКРаспределениюПоРейсамОстатки.ЗаказПокупателя.Ссылка КАК Заказ,
   СУММА(ТоварыКРаспределениюПоРейсамОстатки.КоличествоОстаток / ТоварыКРаспределениюПоРейсамОстатки.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент) КАК КоличествоШахдагПЕТ
ПОМЕСТИТЬ ВТКоличествоКассет
ИЗ
   РегистрНакопления.ТоварыКРаспределениюПоРейсам.Остатки(
           &Дата,
           ЗаказПокупателя.ДатаОтгрузки >= &ЗаказПокупателяДатаНачала
               И ЗаказПокупателя.ДатаОтгрузки <= &ЗаказПокупателяДатаКонца
               И (Номенклатура.Родитель.Ссылка В ИЕРАРХИИ (&ПЕТ)
                   ИЛИ Номенклатура.Родитель.Ссылка В ИЕРАРХИИ (&ШАХДАГ))) КАК ТоварыКРаспределениюПоРейсамОстатки

СГРУППИРОВАТЬ ПО
   ТоварыКРаспределениюПоРейсамОстатки.ЗаказПокупателя.Ссылка
;

///////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ВТКоличествоКассет.Заказ
    ИЗ
   ВТКоличествоКассет КАК ВТКоличествоКассет
             
       Где  ВТКоличествоКассет.КоличествоШахдагПЕТ >=5
   Сгруппировать По
        ВТКоличествоКассет.Заказ
//////////////////////////////////////////////////////////////
я не троллю, пишу в своей же ветке
34 Pro-tone
 
модератор
05.06.12
12:22
(33) я обратился к товарищу shuhard а не тебе =)
35 Maxus43
 
05.06.12
12:22
(33) он не тебе.
я уже не понимаю чего хочеш, условия в хзапросах твоих логически другие просто, то больше, то меньше
36 amadeus2010
 
05.06.12
12:22
(32)извиняюсь
37 amadeus2010
 
05.06.12
12:23
я пытался добиться того что получилось в (31) и (33)
38 Maxus43
 
05.06.12
12:27
работает правильно? ну и ок, хоть и непонятно чо надо
39 amadeus2010
 
05.06.12
12:41
да работает,отбирает заказы из группы по количеству.Появилась небольшая загвоздка.При таком условии (31) или (33) в заказ все равно должны включаться и те товары с количеством меньше 5 не входящие в ПЕТ и Шахдаг. При нынешнем запроса он просто отсекает то что не равно или меньше 5.
Например Есть Заказ ПЕТ 2, Шахдаг 1, 20л бутыль-1. При моем запросе так как сумма(количество) меньше 5, то этот заказ не проходит целиком, а должен оставить 20л, а остальные не показывать. Как можно сделать чтобы в основном запросе в проверку не попадали любые товары не ПЕТ или Шахдаг?
40 amadeus2010
 
07.06.12
10:35
добрый день в запросе использовал конструкцию Выбор когда тогда
///////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ТоварыКРаспределениюПоРейсамОстатки.ЗаказПокупателя.Ссылка,

Выбор Когда (ТоварыКРаспределениюПоРейсамОстатки.Номенклатура.Родитель.Ссылка В ИЕРАРХИИ (&ПЕТ)
       ИЛИ ТоварыКРаспределениюПоРейсамОстатки.Номенклатура.Родитель.Ссылка В ИЕРАРХИИ (&ШАХДАГ))
       Тогда СУММА(ТоварыКРаспределениюПоРейсамОстатки.КоличествоОстаток / ТоварыКРаспределениюПоРейсамОстатки.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент)>= 5
       Конец Как Количество

ИЗ
   РегистрНакопления.ТоварыКРаспределениюПоРейсам.Остатки(
           &Дата,
           ЗаказПокупателя.ДатаОтгрузки >= &ЗаказПокупателяДатаНачала
               И ЗаказПокупателя.ДатаОтгрузки <= &ЗаказПокупателяДатаКонца) КАК ТоварыКРаспределениюПоРейсамОстатки

СГРУППИРОВАТЬ ПО
   ТоварыКРаспределениюПоРейсамОстатки.ЗаказПокупателя.Ссылка
  ///////////////////////////////////////////////////////////////////////

выводит ошибку Неверные параметры "Выбор" СУММА(ТоварыКРаспределениюПоРейсамОстатки.КоличествоОстаток / ТоварыКРаспределениюПоРейсамОстатки.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент)>= 5. Как можно исправить?
41 amadeus2010
 
07.06.12
10:54
есть кто-нибудь?