Имя: Пароль:
1C
1С v8
Необычная задача
,
0 volfy
 
13.12.12
21:22
Помогайте, 3 часа потратил проблему не решил, цель такова: Надо чтобы при созданной реализации на основании заказа клиента (даже если реализация не проведена) не создавалась еще одна реализация! А если заказ первый раз был отгружен не полностью тогда создавать на основании реализацию с тем количеством товаров которого не хватает.

Нашел запрос ...

   Запрос.Текст =
   "ВЫБРАТЬ
   |    ТаблицаЗаказы.ЗаказКлиента КАК ЗаказКлиента,
   |    ТаблицаЗаказы.Номенклатура КАК Номенклатура,
   |    ТаблицаЗаказы.Характеристика КАК Характеристика,
   |    ТаблицаЗаказы.КодСтроки КАК КодСтроки,
   |    ТаблицаЗаказы.Склад КАК Склад,
   |    СУММА(ТаблицаЗаказы.КОформлению) КАК Количество,
   |    СУММА(ТаблицаЗаказы.Сумма) КАК Сумма
   |ПОМЕСТИТЬ ТаблицаОстатки
   |ИЗ
   |    (ВЫБРАТЬ
   |        ЗаказыОстатки.ЗаказКлиента КАК ЗаказКлиента,
   |        ЗаказыОстатки.Номенклатура КАК Номенклатура,
   |        ЗаказыОстатки.Характеристика КАК Характеристика,
   |        ЗаказыОстатки.КодСтроки КАК КодСтроки,
   |        ЗаказыОстатки.Склад КАК Склад,
   |        ЗаказыОстатки.КОформлениюОстаток КАК КОформлению,
   |        ЗаказыОстатки.СуммаОстаток КАК Сумма
   |    ИЗ
   |        РегистрНакопления.ЗаказыКлиентов.Остатки(
   |                &ГраницаПериод,
   |                ВЫБОР
   |                        КОГДА &ОтобратьПоЗаказу
   |                            ТОГДА ЗаказКлиента В (&МассивЗаказов)
   |                        ИНАЧЕ ЗаказКлиента.Партнер = &Партнер
   |                                И ЗаказКлиента.Контрагент = &Контрагент
   |                                И ЗаказКлиента.Договор = &Договор
   |                                И ЗаказКлиента.Организация = &Организация
   |                                И ЗаказКлиента.ХозяйственнаяОперация В (&ХозяйственнаяОперация)
   |                                И ЗаказКлиента.Соглашение = &Соглашение
   |                                И ЗаказКлиента.Сделка = &Сделка
   |                                И ЗаказКлиента.Валюта = &ВалютаВзаиморасчетов
   |                                И ЗаказКлиента.НалогообложениеНДС = &НалогообложениеНДС
   |                                И ЗаказКлиента.ЦенаВключаетНДС = &ЦенаВключаетНДС
   |                    КОНЕЦ
   |                    И ВЫБОР
   |                        КОГДА ВЫРАЗИТЬ(&СкладРеализации КАК Справочник.Склады).ЭтоГруппа
   |                            ТОГДА Склад В ИЕРАРХИИ (&СкладРеализации)
   |                                    ИЛИ Склад = ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка)
   |                        ИНАЧЕ Склад В (ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка), &СкладРеализации)
   |                    КОНЕЦ
   |                    И Номенклатура.ВариантОформленияПродажи = ЗНАЧЕНИЕ(Перечисление.ВариантыОформленияПродажи.РеализацияТОваровУслуг)) КАК ЗаказыОстатки
   |    
   |    ОБЪЕДИНИТЬ ВСЕ
   |    
   |    ВЫБРАТЬ
   |        ЗаказыДвижения.ЗаказКлиента,
   |        ЗаказыДвижения.Номенклатура,
   |        ЗаказыДвижения.Характеристика,
   |        ЗаказыДвижения.КодСтроки,
   |        ЗаказыДвижения.Склад,
   |        ВЫБОР
   |            КОГДА ЗаказыДвижения.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
   |                ТОГДА -ЗаказыДвижения.КОформлению
   |            ИНАЧЕ ЗаказыДвижения.КОформлению
   |        КОНЕЦ,
   |        ВЫБОР
   |            КОГДА ЗаказыДвижения.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
   |                ТОГДА -ЗаказыДвижения.Сумма
   |            ИНАЧЕ ЗаказыДвижения.Сумма
   |        КОНЕЦ
   |    ИЗ
   |        РегистрНакопления.ЗаказыКлиентов КАК ЗаказыДвижения
   |    ГДЕ
   |        ЗаказыДвижения.Регистратор = &Регистратор
   |        И ВЫБОР
   |                КОГДА &ОтобратьПоЗаказу
   |                    ТОГДА ЗаказыДвижения.ЗаказКлиента В (&МассивЗаказов)
   |                ИНАЧЕ ЗаказыДвижения.ЗаказКлиента.Партнер = &Партнер
   |                        И ЗаказыДвижения.ЗаказКлиента.Контрагент = &Контрагент
   |                        И ЗаказыДвижения.ЗаказКлиента.Договор = &Договор
   |                        И ЗаказыДвижения.ЗаказКлиента.Организация = &Организация
   |                        И ЗаказыДвижения.ЗаказКлиента.ХозяйственнаяОперация В (&ХозяйственнаяОперация)
   |                        И ЗаказыДвижения.ЗаказКлиента.Соглашение = &Соглашение
   |                        И ЗаказыДвижения.ЗаказКлиента.Сделка = &Сделка
   |                        И ЗаказыДвижения.ЗаказКлиента.Валюта = &ВалютаВзаиморасчетов
   |                        И ЗаказыДвижения.ЗаказКлиента.НалогообложениеНДС = &НалогообложениеНДС
   |                        И ЗаказыДвижения.ЗаказКлиента.ЦенаВключаетНДС = &ЦенаВключаетНДС
   |            КОНЕЦ
   |        И ВЫБОР
   |                КОГДА &Период <> ДАТАВРЕМЯ(1, 1, 1)
   |                    ТОГДА ЗаказыДвижения.Период <= &Период
   |                ИНАЧЕ ИСТИНА
   |            КОНЕЦ
   |        И ЗаказыДвижения.Активность
   |        И ВЫБОР
   |                КОГДА ВЫРАЗИТЬ(&СкладРеализации КАК Справочник.Склады).ЭтоГруппа
   |                    ТОГДА ЗаказыДвижения.Склад В ИЕРАРХИИ (&СкладРеализации)
   |                            ИЛИ ЗаказыДвижения.Склад = ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка)
   |                ИНАЧЕ ЗаказыДвижения.Склад В (ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка), &СкладРеализации)
   |            КОНЕЦ
   |        И ЗаказыДвижения.Номенклатура.ВариантОформленияПродажи = ЗНАЧЕНИЕ(Перечисление.ВариантыОформленияПродажи.РеализацияТоваровУслуг)) КАК ТаблицаЗаказы
   |
   |СГРУППИРОВАТЬ ПО
   |    ТаблицаЗаказы.ЗаказКлиента,
   |    ТаблицаЗаказы.Номенклатура,
   |    ТаблицаЗаказы.Характеристика,
   |    ТаблицаЗаказы.КодСтроки,
   |    ТаблицаЗаказы.Склад
   |
   |ИМЕЮЩИЕ
   |    СУММА(ТаблицаЗаказы.КОформлению) > 0
   |;
   |
   |////////////////////////////////////////////////////////////////////////////////
   |ВЫБРАТЬ
   |    ТаблицаОстатки.ЗаказКлиента КАК ЗаказКлиента,
   |    ТаблицаОстатки.Номенклатура КАК Номенклатура,
   |    ТаблицаОстатки.Характеристика КАК Характеристика,
   |    ТаблицаОстатки.КодСтроки КАК КодСтроки,
   |    ТаблицаОстатки.Количество КАК Количество,
   |    ТаблицаОстатки.Сумма КАК СуммаВзаиморасчетов,
   |    ТаблицаОстатки.Склад КАК Склад,
   |    ЗаказТовары.НомерСтроки КАК НомерСтроки,
   |    ЗаказТовары.Ссылка.Сделка КАК Сделка,
   |    ЗаказТовары.ДатаОтгрузки КАК ДатаОтгрузки,
   |    ЗаказТовары.Упаковка КАК Упаковка,
   |    ЗаказТовары.ВидЦены КАК ВидЦены,
   |    ЗаказТовары.Количество КАК КоличествоВЗаказе,
   |    ЗаказТовары.Цена КАК Цена,
   |    ЗаказТовары.СтавкаНДС КАК СтавкаНДС,
   |    ЗаказТовары.Сумма КАК Сумма,
   |    ЗаказТовары.СуммаНДС КАК СуммаНДС,
   |    ЗаказТовары.СуммаСНДС КАК СуммаСНДС,
   |    ЗаказТовары.ПроцентРучнойСкидки КАК ПроцентРучнойСкидки,
   |    ЗаказТовары.СуммаРучнойСкидки КАК СуммаРучнойСкидки,
   |    ЗаказТовары.ПроцентАвтоматическойСкидки КАК ПроцентАвтоматическойСкидки,
   |    ЗаказТовары.СуммаАвтоматическойСкидки КАК СуммаАвтоматическойСкидки,
   |    ЗаказТовары.Номенклатура.ТипНоменклатуры КАК ТипНоменклатуры,
   |    ЗаказТовары.КлючСвязи КАК КлючСвязи,
   |    ВЫБОР
   |        КОГДА ЗаказТовары.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка)
   |            ТОГДА 1
   |        ИНАЧЕ ЗаказТовары.Упаковка.Коэффициент
   |    КОНЕЦ КАК Коэффициент,
   |    ТаблицаОстатки.Количество / ЕСТЬNULL(ЗаказТовары.Упаковка.Коэффициент, 1) КАК КоличествоУпаковок,
   |    ЗаказТовары.СрокПоставки КАК СрокПоставки,
   |    ВЫБОР
   |        КОГДА ЗаказТовары.УказыватьСерии
   |            ТОГДА ЗаказТовары.Ссылка
   |        ИНАЧЕ НЕОПРЕДЕЛЕНО
   |    КОНЕЦ КАК ДокументРезерваСерий
   |ИЗ
   |    ТаблицаОстатки КАК ТаблицаОстатки
   |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЗаказКлиента.Товары КАК ЗаказТовары
   |            ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
   |            ПО ЗаказТовары.Характеристика = РеализацияТоваровУслугТовары.Характеристика
   |                И ЗаказТовары.Номенклатура = РеализацияТоваровУслугТовары.Номенклатура
   |                И ЗаказТовары.Ссылка = РеализацияТоваровУслугТовары.ЗаказКлиента
   |                И ЗаказТовары.Количество > РеализацияТоваровУслугТовары.Количество
   |        ПО ТаблицаОстатки.Номенклатура = ЗаказТовары.Номенклатура
   |            И ТаблицаОстатки.Характеристика = ЗаказТовары.Характеристика
   |            И ТаблицаОстатки.КодСтроки = ЗаказТовары.КодСтроки
   |            И ТаблицаОстатки.ЗаказКлиента = ЗаказТовары.Ссылка
   |
   |ОБЪЕДИНИТЬ ВСЕ
   |
   |ВЫБРАТЬ
   |    ТаблицаОстатки.ЗаказКлиента,
   |    ТаблицаОстатки.Номенклатура,
   |    ТаблицаОстатки.Характеристика,
   |    ТаблицаОстатки.КодСтроки,
   |    ТаблицаОстатки.Количество,
   |    ТаблицаОстатки.Сумма,
   |    ТаблицаОстатки.Склад,
   |    ЗаказТовары.НомерСтроки,
   |    ЗаказТовары.Ссылка.Сделка,
   |    ЗаказТовары.ДатаОтгрузки,
   |    ЗаказТовары.Упаковка,
   |    ЗаказТовары.ВидЦены,
   |    ЗаказТовары.Количество,
   |    ЗаказТовары.Цена,
   |    ЗаказТовары.СтавкаНДС,
   |    ЗаказТовары.Сумма,
   |    ЗаказТовары.СуммаНДС,
   |    ЗаказТовары.СуммаСНДС,
   |    ЗаказТовары.ПроцентРучнойСкидки,
   |    ЗаказТовары.СуммаРучнойСкидки,
   |    ЗаказТовары.ПроцентАвтоматическойСкидки,
   |    ЗаказТовары.СуммаАвтоматическойСкидки,
   |    ЗаказТовары.Номенклатура.ТипНоменклатуры,
   |    ЗаказТовары.КлючСвязи,
   |    ВЫБОР
   |        КОГДА ЗаказТовары.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка)
   |            ТОГДА 1
   |        ИНАЧЕ ЗаказТовары.Упаковка.Коэффициент
   |    КОНЕЦ,
   |    ТаблицаОстатки.Количество / ЕСТЬNULL(ЗаказТовары.Упаковка.Коэффициент, 1),
   |    ЗаказТовары.СрокПоставки,
   |    ВЫБОР
   |        КОГДА ЗаказТовары.УказыватьСерии
   |            ТОГДА ЗаказТовары.Ссылка
   |        ИНАЧЕ НЕОПРЕДЕЛЕНО
   |    КОНЕЦ
   |ИЗ
   |    ТаблицаОстатки КАК ТаблицаОстатки
   |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЗаявкаНаВозвратТоваровОтКлиента.ЗаменяющиеТовары КАК ЗаказТовары
   |        ПО ТаблицаОстатки.Номенклатура = ЗаказТовары.Номенклатура
   |            И ТаблицаОстатки.Характеристика = ЗаказТовары.Характеристика
   |            И ТаблицаОстатки.КодСтроки = ЗаказТовары.КодСтроки
   |            И ТаблицаОстатки.ЗаказКлиента = ЗаказТовары.Ссылка
   |
   |УПОРЯДОЧИТЬ ПО
   |    ТаблицаОстатки.ЗаказКлиента,
   |    ЗаказТовары.НомерСтроки,
   |    ТаблицаОстатки.Номенклатура,
   |    ТаблицаОстатки.Характеристика,
   |    ТаблицаОстатки.Склад,
   |    ЗаказТовары.ДатаОтгрузки";


Это уже правленный немного ...присобачил реализацию ... но работает оч херово пока что.. добавляет строку только в том случае если в реализации например 1 шт а в заказе 2 ... ( и то добавляет в таб часть не 1 штуку а 2 .... ) а если в реализациях этого товара нет то вообще не добавляет.... помогите...кипю...
1 H A D G E H O G s
 
13.12.12
21:24
Писец
2 Нуф-Нуф
 
13.12.12
21:24
действительно... необычная задача...
3 volfy
 
13.12.12
21:26
Да .... сам ...заебался уже..
.
4 Нуф-Нуф
 
13.12.12
21:26
(3) расслабься и... смени работу
5 volfy
 
13.12.12
21:26
Боятся они (заказчики) видетели дублирования информаци...
6 H A D G E H O G s
 
13.12.12
21:26
(4) Кто.
Бы.
Говорил.
7 volfy
 
13.12.12
21:27
(4) а по теме можно?
8 Нуф-Нуф
 
13.12.12
21:29
9 Нуф-Нуф
 
13.12.12
21:32
по сабжу - если учитывать непроведенные реализации - то запрос в сабже в топку.

при записи реализации получай табличные части заказов покупателей, которые есть в реализации, соединяй со всеми реализациями, которые ссылаются на эти заказы. и считай.
10 H A D G E H O G s
 
13.12.12
21:32
12 Stim
 
13.12.12
21:33
неудачнеги
13 Нуф-Нуф
 
13.12.12
21:33
(10)
1. тупняки с каждым бывают
2. подмена кода запроса имхо не такой гаввнокод как твое ИЛИ в запросе.
14 Deon
 
13.12.12
21:35
(8) (10)  Кончайте уже )
15 volfy
 
13.12.12
21:35
Вы в тему ссориться пришли? Поболтайте в скайпе...)) вообще скоро новый год...мир бро
16 Stim
 
13.12.12
21:35
девочки, не ссорьтесь
17 Нуф-Нуф
 
13.12.12
21:36
18 Fragster
 
гуру
13.12.12
21:37
гыгыгы
19 Fragster
 
гуру
13.12.12
21:37
весело тут у вас
20 Deon
 
13.12.12
21:38
(19)  сейчас и твои перлы найдут
22 Нуф-Нуф
 
13.12.12
21:39
23 H A D G E H O G s
 
13.12.12
21:40
(20) Он продал свою душу демонам Линукса. С ним такое не покатит.
24 Deon
 
13.12.12
21:40
(15)  кстати, а ты вообще знаешь, что это за регистры у тебя в запросе, зачем они нужны?
25 Deon
 
13.12.12
21:41
тс уже в бане? )))
26 Stim
 
13.12.12
21:42
(17) после этого: OFF: Вопрос о музыке
любые перлы не в счет)
27 Нуф-Нуф
 
13.12.12
21:42
вотжежблеать :))))
28 volfy
 
13.12.12
21:43
(26) хахахахха)))
29 H A D G E H O G s
 
13.12.12
21:43
Бугага
30 H A D G E H O G s
 
13.12.12
21:44
Все.
Вопросов больше не имею.
Каюсь.
Не знал.

Прости Нуф, больше от меня слова плохого не услышишь.
31 volfy
 
13.12.12
21:45
(24) я за компом уже 30 - 35 часов... я уже почти ничего не соображаю...был бы сильно признателен помощи...
32 Stim
 
13.12.12
21:45
(30) Опасный  он человек..
33 Нуф-Нуф
 
13.12.12
21:45
(31) в (9) не сильно понятно?
34 Deon
 
13.12.12
21:46
(31)  стрелялка есть? Врубай, успокой нервы
35 Deon
 
13.12.12
21:47
А разве остатки по заказу не лежат в каком- нить одном регистре?
36 Нуф-Нуф
 
13.12.12
21:48
(35) речь не только о проведенных документах
37 Deon
 
13.12.12
21:49
(36)  а, точняк
38 volfy
 
13.12.12
21:50
Да вроде понял ...пытаюсь ... как ни крутись делать то надо
39 Deon
 
13.12.12
21:51
(38)  опиши словами, как делать будешь?
40 volfy
 
13.12.12
21:53
(39) Я просто хочу из таблицы заказа вычесть то что есть в реализации вот и всё
41 volfy
 
13.12.12
21:53
Дальше типовой отработает ...
42 volfy
 
13.12.12
21:54
Щас сделал 1 вариант так ваще магия происходит )) Уже настроение аж поднимается) заказали 2 отгрузили 40 хД)
43 Нуф-Нуф
 
13.12.12
21:56
ВЫБРАТЬ
   РеализацияТоваровУслугТовары.ЗаказКлиента КАК ЗаказКлиента
ПОМЕСТИТЬ ТаблицаРеализации
ИЗ
   Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
ГДЕ
   РеализацияТоваровУслугТовары.Ссылка = &Ссылка

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ТИПЗНАЧЕНИЯ(ЗаказКлиентаТовары.Ссылка) КАК Документ,
   ЗаказКлиентаТовары.Номенклатура КАК Номенклатура,
   СУММА(ЗаказКлиентаТовары.Количество) КАК Количество
ПОМЕСТИТЬ ИтоговаяТаблица
ИЗ
   Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары
ГДЕ
   ЗаказКлиентаТовары.Ссылка В
           (ВЫБРАТЬ
               ТаблицаРеализации.ЗаказКлиента
           ИЗ
               ТаблицаРеализации КАК ТаблицаРеализации)

СГРУППИРОВАТЬ ПО
   ТИПЗНАЧЕНИЯ(ЗаказКлиентаТовары.Ссылка),
   ЗаказКлиентаТовары.Номенклатура

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

ВЫБРАТЬ
   ТИПЗНАЧЕНИЯ(РеализацияТоваровУслугТовары.Ссылка),
   РеализацияТоваровУслугТовары.Номенклатура,
   СУММА(-РеализацияТоваровУслугТовары.Количество)
ИЗ
   Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
ГДЕ
   РеализацияТоваровУслугТовары.Ссылка В
           (ВЫБРАТЬ
               ТаблицаРеализации.ЗаказКлиента
           ИЗ
               ТаблицаРеализации КАК ТаблицаРеализации)

СГРУППИРОВАТЬ ПО
   ТИПЗНАЧЕНИЯ(РеализацияТоваровУслугТовары.Ссылка),
   РеализацияТоваровУслугТовары.Номенклатура
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ИтоговаяТаблица.Номенклатура,
   СУММА(ИтоговаяТаблица.Количество) КАК Количество
ИЗ
   ИтоговаяТаблица КАК ИтоговаяТаблица

СГРУППИРОВАТЬ ПО
   ИтоговаяТаблица.Номенклатура
44 volfy
 
13.12.12
21:57
Щас попробую
45 Нуф-Нуф
 
13.12.12
21:57
это считай заказ минус все реализации
46 Deon
 
13.12.12
21:57
(42)  в следующую реализацию попадет -38 )
Кстати, а разве в УТ это не предусмотрено уже штатно?
47 Нуф-Нуф
 
13.12.12
21:59
(46) предусмотрено. только для проведенных документов на основе данных регистра заказы покупателей
48 Deon
 
13.12.12
22:00
(47)  а, точняк - 2
49 Serg_1960
 
13.12.12
22:11
(47) И что? Автор не может "развернуть" запрос с регистра на ТЧ документов?

PS: Прочитал тему - "о, интересно что автору интересно" :) Прочитал (0) - "не интересно, совсем скучно" :(
50 volfy
 
13.12.12
22:14
Неа....пустота ...реализация пустая....

ВЫБРАТЬ
   |    ТаблицаЗаказы.ЗаказКлиента КАК ЗаказКлиента,
   |    ТаблицаЗаказы.Номенклатура КАК Номенклатура,
   |    ТаблицаЗаказы.Характеристика КАК Характеристика,
   |    ТаблицаЗаказы.КодСтроки КАК КодСтроки,
   |    ТаблицаЗаказы.Склад КАК Склад,
   |    СУММА(ТаблицаЗаказы.КОформлению) КАК Количество,
   |    СУММА(ТаблицаЗаказы.Сумма) КАК Сумма
   |ПОМЕСТИТЬ ТаблицаОстатки
   |ИЗ
   |    (ВЫБРАТЬ
   |        ЗаказыОстатки.ЗаказКлиента КАК ЗаказКлиента,
   |        ЗаказыОстатки.Номенклатура КАК Номенклатура,
   |        ЗаказыОстатки.Характеристика КАК Характеристика,
   |        ЗаказыОстатки.КодСтроки КАК КодСтроки,
   |        ЗаказыОстатки.Склад КАК Склад,
   |        ЗаказыОстатки.КОформлениюОстаток КАК КОформлению,
   |        ЗаказыОстатки.СуммаОстаток КАК Сумма
   |    ИЗ
   |        РегистрНакопления.ЗаказыКлиентов.Остатки(
   |                &ГраницаПериод,
   |                ВЫБОР
   |                        КОГДА &ОтобратьПоЗаказу
   |                            ТОГДА ЗаказКлиента В (&МассивЗаказов)
   |                        ИНАЧЕ ЗаказКлиента.Партнер = &Партнер
   |                                И ЗаказКлиента.Контрагент = &Контрагент
   |                                И ЗаказКлиента.Договор = &Договор
   |                                И ЗаказКлиента.Организация = &Организация
   |                                И ЗаказКлиента.ХозяйственнаяОперация В (&ХозяйственнаяОперация)
   |                                И ЗаказКлиента.Соглашение = &Соглашение
   |                                И ЗаказКлиента.Сделка = &Сделка
   |                                И ЗаказКлиента.Валюта = &ВалютаВзаиморасчетов
   |                                И ЗаказКлиента.НалогообложениеНДС = &НалогообложениеНДС
   |                                И ЗаказКлиента.ЦенаВключаетНДС = &ЦенаВключаетНДС
   |                    КОНЕЦ
   |                    И ВЫБОР
   |                        КОГДА ВЫРАЗИТЬ(&СкладРеализации КАК Справочник.Склады).ЭтоГруппа
   |                            ТОГДА Склад В ИЕРАРХИИ (&СкладРеализации)
   |                                    ИЛИ Склад = ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка)
   |                        ИНАЧЕ Склад В (ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка), &СкладРеализации)
   |                    КОНЕЦ
   |                    И Номенклатура.ВариантОформленияПродажи = ЗНАЧЕНИЕ(Перечисление.ВариантыОформленияПродажи.РеализацияТОваровУслуг)) КАК ЗаказыОстатки
   |    
   |    ОБЪЕДИНИТЬ ВСЕ
   |    
   |    ВЫБРАТЬ
   |        ЗаказыДвижения.ЗаказКлиента,
   |        ЗаказыДвижения.Номенклатура,
   |        ЗаказыДвижения.Характеристика,
   |        ЗаказыДвижения.КодСтроки,
   |        ЗаказыДвижения.Склад,
   |        ВЫБОР
   |            КОГДА ЗаказыДвижения.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
   |                ТОГДА -ЗаказыДвижения.КОформлению
   |            ИНАЧЕ ЗаказыДвижения.КОформлению
   |        КОНЕЦ,
   |        ВЫБОР
   |            КОГДА ЗаказыДвижения.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
   |                ТОГДА -ЗаказыДвижения.Сумма
   |            ИНАЧЕ ЗаказыДвижения.Сумма
   |        КОНЕЦ
   |    ИЗ
   |        РегистрНакопления.ЗаказыКлиентов КАК ЗаказыДвижения
   |    ГДЕ
   |        ЗаказыДвижения.Регистратор = &Регистратор
   |        И ВЫБОР
   |                КОГДА &ОтобратьПоЗаказу
   |                    ТОГДА ЗаказыДвижения.ЗаказКлиента В (&МассивЗаказов)
   |                ИНАЧЕ ЗаказыДвижения.ЗаказКлиента.Партнер = &Партнер
   |                        И ЗаказыДвижения.ЗаказКлиента.Контрагент = &Контрагент
   |                        И ЗаказыДвижения.ЗаказКлиента.Договор = &Договор
   |                        И ЗаказыДвижения.ЗаказКлиента.Организация = &Организация
   |                        И ЗаказыДвижения.ЗаказКлиента.ХозяйственнаяОперация В (&ХозяйственнаяОперация)
   |                        И ЗаказыДвижения.ЗаказКлиента.Соглашение = &Соглашение
   |                        И ЗаказыДвижения.ЗаказКлиента.Сделка = &Сделка
   |                        И ЗаказыДвижения.ЗаказКлиента.Валюта = &ВалютаВзаиморасчетов
   |                        И ЗаказыДвижения.ЗаказКлиента.НалогообложениеНДС = &НалогообложениеНДС
   |                        И ЗаказыДвижения.ЗаказКлиента.ЦенаВключаетНДС = &ЦенаВключаетНДС
   |            КОНЕЦ
   |        И ВЫБОР
   |                КОГДА &Период <> ДАТАВРЕМЯ(1, 1, 1)
   |                    ТОГДА ЗаказыДвижения.Период <= &Период
   |                ИНАЧЕ ИСТИНА
   |            КОНЕЦ
   |        И ЗаказыДвижения.Активность
   |        И ВЫБОР
   |                КОГДА ВЫРАЗИТЬ(&СкладРеализации КАК Справочник.Склады).ЭтоГруппа
   |                    ТОГДА ЗаказыДвижения.Склад В ИЕРАРХИИ (&СкладРеализации)
   |                            ИЛИ ЗаказыДвижения.Склад = ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка)
   |                ИНАЧЕ ЗаказыДвижения.Склад В (ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка), &СкладРеализации)
   |            КОНЕЦ
   |        И ЗаказыДвижения.Номенклатура.ВариантОформленияПродажи = ЗНАЧЕНИЕ(Перечисление.ВариантыОформленияПродажи.РеализацияТоваровУслуг)) КАК ТаблицаЗаказы
   |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
   |        ПО (ВЫБОР
   |                КОГДА ТаблицаЗаказы.КОформлению > РеализацияТоваровУслугТовары.Количество
   |                        И ТаблицаЗаказы.ЗаказКлиента = РеализацияТоваровУслугТовары.ЗаказКлиента
   |                        И ТаблицаЗаказы.Характеристика = РеализацияТоваровУслугТовары.Характеристика
   |                        И ТаблицаЗаказы.Номенклатура = РеализацияТоваровУслугТовары.Номенклатура
   |                    ТОГДА ТаблицаЗаказы.КОформлению = ТаблицаЗаказы.КОформлению - РеализацияТоваровУслугТовары.Количество
   |                ИНАЧЕ ТаблицаЗаказы.КОформлению = ТаблицаЗаказы.КОформлению
   |            КОНЕЦ)
   |
   |СГРУППИРОВАТЬ ПО
   |    ТаблицаЗаказы.ЗаказКлиента,
   |    ТаблицаЗаказы.Номенклатура,
   |    ТаблицаЗаказы.Характеристика,
   |    ТаблицаЗаказы.КодСтроки,
   |    ТаблицаЗаказы.Склад
   |
   |ИМЕЮЩИЕ
   |    СУММА(ТаблицаЗаказы.КОформлению) > 0
   |;
   |
   |////////////////////////////////////////////////////////////////////////////////
   |ВЫБРАТЬ
   |    ТаблицаОстатки.ЗаказКлиента КАК ЗаказКлиента,
   |    ТаблицаОстатки.Номенклатура КАК Номенклатура,
   |    ТаблицаОстатки.Характеристика КАК Характеристика,
   |    ТаблицаОстатки.КодСтроки КАК КодСтроки,
   |    ТаблицаОстатки.Количество КАК Количество,
   |    ТаблицаОстатки.Сумма КАК СуммаВзаиморасчетов,
   |    ТаблицаОстатки.Склад КАК Склад,
   |    ЗаказТовары.НомерСтроки КАК НомерСтроки,
   |    ЗаказТовары.Ссылка.Сделка КАК Сделка,
   |    ЗаказТовары.ДатаОтгрузки КАК ДатаОтгрузки,
   |    ЗаказТовары.Упаковка КАК Упаковка,
   |    ЗаказТовары.ВидЦены КАК ВидЦены,
   |    ЗаказТовары.Количество КАК КоличествоВЗаказе,
   |    ЗаказТовары.Цена КАК Цена,
   |    ЗаказТовары.СтавкаНДС КАК СтавкаНДС,
   |    ЗаказТовары.Сумма КАК Сумма,
   |    ЗаказТовары.СуммаНДС КАК СуммаНДС,
   |    ЗаказТовары.СуммаСНДС КАК СуммаСНДС,
   |    ЗаказТовары.ПроцентРучнойСкидки КАК ПроцентРучнойСкидки,
   |    ЗаказТовары.СуммаРучнойСкидки КАК СуммаРучнойСкидки,
   |    ЗаказТовары.ПроцентАвтоматическойСкидки КАК ПроцентАвтоматическойСкидки,
   |    ЗаказТовары.СуммаАвтоматическойСкидки КАК СуммаАвтоматическойСкидки,
   |    ЗаказТовары.Номенклатура.ТипНоменклатуры КАК ТипНоменклатуры,
   |    ЗаказТовары.КлючСвязи КАК КлючСвязи,
   |    ВЫБОР
   |        КОГДА ЗаказТовары.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка)
   |            ТОГДА 1
   |        ИНАЧЕ ЗаказТовары.Упаковка.Коэффициент
   |    КОНЕЦ КАК Коэффициент,
   |    ТаблицаОстатки.Количество / ЕСТЬNULL(ЗаказТовары.Упаковка.Коэффициент, 1) КАК КоличествоУпаковок,
   |    ЗаказТовары.СрокПоставки КАК СрокПоставки,
   |    ВЫБОР
   |        КОГДА ЗаказТовары.УказыватьСерии
   |            ТОГДА ЗаказТовары.Ссылка
   |        ИНАЧЕ НЕОПРЕДЕЛЕНО
   |    КОНЕЦ КАК ДокументРезерваСерий
   |ИЗ
   |    ТаблицаОстатки КАК ТаблицаОстатки
   |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЗаказКлиента.Товары КАК ЗаказТовары
   |        ПО ТаблицаОстатки.Номенклатура = ЗаказТовары.Номенклатура
   |            И ТаблицаОстатки.Характеристика = ЗаказТовары.Характеристика
   |            И ТаблицаОстатки.КодСтроки = ЗаказТовары.КодСтроки
   |            И ТаблицаОстатки.ЗаказКлиента = ЗаказТовары.Ссылка
   |
   |ОБЪЕДИНИТЬ ВСЕ
   |
   |ВЫБРАТЬ
   |    ТаблицаОстатки.ЗаказКлиента,
   |    ТаблицаОстатки.Номенклатура,
   |    ТаблицаОстатки.Характеристика,
   |    ТаблицаОстатки.КодСтроки,
   |    ТаблицаОстатки.Количество,
   |    ТаблицаОстатки.Сумма,
   |    ТаблицаОстатки.Склад,
   |    ЗаказТовары.НомерСтроки,
   |    ЗаказТовары.Ссылка.Сделка,
   |    ЗаказТовары.ДатаОтгрузки,
   |    ЗаказТовары.Упаковка,
   |    ЗаказТовары.ВидЦены,
   |    ЗаказТовары.Количество,
   |    ЗаказТовары.Цена,
   |    ЗаказТовары.СтавкаНДС,
   |    ЗаказТовары.Сумма,
   |    ЗаказТовары.СуммаНДС,
   |    ЗаказТовары.СуммаСНДС,
   |    ЗаказТовары.ПроцентРучнойСкидки,
   |    ЗаказТовары.СуммаРучнойСкидки,
   |    ЗаказТовары.ПроцентАвтоматическойСкидки,
   |    ЗаказТовары.СуммаАвтоматическойСкидки,
   |    ЗаказТовары.Номенклатура.ТипНоменклатуры,
   |    ЗаказТовары.КлючСвязи,
   |    ВЫБОР
   |        КОГДА ЗаказТовары.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка)
   |            ТОГДА 1
   |        ИНАЧЕ ЗаказТовары.Упаковка.Коэффициент
   |    КОНЕЦ,
   |    ТаблицаОстатки.Количество / ЕСТЬNULL(ЗаказТовары.Упаковка.Коэффициент, 1),
   |    ЗаказТовары.СрокПоставки,
   |    ВЫБОР
   |        КОГДА ЗаказТовары.УказыватьСерии
   |            ТОГДА ЗаказТовары.Ссылка
   |        ИНАЧЕ НЕОПРЕДЕЛЕНО
   |    КОНЕЦ
   |ИЗ
   |    ТаблицаОстатки КАК ТаблицаОстатки
   |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЗаявкаНаВозвратТоваровОтКлиента.ЗаменяющиеТовары КАК ЗаказТовары
   |        ПО ТаблицаОстатки.Номенклатура = ЗаказТовары.Номенклатура
   |            И ТаблицаОстатки.Характеристика = ЗаказТовары.Характеристика
   |            И ТаблицаОстатки.КодСтроки = ЗаказТовары.КодСтроки
   |            И ТаблицаОстатки.ЗаказКлиента = ЗаказТовары.Ссылка
   |
   |УПОРЯДОЧИТЬ ПО
   |    ТаблицаОстатки.ЗаказКлиента,
   |    ЗаказТовары.НомерСтроки,
   |    ТаблицаОстатки.Номенклатура,
   |    ТаблицаОстатки.Характеристика,
   |    ТаблицаОстатки.Склад,
   |    ЗаказТовары.ДатаОтгрузки
   |;
   |
   |////////////////////////////////////////////////////////////////////////////////
   |ВЫБРАТЬ
   |    РеализацияТоваровУслугТовары.ЗаказКлиента КАК ЗаказКлиента
   |ПОМЕСТИТЬ ТаблицаРеализации
   |ИЗ
   |    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
   |ГДЕ
   |    РеализацияТоваровУслугТовары.Ссылка = &Ссылка
   |
   |СГРУППИРОВАТЬ ПО
   |    РеализацияТоваровУслугТовары.ЗаказКлиента
   |;
   |
   |////////////////////////////////////////////////////////////////////////////////
   |ВЫБРАТЬ
   |    ТИПЗНАЧЕНИЯ(ЗаказКлиентаТовары.Ссылка) КАК Документ,
   |    ЗаказКлиентаТовары.Номенклатура КАК Номенклатура,
   |    СУММА(ЗаказКлиентаТовары.Количество) КАК Количество
   |ПОМЕСТИТЬ ИтоговаяТаблица
   |ИЗ
   |    Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары
   |ГДЕ
   |    ЗаказКлиентаТовары.Ссылка В
   |            (ВЫБРАТЬ
   |                ТаблицаРеализации.ЗаказКлиента
   |            ИЗ
   |                ТаблицаРеализации КАК ТаблицаРеализации)
   |
   |СГРУППИРОВАТЬ ПО
   |    ТИПЗНАЧЕНИЯ(ЗаказКлиентаТовары.Ссылка),
   |    ЗаказКлиентаТовары.Номенклатура
   |
   |ОБЪЕДИНИТЬ ВСЕ
   |
   |ВЫБРАТЬ
   |    ТИПЗНАЧЕНИЯ(РеализацияТоваровУслугТовары.Ссылка),
   |    РеализацияТоваровУслугТовары.Номенклатура,
   |    СУММА(-РеализацияТоваровУслугТовары.Количество)
   |ИЗ
   |    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
   |ГДЕ
   |    РеализацияТоваровУслугТовары.Ссылка В
   |            (ВЫБРАТЬ
   |                ТаблицаРеализации.ЗаказКлиента
   |            ИЗ
   |                ТаблицаРеализации КАК ТаблицаРеализации)
   |
   |СГРУППИРОВАТЬ ПО
   |    ТИПЗНАЧЕНИЯ(РеализацияТоваровУслугТовары.Ссылка),
   |    РеализацияТоваровУслугТовары.Номенклатура
   |;
   |
   |////////////////////////////////////////////////////////////////////////////////
   |ВЫБРАТЬ
   |    ИтоговаяТаблица.Номенклатура,
   |    СУММА(ИтоговаяТаблица.Количество) КАК Количество
   |ИЗ
   |    ИтоговаяТаблица КАК ИтоговаяТаблица
   |
   |СГРУППИРОВАТЬ ПО
   |    ИтоговаяТаблица.Номенклатура
51 volfy
 
13.12.12
22:15
(49) вот что ты так накинулся.... сам же учился сам ошибался...лучше помоги...
52 volfy
 
13.12.12
22:19
я понимаю вы все умные...сам знаю что легко считать всех тупыми когда сам понял и осознал что то ...
53 mih_io
 
13.12.12
22:20
(0) Кури критерии отбора. Если еще точнее, глянь как работает структура подчиненности и при создании на основании заказа покупателя новой реализации, смотри, были ли еще реализации ну и дальше сохраняй их табличные части, склеивай, сворачивай и проверяй с табличной частью заказа покупателя и где есть остаток, выводи в реализацию.

В общем сделай так, без запросов, тебе так будет проще.
54 Нуф-Нуф
 
13.12.12
22:21
(50) нафига ты присобачил к нему еще что то? В (43) все что тебе нужно.
55 volfy
 
13.12.12
22:21
но вот ситуация правда такая....
Могу на жизнь пожаловаться... мне 22 ...я ебашу на 2х работах. .. брат позавчера разбил машину... завтра надо компании АТИКА сдать вот этот механизм .... а тут вот такие дела.... (53) спасибо попытаюсь =)
56 mih_io
 
13.12.12
22:24
(55) конфа какая? УТ 10.3 ?

Вот я уже писал подобную функцию, для поиска всех подчиненных реализаций

СпсРасходныхНакладных = новый СписокЗначений;
ПоискВсехНакладных(Основание.Ссылка,СпсРасходныхНакладных);


Процедура ПоискВсехНакладных(Объект, Список)
   Таблица = ПолныеПрава.ПолучитьСписокДокументовПоКритериюОтбора("СвязанныеДокументы", Объект);
   Для Каждого Стр Из Таблица Цикл
       Если ТипЗнч(Стр.Ссылка) = Тип("ДокументСсылка.РеализацияТоваровУслуг") Тогда
           Список.Добавить(Стр.Ссылка);
       КонецЕсли;
       //*******
       ПоискВсехНакладных(Стр.Ссылка,Список)
   КонецЦикла;
КонецПроцедуры
57 Serg_1960
 
13.12.12
22:24
(51) Тебе уже помогли и дали ответ. Но ты не понял этого :(

PS: сорри, но я учился, читая форум Мисты первые два года, прежде чем задать свой первый вопрос. Тебе это тоже трудно понять :)
58 volfy
 
13.12.12
22:25
(57) пойму.... просто срок короткий...
59 volfy
 
13.12.12
22:25
УТ 11
60 volfy
 
13.12.12
22:26
(54) пустая реализация
61 Glenas
 
13.12.12
22:27
(53) Критерии отбора как раз можно использовать и без громоздких конструкций запроса
62 Serg_1960
 
13.12.12
22:57
Все предложенные варианты, наверное, сложные для реализации ТС? Предлагаю упростить ситуацию (эстеты не воротите нос - автору бы сделать, цейтнот времени и всё такое...)

  Заполни документ реализации так, как он заполняется в типовой версии на основании заказа покупателя.
  Далее, для каждой строки ТЧ документа, запросом, найди количество номенклатуры в непроведенных(!) документах реализаций.
  Уменьши количество, указанное в строке ТЧ, на число из запроса.
  Далее - осталось только удалить строки ТЧ, в которых количество <=0.

Имхо, простой и понятный алгоритм решения задачи для юнного подавана :)
63 hhhh
 
13.12.12
23:43
(61) да они тормозят, эти критерии, запросом по тч быстрее работает.
64 Fragster
 
гуру
14.12.12
08:47
(63) да ладно!
65 hhhh
 
14.12.12
09:55
(64) как-то странно он работает, в запросе например можно только ссылку в качестве параметра, а массив ссылок не получается.
Независимо от того, куда вы едете — это в гору и против ветра!