Имя: Пароль:
1C
1С v8
v8: Очень долго выполняется запрос
0 lapinio
 
20.05.13
12:10
Очень долго выполняется запрос:

ВЫБРАТЬ
   ПартииНоменклатурыОбороты.Номенклатура КАК Номенклатура,
   ПартииНоменклатурыОбороты.МестоХранения КАК МестоХранения,
   ВЫРАЗИТЬ(ПартииНоменклатурыОбороты.Регистратор КАК Документ.РасходнаяНакладная).Ссылка КАК Документ
ПОМЕСТИТЬ Регистраторы
ИЗ
   РегистрНакопления.ПартииНоменклатуры.Обороты(
           НАЧАЛОПЕРИОДА(&Дата1, ДЕНЬ),
           КОНЕЦПЕРИОДА(&Дата2, ДЕНЬ),
           Регистратор,
           Номенклатура В ИЕРАРХИИ (&Номенклатура)
               И МестоХранения В ИЕРАРХИИ (&Склады)) КАК ПартииНоменклатурыОбороты
ГДЕ
   ПартииНоменклатурыОбороты.Регистратор ССЫЛКА Документ.РасходнаяНакладная
   И ВЫРАЗИТЬ(ПартииНоменклатурыОбороты.Регистратор КАК Документ.РасходнаяНакладная).ТорговыйПредставитель В ИЕРАРХИИ (&ТорговыйПредставитель)

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

ВЫБРАТЬ
   ПартииНоменклатурыОбороты.Номенклатура,
   ПартииНоменклатурыОбороты.МестоХранения,
   ВЫРАЗИТЬ(ПартииНоменклатурыОбороты.Регистратор КАК Документ.ПеремещениеНоменклатуры).Ссылка
ИЗ
   РегистрНакопления.ПартииНоменклатуры.Обороты(
           НАЧАЛОПЕРИОДА(&Дата1, ДЕНЬ),
           КОНЕЦПЕРИОДА(&Дата2, ДЕНЬ),
           Регистратор,
           Номенклатура В ИЕРАРХИИ (&Номенклатура)
               И Контрагент В ИЕРАРХИИ (&Поставщики)
               И МестоХранения В ИЕРАРХИИ
                   (ВЫБРАТЬ
                       МестаХранения.Ссылка
                   ИЗ
                       Справочник.МестаХранения КАК МестаХранения
                   ГДЕ
                       МестаХранения.Ссылка.Код В ИЕРАРХИИ (184, 272, 292, 269, 265, 266, 264, 267, 274, 291, 173))) КАК ПартииНоменклатурыОбороты
ГДЕ
   ПартииНоменклатурыОбороты.Регистратор ССЫЛКА Документ.ПеремещениеНоменклатуры

ИНДЕКСИРОВАТЬ ПО
   Номенклатура
;

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

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

////////////////////////////////////////////////////////////////////////////////
УНИЧТОЖИТЬ Регистраторы
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   РасходнаяНакладная.ГрПол,
   РасходнаяНакладная.Менеджер,
   РасходнаяНакладная.Товар,
   РасходнаяНакладная.Количество,
   РасходнаяНакладная.Сумма,
   РасходнаяНакладная.Цена,
   РасходнаяНакладная.КодТорговойТочки,
   РасходнаяНакладная.ДокДата,
   РасходнаяНакладная.Покупатель,
   РасходнаяНакладная.Склад,
   РасходнаяНакладная.РасхНакл
ПОМЕСТИТЬ ОбъденениеДокументов
ИЗ
   РасходнаяНакладная КАК РасходнаяНакладная

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

ВЫБРАТЬ
   ПеремещениеНоменклатуры.ГрПол,
   ПеремещениеНоменклатуры.Менеджер,
   ПеремещениеНоменклатуры.Товар,
   ПеремещениеНоменклатуры.Количество,
   ПеремещениеНоменклатуры.Сумма,
   ПеремещениеНоменклатуры.Цена,
   ПеремещениеНоменклатуры.КодТорговойТочки,
   ПеремещениеНоменклатуры.ДокДата,
   ПеремещениеНоменклатуры.Покупатель,
   ПеремещениеНоменклатуры.Склад,
   ПеремещениеНоменклатуры.РасхНакл
ИЗ
   ПеремещениеНоменклатуры КАК ПеремещениеНоменклатуры
;

////////////////////////////////////////////////////////////////////////////////
УНИЧТОЖИТЬ РасходнаяНакладная
;

////////////////////////////////////////////////////////////////////////////////
УНИЧТОЖИТЬ ПеремещениеНоменклатуры
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ОбъденениеДокументов.РасхНакл КАК РасхДок,
   ОбъденениеДокументов.ДокДата КАК ДокДата,
   ОбъденениеДокументов.Покупатель,
   ПОДСТРОКА(ОбъденениеДокументов.Покупатель.ПочтовыйАдрес, 0, 200) КАК ПочтовыйАдрес,
   ПОДСТРОКА(ОбъденениеДокументов.Покупатель.ЮридическийАдрес, 0, 200) КАК ПокупательЮрАдрес,
   ПРЕДСТАВЛЕНИЕССЫЛКИ(ОбъденениеДокументов.Покупатель) КАК ПокупательНаим,
   ОбъденениеДокументов.Покупатель.Код,
   ОбъденениеДокументов.Покупатель.ИНН,
   ОбъденениеДокументов.ГрПол,
   ОбъденениеДокументов.ГрПол.Адрес,
   ОбъденениеДокументов.КодТорговойТочки,
   ОбъденениеДокументов.Менеджер КАК ТП,
   ОбъденениеДокументов.Товар,
   ОбъденениеДокументов.Товар.Код КАК ТовКод,
   ОбъденениеДокументов.Товар.Артикул КАК ТовАртикул,
   ОбъденениеДокументов.Товар.Нетто КАК ТовНетто,
   ОбъденениеДокументов.Количество,
   ОбъденениеДокументов.Сумма,
   ОбъденениеДокументов.Цена
ИЗ
   ОбъденениеДокументов КАК ОбъденениеДокументов

УПОРЯДОЧИТЬ ПО
   РасхДок,
   ДокДата
1 lapinio
 
20.05.13
12:16
Если выбрать период месяц SQL зависает!
2 Галахад
 
гуру
20.05.13
12:19
Ну, перепишете.
3 dk
 
20.05.13
12:20
разбивай на подзапросы и смотри где тормоза
4 lapinio
 
20.05.13
12:21
Вот и хочу понять в чем ошибка. Для SQl тяжело несколько объединений или SQL строит не правильный план запроса
5 lapinio
 
20.05.13
12:21
(3) Разбивал выполняется быстро
6 lapinio
 
20.05.13
12:22
Если к докам обратиться выполняется быстрей
7 Fragster
 
гуру
20.05.13
12:23
убрать В ИЕРАРХИИ во временные таблицы
8 lapinio
 
20.05.13
12:24
За 5 - 10 дней выполняется за три секунды если больше период поставить тормоза
(7) В иерархии можно убрать где контрагент согласен
9 Fragster
 
гуру
20.05.13
12:26
(8) места хранения тоже
10 Fragster
 
гуру
20.05.13
12:26
да и вообще из условий виртуальных таблиц
11 lapinio
 
20.05.13
12:29
Первая таблица регистраторы  формируется очень быстро даже за большой период.
(10) Условия мне нужны в первой таблицы этот регистр двигают многие документы , а мне нужно тока перемещение и расходная накладная
12 Bober
 
20.05.13
12:30
(0)
- если идет отбор по регистратору, то  нужно использовать  таблицу движений.
- в иерархии вынести в отдельные запросы.
13 Fragster
 
гуру
20.05.13
12:31
(11) и чем это мешает вынести В ИЕРАРХИИ из условий виртуальных таблиц во временные, оставив в виртуальных В (Выбрать из временная таблица)?
14 hhhh
 
20.05.13
12:31
(11) вот этот вот

   ВЫРАЗИТЬ(ПартииНоменклатурыОбороты.Регистратор КАК Документ.РасходнаяНакладная).Ссылка КАК Документ

напишите по человечески:

   ВЫРАЗИТЬ(ПартииНоменклатурыОбороты.Регистратор КАК Документ.РасходнаяНакладная) КАК Документ
15 lapinio
 
20.05.13
12:31
(12) Я использовал таблицу оборотов за виртуальный параметр период думал что быстрей отрабатывает. Физическая таблица будет лучше?
16 lapinio
 
20.05.13
12:32
(11) Учту!
17 Fragster
 
гуру
20.05.13
12:32
(14) не заметил этого :)
18 lapinio
 
20.05.13
12:33
Ошибся (14) :)
19 Bober
 
20.05.13
12:33
(15) а смысл, если все равно нужен отбор по регистратору
20 Bober
 
20.05.13
12:35
(0) еще
- разнести временную таблицу регистраторы на Расходную и Перемещение, при этом при выборке регистратора указывать ВЫРАЗИТЬ(Регистратор КАК Документ.<ИмяДокументаВОтборе>) КАК
21 lapinio
 
20.05.13
12:35
(15) Ну выбрать мне надо регистраторы за опр. период. Если использовать физ.таблицу движений придется делать мне через между.
22 Bober
 
20.05.13
12:37
(21) и что в этом плохого?
23 lapinio
 
20.05.13
12:37
(20) Первую таблицу разбить на две временные?
24 lapinio
 
20.05.13
12:40
(22) Да как бы там оборотах есть параметры период удобней.
Да обороты кажется легче таблица чем физическая таблица.
25 Bober
 
20.05.13
12:40
(0) (20) вообще не очень понял  зачем идет выбор движений из регистра и потом идет соединение с ТЧ документа (для цены что-ли).
26 Bober
 
20.05.13
12:42
(24) отбор идет по регистратору, причем оборотная таблица не дает такой возможности. Получается, что идет выбора данных из физической таблицы (так как указана детализация до регистратора), сворачивание данных, и только потом идет отбор по типу регистратора. И так повторяется два раза.
27 lapinio
 
20.05.13
12:42
(25) За цены и разименовавывание полей в конце запроса. Чтоб меньше было левых соединений к базе и мне нужна тч.
28 lapinio
 
20.05.13
12:43
(26) Попробую через физическую таблицу
29 Bober
 
20.05.13
12:44
(27) этот трэш нужно переделать
"
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КлассификацияПоставщиковТорговыхТочекКонтрагентов КАК КлассификацияПоставщиковТорговыхТочекКонтрагентов
       ПО РасходнаяНакладнаяТабличнаяЧасть.Ссылка.Контрагент = КлассификацияПоставщиковТорговыхТочекКонтрагентов.Объект
           И РасходнаяНакладнаяТабличнаяЧасть.Ссылка.МестоХранения.Родитель = КлассификацияПоставщиковТорговыхТочекКонтрагентов.ГруппаМестХранения
"
30 Bober
 
20.05.13
12:44
(28) не забудь в условии установить РН.Активность
31 lapinio
 
20.05.13
12:48
(29) С этим я полностью согласен. Но база самописная. Вот и дибильынй РС КлассификацияПоставщиковТорговыхТочекКонтрагентов. Чтоб выбрать из него данные нужно указать родителя место хранения
32 Bober
 
20.05.13
12:48
(31) здесь нужно просто плакать
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Цены.СрезПоследних КАК ЦеныСрезПоследних
       ПО ПеремещениеНоменклатурыТабличнаяЧасть.Номенклатура = ЦеныСрезПоследних.Номенклатура
       ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты
       ПО (Контрагенты.Код = 16852)
33 lapinio
 
20.05.13
12:49
(32) Это отчет по продажам на СКД эти параметры должны быть всегда вот я и сделал.
34 lapinio
 
20.05.13
12:52
(32) Как можно по другому вшить в запрос?
35 Bober
 
20.05.13
12:56
(34) РегистрСведений.Цены.СрезПоследних - здесь нужно после запроса к регистру с отбором по ПРМ сделать отдельный запрос по ценам , в параметре указать отбор по номенклатуре по товарам из запроса регистра
36 Bober
 
20.05.13
12:57
(34) ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты
       ПО (Контрагенты.Код = 16852) - такие вещи вообще люуче отдельно перед основным запросом получать и передавать в осн запрос парамтером
37 lapinio
 
20.05.13
12:58
(36) Спасибо  щас попробую с правками запрос переписать. И отпишусь.
38 lapinio
 
20.05.13
14:46
Вот так очень быстро отрабатывает

ВЫБРАТЬ
   ПартииНоменклатуры.Регистратор,
   ПартииНоменклатуры.Номенклатура КАК Номенклатура,
   ПартииНоменклатуры.МестоХранения КАК МестоХранения,
   ПартииНоменклатуры.Регистратор.Контрагент КАК Контрагент,
   ПартииНоменклатуры.Количество,
   ПартииНоменклатуры.Сумма
ПОМЕСТИТЬ Документы
ИЗ
   РегистрНакопления.ПартииНоменклатуры КАК ПартииНоменклатуры
ГДЕ
   ПартииНоменклатуры.Регистратор ССЫЛКА Документ.РасходнаяНакладная
   И ПартииНоменклатуры.Регистратор.Дата МЕЖДУ НАЧАЛОПЕРИОДА(&Дата1, ДЕНЬ) И КОНЕЦПЕРИОДА(&Дата2, ДЕНЬ)
   И ПартииНоменклатуры.Активность
   И ПартииНоменклатуры.Номенклатура В ИЕРАРХИИ(&Номенклатура)
   И ПартииНоменклатуры.МестоХранения В ИЕРАРХИИ(&Склады)
   И ПартииНоменклатуры.ТорговыйПредставитель В(&ТорговыйПредставитель)

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

ВЫБРАТЬ
   ПартииНоменклатуры.Регистратор,
   ПартииНоменклатуры.Номенклатура,
   ПартииНоменклатуры.МестоХранения,
   Контрагенты.Ссылка,
   ПартииНоменклатуры.Количество,
   0
ИЗ
   РегистрНакопления.ПартииНоменклатуры КАК ПартииНоменклатуры
       ПОЛНОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты
       ПО ПартииНоменклатуры.МестоХранения = Контрагенты.Ссылка
ГДЕ
   ПартииНоменклатуры.Регистратор ССЫЛКА Документ.ПеремещениеНоменклатуры
   И ПартииНоменклатуры.Регистратор.Дата МЕЖДУ НАЧАЛОПЕРИОДА(&Дата1, ДЕНЬ) И КОНЕЦПЕРИОДА(&Дата2, ДЕНЬ)
   И ПартииНоменклатуры.Активность
   И ПартииНоменклатуры.Номенклатура В ИЕРАРХИИ(&Номенклатура)
   И ПартииНоменклатуры.Контрагент В ИЕРАРХИИ(&Поставщики)
   И ПартииНоменклатуры.Регистратор.МестоХранения В ИЕРАРХИИ (&СтандартныеСклады)
   И Контрагенты.Ссылка = &ЧастноеЛицо

ИНДЕКСИРОВАТЬ ПО
   Номенклатура,
   Контрагент,
   МестоХранения
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   Документы.Регистратор.Дата КАК ДокДата,
   Документы.Контрагент КАК Покупатель,
   Документы.МестоХранения КАК Склад,
   Документы.Регистратор.Грузополучатель КАК ГрПол,
   Документы.Регистратор КАК РасхНакл,
   Документы.Номенклатура КАК Товар,
   Документы.Количество,
   Документы.Сумма,
   ВЫРАЗИТЬ(Документы.Сумма / Документы.Количество КАК ЧИСЛО(15, 2)) КАК Цена,
   Документы.Регистратор.ТорговыйПредставитель КАК Менеджер,
   ЕСТЬNULL(КлассификацияПоставщиковТорговыхТочекКонтрагентов.Позиционирование, ЗНАЧЕНИЕ(Справочник.КлассификацияПоставщиковТорговыхТочек.ПустаяСсылка)) КАК КодТорговойТочки
ПОМЕСТИТЬ РасходнаяНакладная
ИЗ
   Документы КАК Документы
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КлассификацияПоставщиковТорговыхТочекКонтрагентов КАК КлассификацияПоставщиковТорговыхТочекКонтрагентов
       ПО Документы.Контрагент = КлассификацияПоставщиковТорговыхТочекКонтрагентов.Объект
           И ((ВЫРАЗИТЬ(Документы.МестоХранения.Родитель КАК Справочник.МестаХранения)) = КлассификацияПоставщиковТорговыхТочекКонтрагентов.ГруппаМестХранения)
ГДЕ
   Документы.Регистратор ССЫЛКА Документ.РасходнаяНакладная
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   Документы.МестоХранения КАК Склад,
   Документы.Регистратор КАК РасхНакл,
   ЗНАЧЕНИЕ(Справочник.ГрузообменныеТочки.ПустаяСсылка) КАК ГрПол,
   ЕСТЬNULL(КлассификацияПоставщиковТорговыхТочекКонтрагентов.Позиционирование, ЗНАЧЕНИЕ(Справочник.КлассификацияПоставщиковТорговыхТочек.ПустаяСсылка)) КАК КодТорговойТочки,
   ЗНАЧЕНИЕ(Справочник.Сотрудники.ПустаяСсылка) КАК Менеджер,
   Документы.Количество,
   ЕСТЬNULL(ЦеныСрезПоследних.Цена, 0) * Документы.Количество КАК Сумма,
   ЕСТЬNULL(ЦеныСрезПоследних.Цена, 0) КАК Цена,
   Документы.Номенклатура КАК Товар,
   Документы.Регистратор.Дата КАК ДокДата,
   Документы.Контрагент КАК Покупатель
ПОМЕСТИТЬ ПеремещениеНоменклатуры
ИЗ
   Документы КАК Документы
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КлассификацияПоставщиковТорговыхТочекКонтрагентов КАК КлассификацияПоставщиковТорговыхТочекКонтрагентов
       ПО Документы.Контрагент = КлассификацияПоставщиковТорговыхТочекКонтрагентов.Объект
           И (ВЫРАЗИТЬ(Документы.МестоХранения КАК Справочник.МестаХранения).Родитель = КлассификацияПоставщиковТорговыхТочекКонтрагентов.ГруппаМестХранения)
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Цены.СрезПоследних КАК ЦеныСрезПоследних
       ПО Документы.Номенклатура = ЦеныСрезПоследних.Номенклатура
ГДЕ
   Документы.Регистратор ССЫЛКА Документ.ПеремещениеНоменклатуры
;

////////////////////////////////////////////////////////////////////////////////
УНИЧТОЖИТЬ Документы
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   РасходнаяНакладная.ДокДата,
   РасходнаяНакладная.Покупатель,
   РасходнаяНакладная.Склад,
   РасходнаяНакладная.ГрПол,
   РасходнаяНакладная.РасхНакл,
   РасходнаяНакладная.Товар,
   РасходнаяНакладная.Количество,
   РасходнаяНакладная.Сумма,
   РасходнаяНакладная.Цена,
   РасходнаяНакладная.Менеджер,
   РасходнаяНакладная.КодТорговойТочки
ПОМЕСТИТЬ ОбъединениеДокументов
ИЗ
   РасходнаяНакладная КАК РасходнаяНакладная

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

ВЫБРАТЬ
   ПеремещениеНоменклатуры.ДокДата,
   ПеремещениеНоменклатуры.Покупатель,
   ПеремещениеНоменклатуры.Склад,
   ПеремещениеНоменклатуры.ГрПол,
   ПеремещениеНоменклатуры.РасхНакл,
   ПеремещениеНоменклатуры.Товар,
   ПеремещениеНоменклатуры.Количество,
   ПеремещениеНоменклатуры.Сумма,
   ПеремещениеНоменклатуры.Цена,
   ПеремещениеНоменклатуры.Менеджер,
   ПеремещениеНоменклатуры.КодТорговойТочки
ИЗ
   ПеремещениеНоменклатуры КАК ПеремещениеНоменклатуры
;

////////////////////////////////////////////////////////////////////////////////
УНИЧТОЖИТЬ РасходнаяНакладная
;

////////////////////////////////////////////////////////////////////////////////
УНИЧТОЖИТЬ ПеремещениеНоменклатуры
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ОбъединениеДокументов.РасхНакл,
   ОбъединениеДокументов.ДокДата,
   ОбъединениеДокументов.Покупатель,
   ПОДСТРОКА(ОбъединениеДокументов.Покупатель.ПочтовыйАдрес, 0, 200) КАК ПочтовыйАдрес,
   ПОДСТРОКА(ОбъединениеДокументов.Покупатель.ЮридическийАдрес, 0, 200) КАК ПокупательЮрАдрес,
   ПРЕДСТАВЛЕНИЕССЫЛКИ(ОбъединениеДокументов.Покупатель) КАК ПокупательНаим,
   ОбъединениеДокументов.Покупатель.Код,
   ОбъединениеДокументов.Покупатель.ИНН,
   ОбъединениеДокументов.ГрПол,
   ОбъединениеДокументов.ГрПол.Адрес,
   ОбъединениеДокументов.КодТорговойТочки,
   ОбъединениеДокументов.Менеджер КАК ТП,
   ОбъединениеДокументов.Товар,
   ОбъединениеДокументов.Товар.Код КАК ТовКод,
   ОбъединениеДокументов.Товар.Артикул КАК ТовАртикул,
   ОбъединениеДокументов.Товар.Нетто КАК ТовНетто,
   ОбъединениеДокументов.Количество,
   ОбъединениеДокументов.Сумма,
   ОбъединениеДокументов.Цена
ИЗ
   ОбъединениеДокументов КАК ОбъединениеДокументов
39 lapinio
 
20.05.13
14:46
Bober спасибо за помощь
40 Bober
 
20.05.13
15:45
(38)
в первой части первого запроса где идет отбор по расходной накладной нужно сделать
ВЫБРАТЬ
   ВЫРАЗИТЬ(ПартииНоменклатуры.Регистратор КАК Документ.РасходнаяНакладная) КАК Регистратор,
...
...
ВЫРАЗИТЬ(ПартииНоменклатуры.Регистратор КАК Документ.РасходнаяНакладная).Контрагент КАК  Контрагент,

во второй части перового запроса, где идет отбор по перемещению номенклатуры вообще каша, но как минмум нужно заменить на

ВЫБРАТЬ
   ВЫРАЗИТЬ(ПартииНоменклатуры.Регистратор КАК Документ.ПеремещениеТоваров) КАК Регистратор

в Условие этого же запроса заменить ПартииНоменклатуры.Регистратор.МестоХранения В ИЕРАРХИИ (&СтандартныеСклады)  

на ПартииНоменклатуры.МестоХранения В ИЕРАРХИИ (&СтандартныеСклады)


отбор по периоду нужно делать не через ПартииНоменклатуры.Регистратор.Дата, а через ПартииНоменклатуры.Период (в первой и второй части первого запроса).

соединение во второй части первого запроса
ПОЛНОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты
       ПО ПартииНоменклатуры.МестоХранения = Контрагенты.Ссылка
не имеет вообще никакого смылся, так как из запроса видно, что ПартииНоменклатуры.МестоХранения и есть контрагент (!), поэтому условие "Контрагенты.Ссылка = &ЧастноеЛицо" нужно заменить на "ПартииНоменклатуры.МестоХранения = &ЧастноеЛицо" (но что-то мне подсказывает, что это у тебя ошибка в запросе)
41 Bober
 
20.05.13
15:54
(38) далее, нужно первый запрос разбить на два (не через объединение) и по отдельности с ними работать
подробнее здесь:
http://infostart.ru/public/184361/
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший