Меню

Ошибка sql переполнение поля ошибка sql переполнение поля

   memogolik

15 — 17.01.14 — 15:45

ВЫБРАТЬ

    ТаблицаАналитики.Подразделение,

    ТаблицаАналитики.ПодразделениеОрганизации,

    
    ТаблицаАналитики.Затрата,

    ТаблицаАналитики.ХарактеристикаЗатраты,

    ТаблицаАналитики.СерияЗатраты,

    ТаблицаАналитики.СтатьяЗатрат,

    
    ТаблицаАналитики.НоменклатурнаяГруппа,

    ТаблицаАналитики.Заказ КАК Заказ,

    ТаблицаАналитики.СчетУчета,

    //ДляРеглУчета СУММА(

    //ДляРеглУчета     ВЫБОР КОГДА ТаблицаАналитики.СчетУчетаНУ <> Неопределено ТОГДА

    //ДляРеглУчета         УчетЗатрат.СтоимостьНУОстаток

    //ДляРеглУчета     ИНАЧЕ

    //ДляРеглУчета         0

    //ДляРеглУчета     КОНЕЦ

    //ДляРеглУчета ) КАК СтоимостьНУОстаток,

    //ДляРеглУчета СУММА(

    //ДляРеглУчета     ВЫБОР КОГДА ТаблицаАналитики.СчетУчетаНУ <> Неопределено ТОГДА

    //ДляРеглУчета         УчетЗатрат.КоличествоНУОстаток

    //ДляРеглУчета     ИНАЧЕ

    //ДляРеглУчета         0

    //ДляРеглУчета     КОНЕЦ

    //ДляРеглУчета ) КАК КоличествоНУОстаток,

    СУММА(УчетЗатрат.СтоимостьОстаток) КАК СтоимостьОстаток,

    СУММА(УчетЗатрат.КоличествоОстаток) КАК КоличествоОстаток

ПОМЕСТИТЬ ТаблицаСтоимостиЗатрат

ИЗ

    РегистрНакопления.УчетЗатрат.Остатки(&КонДата,

        (

        АналитикаВидаУчета,

        АналитикаУчетаЗатрат,

        АналитикаРаспределенияЗатрат,

        АналитикаУчетаПартий

        ) В (

            ВЫБРАТЬ

                 АналитикаВидаУчета,

                //ДляРеглУчета АналитикаВидаУчетаРегл,

                АналитикаУчетаЗатрат,

                АналитикаРаспределенияЗатрат,

                АналитикаУчетаПартий

            ИЗ

                ТаблицаАналитики

            )

    
    ) КАК УчетЗатрат

    
    ЛЕВОЕ СОЕДИНЕНИЕ

        ТаблицаАналитики КАК ТаблицаАналитики

    ПО

         УчетЗатрат.АналитикаВидаУчета = ТаблицаАналитики.АналитикаВидаУчета

        //ДляРеглУчета УчетЗатрат.АналитикаВидаУчета = ТаблицаАналитики.АналитикаВидаУчетаРегл

        И УчетЗатрат.АналитикаУчетаЗатрат = ТаблицаАналитики.АналитикаУчетаЗатрат

        И УчетЗатрат.АналитикаРаспределенияЗатрат = ТаблицаАналитики.АналитикаРаспределенияЗатрат

        И УчетЗатрат.АналитикаУчетаПартий = ТаблицаАналитики.АналитикаУчетаПартий

СГРУППИРОВАТЬ ПО

    ТаблицаАналитики.Подразделение,

    ТаблицаАналитики.ПодразделениеОрганизации,

    
    ТаблицаАналитики.Затрата,

    ТаблицаАналитики.ХарактеристикаЗатраты,

    ТаблицаАналитики.СерияЗатраты,

    ТаблицаАналитики.СтатьяЗатрат,

    
    ТаблицаАналитики.НоменклатурнаяГруппа,

    ТаблицаАналитики.Заказ,

    ТаблицаАналитики.СчетУчета

;

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

ВЫБРАТЬ

    ТаблицаАналитики.Подразделение,

    ТаблицаАналитики.ПодразделениеОрганизации,

    
    ТаблицаАналитики.Затрата,

    ТаблицаАналитики.ХарактеристикаЗатраты,

    ТаблицаАналитики.СерияЗатраты,

    ТаблицаАналитики.СтатьяЗатрат,

    
    ТаблицаАналитики.НоменклатурнаяГруппа,

    ТаблицаАналитики.Заказ КАК ЗаказРегл,

    ТаблицаАналитики.СчетУчета,

     СУММА(

         ВЫБОР КОГДА ТаблицаАналитики.СчетУчетаНУ <> Неопределено ТОГДА

             УчетЗатрат.СтоимостьНУОстаток

         ИНАЧЕ

             0

         КОНЕЦ

     ) КАК СтоимостьНУОстаток,

     СУММА(

         ВЫБОР КОГДА ТаблицаАналитики.СчетУчетаНУ <> Неопределено ТОГДА

             УчетЗатрат.КоличествоНУОстаток

         ИНАЧЕ

             0

         КОНЕЦ

     ) КАК КоличествоНУОстаток,

    СУММА(УчетЗатрат.СтоимостьОстаток) КАК СтоимостьОстаток,

    СУММА(УчетЗатрат.КоличествоОстаток) КАК КоличествоОстаток

ПОМЕСТИТЬ ТаблицаСтоимостиЗатратРегл

ИЗ

    РегистрНакопления.УчетЗатратРегл.Остатки(&КонДата,

        (

        АналитикаВидаУчета,

        АналитикаУчетаЗатрат,

        АналитикаРаспределенияЗатрат,

        АналитикаУчетаПартий

        ) В (

            ВЫБРАТЬ

                //ДляУпрУчета АналитикаВидаУчета,

                 АналитикаВидаУчетаРегл,

                АналитикаУчетаЗатрат,

                АналитикаРаспределенияЗатрат,

                АналитикаУчетаПартий

            ИЗ

                ТаблицаАналитики

            )

    
    ) КАК УчетЗатрат

    
    ЛЕВОЕ СОЕДИНЕНИЕ

        ТаблицаАналитики КАК ТаблицаАналитики

    ПО

        //ДляУпрУчета УчетЗатрат.АналитикаВидаУчета = ТаблицаАналитики.АналитикаВидаУчета

         УчетЗатрат.АналитикаВидаУчета = ТаблицаАналитики.АналитикаВидаУчетаРегл

        И УчетЗатрат.АналитикаУчетаЗатрат = ТаблицаАналитики.АналитикаУчетаЗатрат

        И УчетЗатрат.АналитикаРаспределенияЗатрат = ТаблицаАналитики.АналитикаРаспределенияЗатрат

        И УчетЗатрат.АналитикаУчетаПартий = ТаблицаАналитики.АналитикаУчетаПартий

СГРУППИРОВАТЬ ПО

    ТаблицаАналитики.Подразделение,

    ТаблицаАналитики.ПодразделениеОрганизации,

    
    ТаблицаАналитики.Затрата,

    ТаблицаАналитики.ХарактеристикаЗатраты,

    ТаблицаАналитики.СерияЗатраты,

    ТаблицаАналитики.СтатьяЗатрат,

    
    ТаблицаАналитики.НоменклатурнаяГруппа,

    ТаблицаАналитики.Заказ,

    ТаблицаАналитики.СчетУчета

;

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

ВЫБРАТЬ

    Док.*,

    Док.СтатьяЗатрат.ВидЗатрат КАК ВидЗатрат,

    Док.СтатьяЗатрат.СтатусМатериальныхЗатрат КАК СтатусМатериальныхЗатрат,

    Неопределено КАК СпособРаспределенияЗатрат,

    Док.Номенклатура КАК Затрата,

    Док.ХарактеристикаНоменклатуры КАК ХарактеристикаЗатраты,

    Док.СерияНоменклатуры КАК СерияЗатраты,

    ВЫБОР КОГДА Док.КодОперации <> Неопределено ТОГДА

        Док.КодОперации

    ИНАЧЕ

       &ПрямыеЗатраты

    КОНЕЦ КАК КодОперации,

    ВЫБОР КОГДА Док.Заказ ССЫЛКА Документ.ЗаказПокупателя

        И Док.Заказ.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийЗаказПокупателя.Переработка)

    ТОГДА

        ЗНАЧЕНИЕ(Перечисление.ВариантыВыпускаПродукции.ПродукцияИзДавальческогоСырья)

    ИНАЧЕ

          Неопределено

    КОНЕЦ КАК ВариантВыпускаПродукции,

    &Ссылка КАК ДокументВыпуска,

        ВЫБОР КОГДА Док.ТипСтоимости = ЗНАЧЕНИЕ(Перечисление.ВидыНормативнойСтоимостиПроизводства.Фиксированная) ТОГДА

            Док.Сумма

         КОГДА ТаблицаСтоимостиЗатратУУ.КоличествоОстаток = 0

                ИЛИ ТаблицаСтоимостиЗатратУУ.КоличествоОстаток ЕСТЬ NULL ТОГДА

            0

        ИНАЧЕ

            Док.Количество *

            ТаблицаСтоимостиЗатратУУ.СтоимостьОстаток /

            ТаблицаСтоимостиЗатратУУ.КоличествоОстаток

        КОНЕЦ КАК СуммаУУ,

        ВЫБОР КОГДА Док.ТипСтоимости = ЗНАЧЕНИЕ(Перечисление.ВидыНормативнойСтоимостиПроизводства.Фиксированная) ТОГДА

            Док.СуммаРегл

         КОГДА ТаблицаСтоимостиЗатратРегл.КоличествоОстаток = 0

                ИЛИ ТаблицаСтоимостиЗатратРегл.КоличествоОстаток ЕСТЬ NULL ТОГДА

            0

        ИНАЧЕ

            Док.Количество *

            ТаблицаСтоимостиЗатратРегл.СтоимостьОстаток /

            ТаблицаСтоимостиЗатратРегл.КоличествоОстаток

        КОНЕЦ КАК СуммаБУ,

        ВЫБОР КОГДА Док.ТипСтоимости = ЗНАЧЕНИЕ(Перечисление.ВидыНормативнойСтоимостиПроизводства.Фиксированная) ТОГДА

            Док.СуммаНал

         КОГДА ТаблицаСтоимостиЗатратРегл.КоличествоНУОстаток = 0

                ИЛИ ТаблицаСтоимостиЗатратРегл.КоличествоНУОстаток ЕСТЬ NULL ТОГДА

            0

        ИНАЧЕ

            Док.Количество *

            ТаблицаСтоимостиЗатратРегл.СтоимостьНУОстаток /

            ТаблицаСтоимостиЗатратРегл.КоличествоНУОстаток

        КОНЕЦ КАК СуммаНУ,

    //ФиксСтоимость        Док.Сумма КАК СуммаУУ,

    //ФиксСтоимость        Док.СуммаРегл КАК СуммаБУ,

    //ФиксСтоимость        Док.СуммаНал КАК СуммаНУ,

    //ПоНулевойУУ         0 КАК СуммаУУ,

    //ПоНулевойБУ         0 КАК СуммаБУ,

    //ПоНулевойБУ         0 КАК СуммаНУ,

    Док.Количество

ИЗ

    ТаблицаДокумента КАК Док

        ЛЕВОЕ СОЕДИНЕНИЕ

            ТаблицаСтоимостиЗатрат КАК ТаблицаСтоимостиЗатратУУ

        ПО

            Док.Номенклатура = ТаблицаСтоимостиЗатратУУ.Затрата

            И Док.ХарактеристикаНоменклатуры = ТаблицаСтоимостиЗатратУУ.ХарактеристикаЗатраты

            И Док.СерияНоменклатуры = ТаблицаСтоимостиЗатратУУ.СерияЗатраты

            И Док.СтатьяЗатрат = ТаблицаСтоимостиЗатратУУ.СтатьяЗатрат

            И Док.НоменклатурнаяГруппаНЗП = ТаблицаСтоимостиЗатратУУ.НоменклатурнаяГруппа

            И Док.ЗаказНЗП = ТаблицаСтоимостиЗатратУУ.Заказ

            И Док.ПодразделениеНЗП = ТаблицаСтоимостиЗатратУУ.Подразделение

        ЛЕВОЕ СОЕДИНЕНИЕ

            ТаблицаСтоимостиЗатратРегл КАК ТаблицаСтоимостиЗатратРегл

        ПО

            Док.Номенклатура = ТаблицаСтоимостиЗатратРегл.Затрата

            И Док.ХарактеристикаНоменклатуры = ТаблицаСтоимостиЗатратРегл.ХарактеристикаЗатраты

            И Док.СерияНоменклатуры = ТаблицаСтоимостиЗатратРегл.СерияЗатраты

            И Док.СтатьяЗатрат = ТаблицаСтоимостиЗатратРегл.СтатьяЗатрат

            И Док.НоменклатурнаяГруппаНЗП = ТаблицаСтоимостиЗатратРегл.НоменклатурнаяГруппа

            И Док.ЗаказНЗПРегл = ТаблицаСтоимостиЗатратРегл.ЗаказРегл

            И (Док.СчетЗатрат = ТаблицаСтоимостиЗатратРегл.СчетУчета

                ИЛИ ТаблицаСтоимостиЗатратРегл.СчетУчета = Неопределено)

            И Док.ПодразделениеОрганизацииНЗП = ТаблицаСтоимостиЗатратРегл.ПодразделениеОрганизации

УПОРЯДОЧИТЬ ПО

    Док.НомерСтроки

Добрый день. Помогите пожалуйста устранить ошибку. В УПП редакция 1.3 (1.3.6.1)  при проведении «Отчет производства за смену» 1с выдаёт ошибку:
Ошибка при выполнении обработчика — ‘ОбработкаПроведения’
по причине:
{ОбщийМодуль.УправлениеПроизводствомДвиженияПоРегистрам.Модуль(3672)}: Ошибка при вызове метода контекста (Выполнить)

по причине:
Ошибка выполнения запроса
по причине:
Ошибка при выполнении операции над данными:
Ошибка SQL: Переполнение поля
по причине:
Ошибка SQL: Переполнение поля

Предполагаю что ошибка возникает из за следующих строк запроса:
   Док.Количество *
  ТаблицаСтоимостиЗатратУУ.СтоимостьОстаток /
  ТаблицаСтоимостиЗатратУУ.КоличествоОстаток

Полный запрос имеет вид:
ВЫБРАТЬ
   ТаблицаАналитики.Подразделение,
   ТаблицаАналитики.ПодразделениеОрганизации,

      ТаблицаАналитики.Затрата,
   ТаблицаАналитики.ХарактеристикаЗатраты,
   ТаблицаАналитики.СерияЗатраты,
   ТаблицаАналитики.СтатьяЗатрат,

      ТаблицаАналитики.НоменклатурнаяГруппа,
   ТаблицаАналитики.Заказ КАК Заказ,

   ТаблицаАналитики.СчетУчета,

   //ДляРеглУчета СУММА(
   //ДляРеглУчета    ВЫБОР КОГДА ТаблицаАналитики.СчетУчетаНУ <> Неопределено ТОГДА
   //ДляРеглУчета       УчетЗатрат.СтоимостьНУОстаток
   //ДляРеглУчета    ИНАЧЕ
   //ДляРеглУчета       0
   //ДляРеглУчета    КОНЕЦ
   //ДляРеглУчета ) КАК СтоимостьНУОстаток,

   //ДляРеглУчета СУММА(
   //ДляРеглУчета    ВЫБОР КОГДА ТаблицаАналитики.СчетУчетаНУ <> Неопределено ТОГДА
   //ДляРеглУчета       УчетЗатрат.КоличествоНУОстаток
   //ДляРеглУчета    ИНАЧЕ
   //ДляРеглУчета       0
   //ДляРеглУчета    КОНЕЦ
   //ДляРеглУчета ) КАК КоличествоНУОстаток,

   СУММА(УчетЗатрат.СтоимостьОстаток) КАК СтоимостьОстаток,
   СУММА(УчетЗатрат.КоличествоОстаток) КАК КоличествоОстаток

ПОМЕСТИТЬ ТаблицаСтоимостиЗатрат
ИЗ
   РегистрНакопления.УчетЗатрат.Остатки(&КонДата,
      (
      АналитикаВидаУчета,
      АналитикаУчетаЗатрат,
      АналитикаРаспределенияЗатрат,
      АналитикаУчетаПартий
      ) В (
         ВЫБРАТЬ
             АналитикаВидаУчета,
            //ДляРеглУчета АналитикаВидаУчетаРегл,
            АналитикаУчетаЗатрат,
            АналитикаРаспределенияЗатрат,
            АналитикаУчетаПартий
         ИЗ
            ТаблицаАналитики
         )

      ) КАК УчетЗатрат

      ЛЕВОЕ СОЕДИНЕНИЕ
      ТаблицаАналитики КАК ТаблицаАналитики
   ПО
       УчетЗатрат.АналитикаВидаУчета = ТаблицаАналитики.АналитикаВидаУчета
      //ДляРеглУчета УчетЗатрат.АналитикаВидаУчета = ТаблицаАналитики.АналитикаВидаУчетаРегл
      И УчетЗатрат.АналитикаУчетаЗатрат = ТаблицаАналитики.АналитикаУчетаЗатрат
      И УчетЗатрат.АналитикаРаспределенияЗатрат = ТаблицаАналитики.АналитикаРаспределенияЗатрат
      И УчетЗатрат.АналитикаУчетаПартий = ТаблицаАналитики.АналитикаУчетаПартий

СГРУППИРОВАТЬ ПО
   ТаблицаАналитики.Подразделение,
   ТаблицаАналитики.ПодразделениеОрганизации,

      ТаблицаАналитики.Затрата,
   ТаблицаАналитики.ХарактеристикаЗатраты,
   ТаблицаАналитики.СерияЗатраты,
   ТаблицаАналитики.СтатьяЗатрат,

      ТаблицаАналитики.НоменклатурнаяГруппа,
   ТаблицаАналитики.Заказ,
   ТаблицаАналитики.СчетУчета
;
////////////////////////////////////////////////////////////////////////////

//ТекстТаблицаСтоимостиРегл

ВЫБРАТЬ
   Док.*,
   Док.СтатьяЗатрат.ВидЗатрат КАК ВидЗатрат,
   Док.СтатьяЗатрат.СтатусМатериальныхЗатрат КАК СтатусМатериальныхЗатрат,
   Неопределено КАК СпособРаспределенияЗатрат,
   Док.Номенклатура КАК Затрата,
   Док.ХарактеристикаНоменклатуры КАК ХарактеристикаЗатраты,
   Док.СерияНоменклатуры КАК СерияЗатраты,
   ВЫБОР КОГДА Док.КодОперации <> Неопределено ТОГДА
      Док.КодОперации
   ИНАЧЕ
      &ПрямыеЗатраты
   КОНЕЦ КАК КодОперации,

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

   &Ссылка КАК ДокументВыпуска,

      ВЫБОР КОГДА Док.ТипСтоимости = ЗНАЧЕНИЕ(Перечисление.ВидыНормативнойСтоимостиПроизводства.Фиксированная) ТОГДА
         Док.Сумма
       КОГДА ТаблицаСтоимостиЗатратУУ.КоличествоОстаток = 0
            ИЛИ ТаблицаСтоимостиЗатратУУ.КоличествоОстаток ЕСТЬ NULL ТОГДА
         0
      ИНАЧЕ
         Док.Количество *
         ТаблицаСтоимостиЗатратУУ.СтоимостьОстаток /
         ТаблицаСтоимостиЗатратУУ.КоличествоОстаток
      КОНЕЦ КАК СуммаУУ,

   //ПрямыеЗатратыБУ   ВЫБОР КОГДА Док.ТипСтоимости = ЗНАЧЕНИЕ(Перечисление.ВидыНормативнойСтоимостиПроизводства.Фиксированная) ТОГДА
   //ПрямыеЗатратыБУ      Док.СуммаРегл
   //ПрямыеЗатратыБУ    КОГДА ТаблицаСтоимостиЗатратРегл.КоличествоОстаток = 0
   //ПрямыеЗатратыБУ         ИЛИ ТаблицаСтоимостиЗатратРегл.КоличествоОстаток ЕСТЬ NULL ТОГДА
   //ПрямыеЗатратыБУ      0
   //ПрямыеЗатратыБУ   ИНАЧЕ
   //ПрямыеЗатратыБУ      Док.Количество *
   //ПрямыеЗатратыБУ      ТаблицаСтоимостиЗатратРегл.СтоимостьОстаток /
   //ПрямыеЗатратыБУ      ТаблицаСтоимостиЗатратРегл.КоличествоОстаток
   //ПрямыеЗатратыБУ   КОНЕЦ КАК СуммаБУ,

   //ПрямыеЗатратыБУ   ВЫБОР КОГДА Док.ТипСтоимости = ЗНАЧЕНИЕ(Перечисление.ВидыНормативнойСтоимостиПроизводства.Фиксированная) ТОГДА
   //ПрямыеЗатратыБУ      Док.СуммаНал
   //ПрямыеЗатратыБУ    КОГДА ТаблицаСтоимостиЗатратРегл.КоличествоНУОстаток = 0
   //ПрямыеЗатратыБУ         ИЛИ ТаблицаСтоимостиЗатратРегл.КоличествоНУОстаток ЕСТЬ NULL ТОГДА
   //ПрямыеЗатратыБУ      0
   //ПрямыеЗатратыБУ   ИНАЧЕ
   //ПрямыеЗатратыБУ      Док.Количество *
   //ПрямыеЗатратыБУ      ТаблицаСтоимостиЗатратРегл.СтоимостьНУОстаток /
   //ПрямыеЗатратыБУ      ТаблицаСтоимостиЗатратРегл.КоличествоНУОстаток
   //ПрямыеЗатратыБУ   КОНЕЦ КАК СуммаНУ,

   //ФиксСтоимость      Док.Сумма КАК СуммаУУ,
   //ФиксСтоимость      Док.СуммаРегл КАК СуммаБУ,
   //ФиксСтоимость      Док.СуммаНал КАК СуммаНУ,

   //ПоНулевойУУ       0 КАК СуммаУУ,
          0 КАК СуммаБУ,
          0 КАК СуммаНУ,

   Док.Количество

ИЗ
   ТаблицаДокумента КАК Док

      ЛЕВОЕ СОЕДИНЕНИЕ
         ТаблицаСтоимостиЗатрат КАК ТаблицаСтоимостиЗатратУУ
      ПО
         Док.Номенклатура = ТаблицаСтоимостиЗатратУУ.Затрата
         И Док.ХарактеристикаНоменклатуры = ТаблицаСтоимостиЗатратУУ.ХарактеристикаЗатраты
         И Док.СерияНоменклатуры = ТаблицаСтоимостиЗатратУУ.СерияЗатраты
         И Док.СтатьяЗатрат = ТаблицаСтоимостиЗатратУУ.СтатьяЗатрат
         И Док.НоменклатурнаяГруппаНЗП = ТаблицаСтоимостиЗатратУУ.НоменклатурнаяГруппа
         И Док.ЗаказНЗП = ТаблицаСтоимостиЗатратУУ.Заказ
         И Док.ПодразделениеНЗП = ТаблицаСтоимостиЗатратУУ.Подразделение

   //ПрямыеЗатратыБУ   ЛЕВОЕ СОЕДИНЕНИЕ
   //ПрямыеЗатратыБУ      ТаблицаСтоимостиЗатратРегл КАК ТаблицаСтоимостиЗатратРегл
   //ПрямыеЗатратыБУ   ПО
   //ПрямыеЗатратыБУ      Док.Номенклатура = ТаблицаСтоимостиЗатратРегл.Затрата
   //ПрямыеЗатратыБУ      И Док.ХарактеристикаНоменклатуры = ТаблицаСтоимостиЗатратРегл.ХарактеристикаЗатраты
   //ПрямыеЗатратыБУ      И Док.СерияНоменклатуры = ТаблицаСтоимостиЗатратРегл.СерияЗатраты
   //ПрямыеЗатратыБУ      И Док.СтатьяЗатрат = ТаблицаСтоимостиЗатратРегл.СтатьяЗатрат
   //ПрямыеЗатратыБУ      И Док.НоменклатурнаяГруппаНЗП = ТаблицаСтоимостиЗатратРегл.НоменклатурнаяГруппа
   //ПрямыеЗатратыБУ      И Док.ЗаказНЗПРегл = ТаблицаСтоимостиЗатратРегл.ЗаказРегл
   //ПрямыеЗатратыБУ      И (Док.СчетЗатрат = ТаблицаСтоимостиЗатратРегл.СчетУчета
   //ПрямыеЗатратыБУ         ИЛИ ТаблицаСтоимостиЗатратРегл.СчетУчета = Неопределено)
   //ПрямыеЗатратыБУ      И Док.ПодразделениеОрганизацииНЗП = ТаблицаСтоимостиЗатратРегл.ПодразделениеОрганизации

УПОРЯДОЧИТЬ ПО
   Док.НомерСтроки

 0 

   

Распечатать

При формировании отчета на СКД получили ошибку: Microsoft SQL Server Native Client 11.0: Добавление значения в столбец «datetime» привело к переполнению

Подробнее текст такой:

... по причине:
Ошибка компоновки данных
по причине:
Ошибка получения данных
по причине:
Ошибка создания набора данных "ВремяРаботы"
по причине:
Ошибка при исполнении запроса набора данных
по причине:
Ошибка выполнения запроса
по причине:
Ошибка при выполнении операции над данными:
Microsoft SQL Server Native Client 11.0: Добавление значения в столбец "datetime" привело к переполнению.
HRESULT=80040E07, HRESULT=80040E07, SQLSrvr: SQLSTATE=01003, state=1, Severity=0, native=8153, line=1
SQLSrvr: SQLSTATE=22007, state=1, Severity=10, native=517, line=1[/pre]

В файловой базе это выглядит так:

Ошибка создания набора данных "ВремяРаботы"
по причине:
Ошибка при исполнении запроса набора данных
по причине:
Ошибка выполнения запроса
по причине:
Ошибка при выполнении операции над данными:
Ошибка SQL: Переполнение поля 'DATEDIFF'
по причине:
Ошибка SQL: Переполнение поля 'DATEDIFF'[/pre]

После долгих поисков проблемы, опытным путем было выяснено: Ошибка возникает в момент попытки в запросе отнять от даты несколько секунд. Решения два:

1. не использовать в запросе: ДОБАВИТЬКДАТЕ или РАЗНОСТЬДАТ

2. на базе SQL при создании указывать смещение дат 2000

Подскажите, кто встречался с подобной ошибкой! Что она означает? База файловая… УТ 11.0.7.8, доработанная, движок 8.2.15.294. {ОбщийМодуль.рамМодульСервер.Модуль}: Ошибка при вызове метода контекста (Выполнить)    Выборка = Запрос.Выполнить.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); по причине: Ошибка выполнения запроса по причине: Ошибка при выполнении операции над данными: Ошибка SQL: Переполнение поля по причине: Ошибка SQL: Переполнение поля

ну может кто нить что нить предположит для поддержания дискуссии? )))

может, действительно переполнилось поле? бывает.

а где то поле и чем отчерпывать идей нету?

числа итоговые большие получаются примерно?

юзай для всех числовых полей Выразить с четким указанием разрядености, да побольше. SQL в план запроса сам вставляет это, но разрядность выбирает сам исходя из своих соображений, возможно из-за этого

а кто ж его знает? запрос то не выполняется. ошибка начала вылетать после исправления соединения с таблицей свободных остатков с внутреннего на левое. до этого все в порядке было

попробуй ибо зло от ЕстьNULL, лни разрядность рушат +

поставил ВЫРАЗИТЬ КАК Число(15,2), не помогло ((( там же в базе если все просуммировать, меньше получится!

на все поля? покаж запрос

ты совесть то имей ЕСТЬNULL(СвободныеОстаткиОстатки.рамКПоступлениюОстаток, 0)* где ты приведение сделал ?

а тут СУММА(…..всё это дело) и выразить на всю её?

ёпрст! туплю, бывает. щазззз…

спасибо, помогло! плюс еще ошибка была, когда было внутреннее соединение, отбор на таблицу остатков работал и на документы. а сделал левое соединение, и поехали всю базу лопатить…

Тэги: 1С 8

Комментарии доступны только авторизированным пользователям

  1. Есть УТ 11.2 (11.2.3.143). Сформирован документ «Пересчет товаров». При загрузке данных из ТСД выскакивает ошибка:
    {РегистрСведений.ШтрихкодыНоменклатуры.МодульМенеджера(103)}: Ошибка при вызове метода контекста (Выполнить)
    Выборка = Запрос.Выполнить().Выбрать();
    по причине:
    Ошибка выполнения запроса
    по причине:
    Ошибка при выполнении операции над данными:
    Ошибка SQL: Переполнение поля
    по причине:
    Ошибка SQL: Переполнение поля
    Ошибка проявляется только при загрузке штрихкодов номенклатуры, у которой Единица хранения — метр. При загрузке штрихкодов номенклатуры с другой единицей хранения (штуки, килограммы и т.д.) все подгружается без проблем.
    При включении отладки пишет: Ошибка времени выполнения:{РегистрСведений.ШтрихкодыНоменклатуры.МодульМенеджера(103)}: Ошибка при вызове метода контекста (Выполнить) в модуле РегистрСведений.ШтрихкодыНоменклатуры.МодульМенеджера, строка 103

    Вложения:


  2. nickpugachev

    Offline

    nickpugachev
    Профессионал в 1С
    Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.398
    Симпатии:
    156
    Баллы:
    104

    в идеале еще нужен текст выполняемого запроса. как вариант — во временной таблице создается индекс с длиной ключа, превышающей 900 байт

  3. Я новичек в этом деле… Как текст выполняемого запроса получить?


  4. LordMaverick

    Offline

    LordMaverick
    Профессионал в 1С

    Регистрация:
    17 мар 2014
    Сообщения:
    4.005
    Симпатии:
    465
    Баллы:
    104

    в строке 103 «запускается» выполнение запроса, потому туда и ссылается ошибка

    сам запрос выше

    вот аналогичный код процедуры, но из релиза 11.1.10.185

    // Функция возращает соответствие с данными штрихкодов
    //
    // Параметры:
    //  КэшированныеЗначения - Структура - см.ОбработкаТабличнойЧастиКлиентСервер.ПолучитьСтруктуруКэшируемыеЗначения
    //  Штрихкоды - Массив - обрабатываемые штрихкоды
    //
    Процедура ПолучитьДанныеПоШтрихкодам(КэшированныеЗначения, Штрихкоды) Экспорт
    
        Запрос = Новый Запрос;
      
        Запрос.Текст =
        "ВЫБРАТЬ
        |    ШтрихкодыНоменклатуры.Штрихкод КАК Штрихкод,
        |    ШтрихкодыНоменклатуры.Номенклатура КАК Номенклатура,
        |    ШтрихкодыНоменклатуры.Номенклатура.ТипНоменклатуры КАК ТипНоменклатуры,
        |    ШтрихкодыНоменклатуры.Характеристика КАК Характеристика,
        |    ШтрихкодыНоменклатуры.Упаковка КАК Упаковка,
        |    ШтрихкодыНоменклатуры.Номенклатура.ПодакцизныйТовар КАК ПодакцизныйТовар,
        |    ЕСТЬNULL(ШтрихкодыНоменклатуры.Упаковка.Коэффициент, 1) КАК Коэффициент,
        |    ВЫБОР
        |        КОГДА ШтрихкодыНоменклатуры.Номенклатура.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.НеИспользовать)
        |            ТОГДА ЛОЖЬ
        |        ИНАЧЕ ИСТИНА
        |    КОНЕЦ КАК ХарактеристикиИспользуются,
        |    ШтрихкодыНоменклатуры.Номенклатура.ИспользоватьУпаковки КАК ИспользоватьУпаковки,
        |    МАКСИМУМ(УпаковкиНоменклатуры.Ссылка) КАК ЕдиничнаяУпаковка,
        |    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ УпаковкиНоменклатуры.Ссылка) КАК КоличествоЕдиничныхУпаковок,
        |    ЕСТЬNULL(ВариантыКомплектацииНоменклатуры.ВариантРасчетаЦеныНабора, ЗНАЧЕНИЕ(Перечисление.ВариантыРасчетаЦенНаборов.ПустаяСсылка)) КАК ВариантРасчетаЦеныНабора,
        |    ЕСТЬNULL(УпаковкиНоменклатуры.ЕдиницаИзмерения, ШтрихкодыНоменклатуры.Номенклатура.ЕдиницаИзмерения) КАК ЕдиницаИзмерения
        |ИЗ
        |    РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры
        |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.УпаковкиНоменклатуры КАК УпаковкиНоменклатуры
        |        ПО (УпаковкиНоменклатуры.Коэффициент = 1)
        |            И (НЕ УпаковкиНоменклатуры.ПометкаУдаления)
        |            И ШтрихкодыНоменклатуры.Номенклатура.ЕдиницаИзмерения = УпаковкиНоменклатуры.ЕдиницаИзмерения
        |            И (ШтрихкодыНоменклатуры.Номенклатура.НаборУпаковок <> ЗНАЧЕНИЕ(Справочник.НаборыУпаковок.ИндивидуальныйДляНоменклатуры)
        |                    И ШтрихкодыНоменклатуры.Номенклатура.НаборУпаковок = УпаковкиНоменклатуры.Владелец
        |                ИЛИ ШтрихкодыНоменклатуры.Номенклатура.НаборУпаковок = ЗНАЧЕНИЕ(Справочник.НаборыУпаковок.ИндивидуальныйДляНоменклатуры)
        |                    И ШтрихкодыНоменклатуры.Номенклатура = УпаковкиНоменклатуры.Владелец)
        |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВариантыКомплектацииНоменклатуры КАК ВариантыКомплектацииНоменклатуры
        |        ПО (ВариантыКомплектацииНоменклатуры.Владелец = ШтрихкодыНоменклатуры.Номенклатура)
        |            И (ВариантыКомплектацииНоменклатуры.Характеристика = ШтрихкодыНоменклатуры.Характеристика)
        |            И (ВариантыКомплектацииНоменклатуры.Основной)
        |ГДЕ
        |    ШтрихкодыНоменклатуры.Штрихкод В(&МассивШтрихкодов)
        |
        |СГРУППИРОВАТЬ ПО
        |    ШтрихкодыНоменклатуры.Штрихкод,
        |    ШтрихкодыНоменклатуры.Номенклатура,
        |    ШтрихкодыНоменклатуры.Характеристика,
        |    ШтрихкодыНоменклатуры.Упаковка,
        |    ЕСТЬNULL(ВариантыКомплектацииНоменклатуры.ВариантРасчетаЦеныНабора, ЗНАЧЕНИЕ(Перечисление.ВариантыРасчетаЦенНаборов.ПустаяСсылка)),
        |    ЕСТЬNULL(УпаковкиНоменклатуры.ЕдиницаИзмерения, ШтрихкодыНоменклатуры.Номенклатура.ЕдиницаИзмерения)";
      
        МассивШтрихкодов = Новый Массив;
      
        Для Каждого ТекШтрихкод Из Штрихкоды Цикл
            Штрихкод = ВРег(СокрЛП(ТекШтрихкод));
            МассивШтрихкодов.Добавить(Штрихкод);
          
            ИнформацияПоШтрихкодам = ОбработкаТабличнойЧастиКлиентСервер.СтуктураКешируемойИнформацииПоШтрихкоду();
            ИнформацияПоШтрихкодам.Штрихкод = Штрихкод;
            КэшированныеЗначения.Штрихкоды.Вставить(Штрихкод, ИнформацияПоШтрихкодам);
        КонецЦикла;
    
        Запрос.УстановитьПараметр("МассивШтрихкодов", МассивШтрихкодов);
    
        Выборка = Запрос.Выполнить().Выбрать();
        Пока Выборка.Следующий() Цикл
            ТекДанные = КэшированныеЗначения.Штрихкоды[ВРег(СокрЛП(Выборка.Штрихкод))];
            ТекДанные.Номенклатура               = Выборка.Номенклатура;
            ТекДанные.ТипНоменклатуры            = Выборка.ТипНоменклатуры;
            ТекДанные.Характеристика             = Выборка.Характеристика;
            ТекДанные.Упаковка                   = Выборка.Упаковка;
            ТекДанные.КоличествоУпаковок         = 1;
            ТекДанные.ПодакцизныйТовар           = Выборка.ПодакцизныйТовар;
            ТекДанные.ХарактеристикиИспользуются = Выборка.ХарактеристикиИспользуются;
            ТекДанные.Коэффициент                = Выборка.Коэффициент;
            ТекДанные.ЕдиницаИзмерения           = Выборка.ЕдиницаИзмерения;
            ТекДанные.ЕдиничнаяУпаковка          = ?(Выборка.КоличествоЕдиничныхУпаковок = 1 И Выборка.Коэффициент = 1,
                                                        Выборка.ЕдиничнаяУпаковка,
                                                        Неопределено);
            ТекДанные.НесколькоЕдиничныхУпаковок = ?(Выборка.КоличествоЕдиничныхУпаковок > 1, Истина, Ложь);
            ТекДанные.НеизвестныйШтрихкод        = Ложь;
            ТекДанные.ВариантРасчетаЦеныНабора   = Выборка.ВариантРасчетаЦеныНабора;
        КонецЦикла;
      
    КонецПроцедуры
    

    PS
    10 июня вышла версия 11.2.3.150

  5. Спасибо!!!! Обновил до 11.2.3.150 — все пошло!!!


1C-pro.ru - форум по 1С:Предприятию 7.7, 8.0, 8.1, 8.2, 8.3

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Ошибка sql переполнение поля datediff
  • Ошибка ssl подключения как отключить