Имя: Пароль:
1C
1С v8
Как получить себестоимость по номенклатуре в УТ 11?
0 wallkman2011
 
09.04.20
11:24
Всем добрый день.
Ранее работали на УТ 10.3 где был доработан документ "Реализация товаров и услуг", чтобы посчитать зарплату менеджерам, был создан оборотный регистр накопления "Зарплата", где накапливалась
информация в разрезе Номенклатуры и Менеджера, а ресурсы - это: кол-во, себест, выручка, прибыль, процент зарплаты, сумма зарплаты.

так вот, ранее в 10.3 в обработчике проведения был такой код:

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

Далее, когда производится запись в регистр зарплаты, мы могли спокойно получить по номенклатуре себестоимость:

НайденнаяСтрока =  ТЗ_Стоимость.Найти(ВыборкаРезультата.Номенклатура, "Номенклатура");    
Запись.Себестоимость = НайденнаяСтрока.Стоимость;

///////////////////////////////////

В консоле запросов, в УТ 10.3 выбрал из регистра себестоимость:

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

И в результате вижу одну строку, с количеством и стоимостью, все ок.

Когда подобный запрос получаю в УТ 11:

ВЫБРАТЬ
    СебестоимостьТоваров.Регистратор КАК Регистратор,
    СебестоимостьТоваров.Количество КАК Количество,
    СебестоимостьТоваров.Стоимость КАК Стоимость,
    СебестоимостьТоваров.АналитикаУчетаНоменклатуры.Номенклатура КАК Товар
ИЗ
    РегистрНакопления.СебестоимостьТоваров КАК СебестоимостьТоваров
ГДЕ
    СебестоимостьТоваров.Регистратор = &Регистратор

То в результате получаю две строки по товару, первая с количеством, вторая с себестоимостью (дописывается после регламентной операции расчета себестоимости).

Отсюда у меня вопрсос:
Если я сгруппирую данный запрос, то в результате получаю то что мне нужно, одну строку. Можно ли так сделать, или это ошибка, И я что то не учел, и в будущем это может не работать?
и второй вопрос: раньше зарплата менеджеров записывалась и рассчитывалась в момент проведения реализации товаров, а сейчас похоже нужно писать обработку, и запускать ее в конце месяца, только после расчета себестоимости, так как раньше, в момент проведения реализации уже не получится выходит?

заранее спасибо.
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой