Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Проблема с расчетом себестоимости в УТ 11.1.10.131  (Прочитано 1304 раз)
0 Пользователей и 1 Гость смотрят эту тему.
zerbite
Интересующийся

ru
Offline Offline

« : 28-12-2015 14:27 » 

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

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

далее привожу два отчета и движения в регистре по этому товару и складу за июнь 2015 года.

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


а главное что как я ни мучил базу, я не смог добиться чтобы отчет показал мне строку из регистра, где остаток кол-ва 0, а себестоимость не ноль.

на всякий случай привожу процедуру с запросами которые дают эту ошибку, которые находятся в модуле менеджера в документе "РасчетСебестоимостиТоваров"

Код:
Процедура ПроверитьКорректностьОстатковВРегистреСебестоимостьТоваров(Дата, Организация)

    Запрос = Новый Запрос;
    Запрос.Текст = "
        |ВЫБРАТЬ
        |    Организации.Ссылка КАК Организация
        |ИЗ
        |    Справочник.Организации КАК Организации
        |ГДЕ
        |    &Организация = ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)
        |    ИЛИ &Организация = НЕОПРЕДЕЛЕНО
        |    ИЛИ Организации.Ссылка = &Организация";
    Запрос.УстановитьПараметр("Организация", Организация);

    МассивОрганизаций = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Организация");

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

    Выборка = Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл

        ПредставлениеТовара = НоменклатураКлиентСервер.ПредставлениеНоменклатуры(Выборка.Номенклатура, Выборка.Характеристика);
        ПредставлениеТовара = ПредставлениеТовара + ", код: " + Выборка.КодНоменклатуры;
        ПредставлениеТовара = ПредставлениеТовара + ", склад: " + Выборка.Склад + ", организация: " + Выборка.Организация;
        ПредставлениеТовара = ПредставлениеТовара + ", раздел учета: " + Выборка.РазделУчета;
        Если ЗначениеЗаполнено(Выборка.ВидЗапасов) Тогда
            ПредставлениеТовара = ПредставлениеТовара + ", вид запасов: " + Выборка.ВидЗапасов;
        КонецЕсли;
        ПредставлениеНекорректногоОстатка = "Количество = 0"
                + ?(Выборка.Стоимость <> 0,", Стоимость = " + Выборка.Стоимость, "")
                + ?(Выборка.СтоимостьБезНДС <> 0,", СтоимостьБезНДС = " + Выборка.СтоимостьБезНДС, "")
                + ?(Выборка.СуммаДопРасходов <> 0,", СуммаДопРасходов = " + Выборка.СуммаДопРасходов, "")
                + ?(Выборка.СуммаДопРасходовБезНДС <> 0,", СуммаДопРасходовБезНДС = " + Выборка.СуммаДопРасходовБезНДС, "")
                + ?(Выборка.СтоимостьРегл <> 0,", СтоимостьРегл = " + Выборка.СтоимостьРегл, "");
       
        ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
            НСтр("ru = 'По номенклатуре %1 обнаружен некорректный остаток в регистре ""Себестоимость товаров"" на дату %3 : %2'"),
            ПредставлениеТовара,
            ПредставлениеНекорректногоОстатка,
            КонецМесяца(Дата));

        ЗаписьЖурналаРегистрации(
            НСтр("ru = 'Расчет себестоимости'"),
            УровеньЖурналаРегистрации.Ошибка,
            ,
            Строка(Выборка.Номенклатура) + " (" + СокрЛП(Выборка.КодНоменклатуры) + ")",
            ТекстОшибки,
            РежимТранзакцииЗаписиЖурналаРегистрации.Транзакционная);

    КонецЦикла;

КонецПроцедуры

* ошибка.png (56.72 Кб - загружено 343 раз.)
* ошибка2.png (53.8 Кб - загружено 358 раз.)
* движения в регистре.png (85.88 Кб - загружено 335 раз.)
* движения в регистре.xls (15.5 Кб - загружено 253 раз.)
* отчет себестоимость за июнь2015 (развернутый).png (55.86 Кб - загружено 638 раз.)
* отчет2 себестоимость за июнь2015 (свернутый).png (63.37 Кб - загружено 1497 раз.)
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines