|
|||
| Santa4527
26.11.13 — 15:33 |
В Функция РешитьСЛУ() модуле объекта документа Закрытие Месяца выдает ошибку при «РасчетФактическойСебестоимости» В чем может быть проблема? Решение наверняка СЛУ наверняка принимает очень очень большое значение. В чем такое может быть? И куда смотреть? |
||
| shuhard
1 — 26.11.13 — 15:35 |
(0) смотри в отрицательные остатки |
||
| Santa4527
2 — 26.11.13 — 15:48 |
(1)Там в результате запроса получается СуммаКвадратовОтклонений и эта переменная принимает не реальное значение. Больше 31 432 695 382 183 526 177 893 294,037480856. Это может быть из за отрицательный остатков в |
||
| х86
3 — 26.11.13 — 15:50 |
(2)косяки в настройках |
||
| Santa4527
4 — 26.11.13 — 15:54 |
(3) а что за косяк? |
||
| х86
5 — 26.11.13 — 15:57 |
(4)предположу что ключи не правильно настроены, а так смотреть надо |
||
| Maxus43
6 — 26.11.13 — 15:59 |
у нас такое было из-за ошибок округления, на старой конфе УПП 1.2, в 1.3 это починили, а потом вобще переписали алгоритмы |
||
| Santa4527
7 — 26.11.13 — 16:09 |
Короче жесть. |
||
| Maxus43
8 — 26.11.13 — 16:17 |
(7) можно конечно найти, но надо ковырять глубоко. Например для начала узнать номер итерации, в которой гаснет, туда воткнуть запрос для разузловки, чтоб выйти на кокнретную номенклатуру и т.д. Это после всяких плясок с отчетами, если уж совсем никак |
||
| х86
9 — 26.11.13 — 16:23 |
(7)посмотри суммы по остаткам |
||
| Santa4527
10 — 26.11.13 — 16:27 |
(8) Номер итерации 47 |
||
| Maxus43
11 — 26.11.13 — 16:32 |
(10) если там точку останова поставить — можно из временных таблиц вытащить данные. Сначала проверь простые пути, отчеты, анализ данных |
||
| Santa4527
12 — 26.11.13 — 18:20 |
Запрос.Текст = Этот запрос выдает ошибку. Я уже не знаю куда смотреть. |
||
| Santa4527
13 — 26.11.13 — 18:20 |
приблизительно после 47 итерации |
||
| Михаил Козлов
14 — 26.11.13 — 19:23 |
Попробуйте обратиться в 1С. Может матрица прямых затрат плохо обусловлена, может сам метод неустойчив. Мне кажется, 1С должна быть заинтересована разобраться. |
||
|
saaken 15 — 26.11.13 — 21:50 |
(0) отмени проведение половины документов и проверь еще раз |
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку «Обновить» в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Добрый день. Помогите пожалуйста устранить ошибку. В УПП редакция 1.3 (1.3.6.1) при проведении «Отчет производства за смену» 1с выдаёт ошибку:
Ошибка при выполнении обработчика — ‘ОбработкаПроведения’
по причине:
{ОбщийМодуль.УправлениеПроизводствомДвиженияПоРегистрам.Модуль(3672)}: Ошибка при вызове метода контекста (Выполнить)
по причине:
Ошибка выполнения запроса
по причине:
Ошибка при выполнении операции над данными:
Ошибка SQL: Переполнение поля
по причине:
Ошибка SQL: Переполнение поля
Предполагаю что ошибка возникает из за следующих строк запроса:
Док.Количество *
ТаблицаСтоимостиЗатратУУ.СтоимостьОстаток /
ТаблицаСтоимостиЗатратУУ.КоличествоОстаток
Полный запрос имеет вид:
ВЫБРАТЬ
ТаблицаАналитики.Подразделение,
ТаблицаАналитики.ПодразделениеОрганизации,
ТаблицаАналитики.Затрата,
ТаблицаАналитики.ХарактеристикаЗатраты,
ТаблицаАналитики.СерияЗатраты,
ТаблицаАналитики.СтатьяЗатрат,
ТаблицаАналитики.НоменклатурнаяГруппа,
ТаблицаАналитики.Заказ КАК Заказ,
ТаблицаАналитики.СчетУчета,
//ДляРеглУчета СУММА(
//ДляРеглУчета ВЫБОР КОГДА ТаблицаАналитики.СчетУчетаНУ <> Неопределено ТОГДА
//ДляРеглУчета УчетЗатрат.СтоимостьНУОстаток
//ДляРеглУчета ИНАЧЕ
//ДляРеглУчета 0
//ДляРеглУчета КОНЕЦ
//ДляРеглУчета ) КАК СтоимостьНУОстаток,
//ДляРеглУчета СУММА(
//ДляРеглУчета ВЫБОР КОГДА ТаблицаАналитики.СчетУчетаНУ <> Неопределено ТОГДА
//ДляРеглУчета УчетЗатрат.КоличествоНУОстаток
//ДляРеглУчета ИНАЧЕ
//ДляРеглУчета 0
//ДляРеглУчета КОНЕЦ
//ДляРеглУчета ) КАК КоличествоНУОстаток,
СУММА(УчетЗатрат.СтоимостьОстаток) КАК СтоимостьОстаток,
СУММА(УчетЗатрат.КоличествоОстаток) КАК КоличествоОстаток
ПОМЕСТИТЬ ТаблицаСтоимостиЗатрат
ИЗ
РегистрНакопления.УчетЗатрат.Остатки(&КонДата,
(
АналитикаВидаУчета,
АналитикаУчетаЗатрат,
АналитикаРаспределенияЗатрат,
АналитикаУчетаПартий
) В (
ВЫБРАТЬ
АналитикаВидаУчета,
//ДляРеглУчета АналитикаВидаУчетаРегл,
АналитикаУчетаЗатрат,
АналитикаРаспределенияЗатрат,
АналитикаУчетаПартий
ИЗ
ТаблицаАналитики
)
) КАК УчетЗатрат
ЛЕВОЕ СОЕДИНЕНИЕ
ТаблицаАналитики КАК ТаблицаАналитики
ПО
УчетЗатрат.АналитикаВидаУчета = ТаблицаАналитики.АналитикаВидаУчета
//ДляРеглУчета УчетЗатрат.АналитикаВидаУчета = ТаблицаАналитики.АналитикаВидаУчетаРегл
И УчетЗатрат.АналитикаУчетаЗатрат = ТаблицаАналитики.АналитикаУчетаЗатрат
И УчетЗатрат.АналитикаРаспределенияЗатрат = ТаблицаАналитики.АналитикаРаспределенияЗатрат
И УчетЗатрат.АналитикаУчетаПартий = ТаблицаАналитики.АналитикаУчетаПартий
СГРУППИРОВАТЬ ПО
ТаблицаАналитики.Подразделение,
ТаблицаАналитики.ПодразделениеОрганизации,
ТаблицаАналитики.Затрата,
ТаблицаАналитики.ХарактеристикаЗатраты,
ТаблицаАналитики.СерияЗатраты,
ТаблицаАналитики.СтатьяЗатрат,
ТаблицаАналитики.НоменклатурнаяГруппа,
ТаблицаАналитики.Заказ,
ТаблицаАналитики.СчетУчета
;
////////////////////////////////////////////////////////////////////////////
//ТекстТаблицаСтоимостиРегл
ВЫБРАТЬ
Док.*,
Док.СтатьяЗатрат.ВидЗатрат КАК ВидЗатрат,
Док.СтатьяЗатрат.СтатусМатериальныхЗатрат КАК СтатусМатериальныхЗатрат,
Неопределено КАК СпособРаспределенияЗатрат,
Док.Номенклатура КАК Затрата,
Док.ХарактеристикаНоменклатуры КАК ХарактеристикаЗатраты,
Док.СерияНоменклатуры КАК СерияЗатраты,
ВЫБОР КОГДА Док.КодОперации <> Неопределено ТОГДА
Док.КодОперации
ИНАЧЕ
&ПрямыеЗатраты
КОНЕЦ КАК КодОперации,
ВЫБОР КОГДА Док.Заказ ССЫЛКА Документ.ЗаказПокупателя
И Док.Заказ.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийЗаказПокупателя.Переработка)
ТОГДА
ЗНАЧЕНИЕ(Перечисление.ВариантыВыпускаПродукции.ПродукцияИзДавальческогоСырья)
ИНАЧЕ
Неопределено
КОНЕЦ КАК ВариантВыпускаПродукции,
&Ссылка КАК ДокументВыпуска,
ВЫБОР КОГДА Док.ТипСтоимости = ЗНАЧЕНИЕ(Перечисление.ВидыНормативнойСтоимостиПроизводства.Фиксированная) ТОГДА
Док.Сумма
КОГДА ТаблицаСтоимостиЗатратУУ.КоличествоОстаток = 0
ИЛИ ТаблицаСтоимостиЗатратУУ.КоличествоОстаток ЕСТЬ NULL ТОГДА
0
ИНАЧЕ
Док.Количество *
ТаблицаСтоимостиЗатратУУ.СтоимостьОстаток /
ТаблицаСтоимостиЗатратУУ.КоличествоОстаток
КОНЕЦ КАК СуммаУУ,
//ПрямыеЗатратыБУ ВЫБОР КОГДА Док.ТипСтоимости = ЗНАЧЕНИЕ(Перечисление.ВидыНормативнойСтоимостиПроизводства.Фиксированная) ТОГДА
//ПрямыеЗатратыБУ Док.СуммаРегл
//ПрямыеЗатратыБУ КОГДА ТаблицаСтоимостиЗатратРегл.КоличествоОстаток = 0
//ПрямыеЗатратыБУ ИЛИ ТаблицаСтоимостиЗатратРегл.КоличествоОстаток ЕСТЬ NULL ТОГДА
//ПрямыеЗатратыБУ 0
//ПрямыеЗатратыБУ ИНАЧЕ
//ПрямыеЗатратыБУ Док.Количество *
//ПрямыеЗатратыБУ ТаблицаСтоимостиЗатратРегл.СтоимостьОстаток /
//ПрямыеЗатратыБУ ТаблицаСтоимостиЗатратРегл.КоличествоОстаток
//ПрямыеЗатратыБУ КОНЕЦ КАК СуммаБУ,
//ПрямыеЗатратыБУ ВЫБОР КОГДА Док.ТипСтоимости = ЗНАЧЕНИЕ(Перечисление.ВидыНормативнойСтоимостиПроизводства.Фиксированная) ТОГДА
//ПрямыеЗатратыБУ Док.СуммаНал
//ПрямыеЗатратыБУ КОГДА ТаблицаСтоимостиЗатратРегл.КоличествоНУОстаток = 0
//ПрямыеЗатратыБУ ИЛИ ТаблицаСтоимостиЗатратРегл.КоличествоНУОстаток ЕСТЬ NULL ТОГДА
//ПрямыеЗатратыБУ 0
//ПрямыеЗатратыБУ ИНАЧЕ
//ПрямыеЗатратыБУ Док.Количество *
//ПрямыеЗатратыБУ ТаблицаСтоимостиЗатратРегл.СтоимостьНУОстаток /
//ПрямыеЗатратыБУ ТаблицаСтоимостиЗатратРегл.КоличествоНУОстаток
//ПрямыеЗатратыБУ КОНЕЦ КАК СуммаНУ,
//ФиксСтоимость Док.Сумма КАК СуммаУУ,
//ФиксСтоимость Док.СуммаРегл КАК СуммаБУ,
//ФиксСтоимость Док.СуммаНал КАК СуммаНУ,
//ПоНулевойУУ 0 КАК СуммаУУ,
0 КАК СуммаБУ,
0 КАК СуммаНУ,
Док.Количество
ИЗ
ТаблицаДокумента КАК Док
ЛЕВОЕ СОЕДИНЕНИЕ
ТаблицаСтоимостиЗатрат КАК ТаблицаСтоимостиЗатратУУ
ПО
Док.Номенклатура = ТаблицаСтоимостиЗатратУУ.Затрата
И Док.ХарактеристикаНоменклатуры = ТаблицаСтоимостиЗатратУУ.ХарактеристикаЗатраты
И Док.СерияНоменклатуры = ТаблицаСтоимостиЗатратУУ.СерияЗатраты
И Док.СтатьяЗатрат = ТаблицаСтоимостиЗатратУУ.СтатьяЗатрат
И Док.НоменклатурнаяГруппаНЗП = ТаблицаСтоимостиЗатратУУ.НоменклатурнаяГруппа
И Док.ЗаказНЗП = ТаблицаСтоимостиЗатратУУ.Заказ
И Док.ПодразделениеНЗП = ТаблицаСтоимостиЗатратУУ.Подразделение
//ПрямыеЗатратыБУ ЛЕВОЕ СОЕДИНЕНИЕ
//ПрямыеЗатратыБУ ТаблицаСтоимостиЗатратРегл КАК ТаблицаСтоимостиЗатратРегл
//ПрямыеЗатратыБУ ПО
//ПрямыеЗатратыБУ Док.Номенклатура = ТаблицаСтоимостиЗатратРегл.Затрата
//ПрямыеЗатратыБУ И Док.ХарактеристикаНоменклатуры = ТаблицаСтоимостиЗатратРегл.ХарактеристикаЗатраты
//ПрямыеЗатратыБУ И Док.СерияНоменклатуры = ТаблицаСтоимостиЗатратРегл.СерияЗатраты
//ПрямыеЗатратыБУ И Док.СтатьяЗатрат = ТаблицаСтоимостиЗатратРегл.СтатьяЗатрат
//ПрямыеЗатратыБУ И Док.НоменклатурнаяГруппаНЗП = ТаблицаСтоимостиЗатратРегл.НоменклатурнаяГруппа
//ПрямыеЗатратыБУ И Док.ЗаказНЗПРегл = ТаблицаСтоимостиЗатратРегл.ЗаказРегл
//ПрямыеЗатратыБУ И (Док.СчетЗатрат = ТаблицаСтоимостиЗатратРегл.СчетУчета
//ПрямыеЗатратыБУ ИЛИ ТаблицаСтоимостиЗатратРегл.СчетУчета = Неопределено)
//ПрямыеЗатратыБУ И Док.ПодразделениеОрганизацииНЗП = ТаблицаСтоимостиЗатратРегл.ПодразделениеОрганизации
УПОРЯДОЧИТЬ ПО
Док.НомерСтроки
Подскажите, кто встречался с подобной ошибкой! Что она означает? База файловая… УТ 11.0.7.8, доработанная, движок 8.2.15.294. {ОбщийМодуль.рамМодульСервер.Модуль}: Ошибка при вызове метода контекста (Выполнить) Выборка = Запрос.Выполнить.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); по причине: Ошибка выполнения запроса по причине: Ошибка при выполнении операции над данными: Ошибка SQL: Переполнение поля по причине: Ошибка SQL: Переполнение поля
ну может кто нить что нить предположит для поддержания дискуссии? )))
может, действительно переполнилось поле? бывает.
а где то поле и чем отчерпывать идей нету?
числа итоговые большие получаются примерно?
юзай для всех числовых полей Выразить с четким указанием разрядености, да побольше. SQL в план запроса сам вставляет это, но разрядность выбирает сам исходя из своих соображений, возможно из-за этого
а кто ж его знает? запрос то не выполняется. ошибка начала вылетать после исправления соединения с таблицей свободных остатков с внутреннего на левое. до этого все в порядке было
попробуй ибо зло от ЕстьNULL, лни разрядность рушат +
поставил ВЫРАЗИТЬ КАК Число(15,2), не помогло ((( там же в базе если все просуммировать, меньше получится!
на все поля? покаж запрос
ты совесть то имей ЕСТЬNULL(СвободныеОстаткиОстатки.рамКПоступлениюОстаток, 0)* где ты приведение сделал ?
а тут СУММА(…..всё это дело) и выразить на всю её?
ёпрст! туплю, бывает. щазззз…
спасибо, помогло! плюс еще ошибка была, когда было внутреннее соединение, отбор на таблицу остатков работал и на документы. а сделал левое соединение, и поехали всю базу лопатить…
Тэги: 1С 8
Комментарии доступны только авторизированным пользователям
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