Имя: Пароль:
1C
1С v8
Помогите с запросом
,
0 malder
 
04.05.12
17:27
Нужно объединить две ТЧ разных документов, ЗаказПокупателя ТЧ.Товары и  подчиненный заказу документ РеализацияУслугПоПереработке ТЧ.Услуги. Из заказа взять наименование номенклатуры, все остальное из реализации, (наименования номенклатуры разные в документах). Предложите пожалуйста вариант решения проблемы, спасибо! :)
1 КМ155
 
04.05.12
17:30
(0) Объединить ВСЕ
2 malder
 
04.05.12
18:16
ВЫБРАТЬ

   РеализацияУслугПоПереработкеУслуги.Номенклатура КАК РеализацияУслугПоПереработкеУслуги
   ИЗ
   Документ.РеализацияУслугПоПереработке.Услуги КАК РеализацияУслугПоПереработкеУслуги
   
   
   ОБЪЕДИНИТЬ ВСЕ
   
   
                       ВЫБРАТЬ
   ЗаказПокупателяТовары.Номенклатура  КАК ЗаказПокупателяТовары
ИЗ
   Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары
3 malder
 
04.05.12
18:17
(1) получил номенклатуру из двух документов, а мне нужно ном только из документа ЗаказПокупателя
4 Grobik
 
04.05.12
18:19
(0) Никак.
Или вводить общие артикулы или штрихкоды и через левое соединение.
5 Eugene_life
 
04.05.12
18:24
(0) Думаю, что одним запросом так не сделать
6 Grobik
 
04.05.12
18:26
(0) А вообще я это не догоняю "(наименования номенклатуры разные в документах)". Как оно так вышло?
7 azernot
 
04.05.12
18:44
(0) Вот у тебя в заказе 5 строчек, а в реализации 3 (или 7). Твои действия? Что значит "всё остальное получить из реализации"?
Что тебе на выходее вообще надо?
8 Лоботряс
 
04.05.12
18:47
Че вы тупите? ОБЪЕДИНИТЬ и все
9 Лоботряс
 
04.05.12
18:48
(0) см.(1) и (2)
10 malder
 
04.05.12
18:48
(7) На выходе должна получиться табличка, Реестр отгрузок, колонки: Контрагент, Номенклатура(так как различаются наименования нужно брать из заказа(ну вот нам так нужно и капец)), ну и все остальное цена, сумма, количество....
11 malder
 
04.05.12
18:49
(9) угу -((
12 azernot
 
04.05.12
18:50
(10) А если РАЗНОЕ количество строк и разные суммы в заказах и в реализации, что делать?
13 azernot
 
04.05.12
18:51
(10) Короче, берёшь ОБЩЕЕ количество, и общую сумму из релаизации и распределяешь между номенклатурой заказа пропорционально например сумме в заказе..
14 Конфигуратор1с
 
04.05.12
18:57
(0)а задачу расскажите всю, может все просто и решается
15 malder
 
04.05.12
18:59
(14) описал (10)
16 azernot
 
04.05.12
19:02
(15) Да нихрена ты не описал.. Если у самого нет понимания, нет смысла спрашивать...
17 Конфигуратор1с
 
04.05.12
19:03
(15)Ник соответствует манере постановки задачи - фиг что поймешь. Так, почему берем из заказа номенклатуру, а не из акта услуг? В чем тайный смысл сего ?
18 azernot
 
04.05.12
19:03
Вот пример запроса с пропорциональным распределением. Сразу предупреждаю, из-за округлений общая сумма может не биться...

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