Имя: Пароль:
1C
1С v8
Задача
Ø (GROOVY 07.08.2013 08:00)
0 sovsemnovichek
 
06.08.13
11:38
Кто-нибудь решал задачу из сборника 1с Специалист?
Решаю задачу 1.21. Там нужно вывести отчет регистра "Продажи".
Нужно вывести поле "Интревал" (В задании оно считается так: Дата первой отгрузки - Дата последней отгрузки / количество отгрузок, в том случае, когда отгрузка была только одна, то в колонке "Интервал" выводится РАЗОВАЯ)

Рассчитываю это поле так
ВЫБОР
    КОГДА РАЗНОСТЬДАТ(МИНИМУМ(&НачалоПериода), МАКСИМУМ(&КонецПериода), ДЕНЬ) = 1
        ТОГДА "Разовая"
    ИНАЧЕ РАЗНОСТЬДАТ(&НачалоПериода, &КонецПериода, ДЕНЬ) / КОЛИЧЕСТВО(ПродажиОбороты.Номенклатура)
КОНЕЦ

Но что-то коряво считает.... Может кто подскажет что не так делаю?
1 Шапокляк
 
06.08.13
11:40
КОЛИЧЕСТВО(ПродажиОбороты.Номенклатура)
это количество чего, как вы думаете?
2 George Wheels
 
06.08.13
11:40
КОГДА КОЛИЧЕСТВО(ПродажиОбороты.Номенклатура) = 1
3 George Wheels
 
06.08.13
11:42
(2) + Если конечно отбор по одной номенклатуре
4 GROOVY
 
06.08.13
11:42
5 sovsemnovichek
 
06.08.13
13:56
Можете подсказать почему не отображается "Себестоимость" и "Прибыль"? Вроде в ресурсах все есть, в выбранных полях все есть... А в отчете не показывает

Код такой, если что:
ВЫБРАТЬ
    ПродажиОбороты.Номенклатура КАК Номенклатура,
    СУММА(ПродажиОбороты.КоличествоОборот) КАК Количество,
    СУММА(ПродажиОбороты.СебестоимостьОборот) КАК Себестоимость,
    СУММА(ПродажиОбороты.ПродажаОборот) КАК Продажа,
    ПродажиОбороты.ПродажаОборот - ПродажиОбороты.СебестоимостьОборот КАК Прибыль,
    МИНИМУМ(ПродажиОбороты.Регистратор.Дата) КАК ПерваяОтгрузка,
    МАКСИМУМ(ПродажиОбороты.Регистратор.Дата) КАК ПоследняяОтгрузка,
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ПродажиОбороты.Регистратор) КАК КоличествоОтгрузок
ПОМЕСТИТЬ Товар
ИЗ
    РегистрНакопления.Продажи.Обороты(, , Регистратор, ) КАК ПродажиОбороты

СГРУППИРОВАТЬ ПО
    ПродажиОбороты.Номенклатура,
    ПродажиОбороты.ПродажаОборот - ПродажиОбороты.СебестоимостьОборот
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    Товар.Номенклатура КАК Номенклатура,
    Товар.Количество КАК Количество,
    Товар.Себестоимость КАК Себестоимость,
    Товар.Продажа КАК Продажа,
    Товар.Прибыль КАК Прибыль,
    ВЫБОР
        КОГДА Товар.КоличествоОтгрузок = 1
            ТОГДА "Разовая"
        ИНАЧЕ РАЗНОСТЬДАТ(Товар.ПерваяОтгрузка, Товар.ПоследняяОтгрузка, ДЕНЬ) / Товар.КоличествоОтгрузок
    КОНЕЦ КАК Интервал,
    РАЗНОСТЬДАТ(Товар.ПоследняяОтгрузка, &КонецПериода, ДЕНЬ) КАК Срок
ИЗ
    Товар КАК Товар
6 sovsemnovichek
 
06.08.13
14:16
Кто-нибудь) need HELP
7 George Wheels
 
07.08.13
07:46
(5) Используй ЕСТЬNULL