Имя: Пароль:
1C
1С v8
Запрос
0 Начинающий_13
 
30.08.11
11:45
Здравствуйте
Подскажите правильно ли сделал (Все вроде работает)
Есть Регистр сведений РС_ЗакупочныеДанные для хранения цен Измерения (Контрагент,ТМЦ,Партия,Характеристика) Ресурсы (Цена1го,Цена)
Есть Регистр накопления РН_Остатки Измерения (ТМЦ,Партия,Хараетеристика,МХ)Ресурсы (Количество,Сумма)

Запрос находится в ОБРАБОТКЕПРОВЕДЕНИЯ
(так же служит для контроля отрицательных остатков)


1.    Мне нужно видеть цену1го и цену поставщика
Правильно  ли  сделал соединения или может можно более грамотно
ПОЛНОЕ  заменить на ЛЕВОЕ СОДИНЕНИЕ и что то еще
2.    Как при проведении документа данные цен перебросить в табличную часть документа

Может чущь сделал?



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

   Результат = Запрос.Выполнить();

   Выборка = Результат.Выбрать();

   Пока Выборка.Следующий() Цикл
       // Вставить обработку выборки ВыборкаДетальныеЗаписи
   КонецЦикла;
1 Jstunner
 
30.08.11
11:52
"Может чущь сделал?"

да
2 Начинающий_13
 
30.08.11
11:55
А как правльно будет
3 alex-pro
 
30.08.11
11:56
2.    Как при проведении документа данные цен перебросить в табличную часть документа
Обычно это делается ПередЗаписью.)))
4 МихаилМ
 
30.08.11
11:56
классическая ошибка
если исп максимум, значит неправильно сделано объединение.

сответственно появляются дубли, и нужны максимум или др

сначала сгрупируйте поотом дообъндините.
5 Ненавижу 1С
 
гуру
30.08.11
11:58
(4) ты не прав
6 Начинающий_13
 
30.08.11
12:01
По уроку Чистова, но регистр сведений добавил сам согласно тех знаний которые имею
7 Начинающий_13
 
30.08.11
12:05
(4)Т.е данные из таб документа сгруппировать с Регистром сведения а затем объедить с Регистром накопления
8 Начинающий_13
 
30.08.11
12:17
АП