Имя: Пароль:
1C
 
Не срабатывает запрос
0 tatoshka0403
 
29.10.14
16:39
Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("Ссылка", Ссылка);
    Запрос.Текст = "ВЫБРАТЬ
                   |    ВозвратТоваровОтПокупателяТовары.Ссылка,
                   |    ВозвратТоваровОтПокупателяТовары.Номенклатура,
                   |    ВозвратТоваровОтПокупателяТовары.Цена,
                   |    ПродажиСебестоимость.Стоимость,
                   |    МАКСИМУМ(ПродажиСебестоимость.Регистратор.Дата) КАК РегистраторДата
                   |ИЗ
                   |    Документ.ВозвратТоваровОтПокупателя.Товары КАК ВозвратТоваровОтПокупателяТовары
                   |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПродажиСебестоимость КАК ПродажиСебестоимость
                   |        ПО ВозвратТоваровОтПокупателяТовары.Номенклатура = ПродажиСебестоимость.Номенклатура
                   |ГДЕ
                   |    ВозвратТоваровОтПокупателяТовары.Ссылка.Дата > ПродажиСебестоимость.Регистратор.Дата
                   |    И ВозвратТоваровОтПокупателяТовары.Ссылка = &Ссылка
                   |
                   |СГРУППИРОВАТЬ ПО
                   |    ВозвратТоваровОтПокупателяТовары.Ссылка,
                   |    ВозвратТоваровОтПокупателяТовары.Номенклатура,
                   |    ВозвратТоваровОтПокупателяТовары.Цена,
                   |    ПродажиСебестоимость.Стоимость";

    Выборка = Запрос.Выполнить().Выбрать();
    ДокументОбъект= Ссылка.ПолучитьОбъект();
    Для каждого СтрТабличнойЧасти Из ДокументОбъект.Товары Цикл
            СтрТабличнойЧасти.Себестоимость=Выборка.Стоимость;    
    КонецЦикла;
    ДокументОбъект.Записать();


Выборка ничего не дает.
1 vicof
 
29.10.14
16:40
Мдааа
2 mikecool
 
29.10.14
16:41
так и надо
3 Ёпрст
 
29.10.14
16:41
(0) Выборка.Следующий() в коде не обнаружено
4 vicof
 
29.10.14
16:41
Следующий()
5 Ёпрст
 
29.10.14
16:41
ну а так - всё в топку.
6 tatoshka0403
 
29.10.14
16:49
(1)(2) У вас есть получше способ вытащить себестоимость?
(3)(4) Спасибо исправил
7 Ёпрст
 
29.10.14
16:53
(6) тащить не с продажного регистра.
С учета затрат или с партий (в случае партионного учета)
8 Ёпрст
 
29.10.14
16:54
ну и .. выгребать все записи регистра, искать максимум - так себе решение.
9 tatoshka0403
 
29.10.14
17:12
Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("Ссылка", Ссылка);
    Запрос.Текст = "ВЫБРАТЬ
                   |    ВозвратТоваровОтПокупателяТовары.Ссылка,
                   |    ВозвратТоваровОтПокупателяТовары.Номенклатура,
                   |    ВозвратТоваровОтПокупателяТовары.Цена,
                   |    ПродажиСебестоимость.Стоимость,
                   |    МАКСИМУМ(ПродажиСебестоимость.Регистратор.Дата) КАК РегистраторДата
                   |ИЗ
                   |    Документ.ВозвратТоваровОтПокупателя.Товары КАК ВозвратТоваровОтПокупателяТовары
                   |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПродажиСебестоимость КАК ПродажиСебестоимость
                   |        ПО ВозвратТоваровОтПокупателяТовары.Номенклатура = ПродажиСебестоимость.Номенклатура
                   |ГДЕ
                   |    ВозвратТоваровОтПокупателяТовары.Ссылка.Дата > ПродажиСебестоимость.Регистратор.Дата
                   |    И ВозвратТоваровОтПокупателяТовары.Ссылка = &Ссылка
                   |
                   |СГРУППИРОВАТЬ ПО
                   |    ВозвратТоваровОтПокупателяТовары.Ссылка,
                   |    ВозвратТоваровОтПокупателяТовары.Номенклатура,
                   |    ВозвратТоваровОтПокупателяТовары.Цена,
                   |    ПродажиСебестоимость.Стоимость";

    Выборка = Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
    ДокументОбъект= Ссылка.ПолучитьОбъект();
    Для каждого СтрТабличнойЧасти Из ДокументОбъект.Товары Цикл
            СтрТабличнойЧасти.Себестоимость=Выборка.Стоимость;
            
    КонецЦикла;
            ДокументОбъект.Записать();
    
    КонецЦикла;
(8) Хорошо попробую
После выполнения у всех товаров в документе ставить одна и та же себестоимость.
10 KuAl
 
29.10.14
17:14
правильно, перебираешь все строки тч и ставишь всем одну и ту же себестоимость)
11 tatoshka0403
 
29.10.14
17:14
Исправил циклы
12 vicof
 
29.10.14
17:15
(9) На собеседование в местный жэк ходил уже?
13 tatoshka0403
 
29.10.14
17:16
(12) Да сказали там тебя не взяли.
14 vicof
 
29.10.14
17:17
(13) "Да сказали
там тебя не взяли."
Знатный рэпчик. Жги еще.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн