Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 13:40

Странности с остатками

Автор Ромашев Алексей, 08 дек 2016, 13:00

0 Пользователей и 1 гость просматривают эту тему.

Ромашев Алексей

Добрый день! Такая ситуация. Стоит конфигурация УТП 8.2. Имеется одна организации , один склад. При проведении накладной пишет что на остатке организации мало товара. В форме подбора остаток светится синим цветом, что говорит о том что остаток организации меньше остатки на складе. Начал копать в эту сторону. Построил отчет ведомость по товарам на складах и ведомость по товарам организации. Остатки практически одинаковые, в пару ед. товар отличаются. А ошибка при проведении расходной говорит что на остатке организации к примеру 30 шт. товара, хотя отчет говорит что 2500 шт(у организации) и к примеру 2503 шт.(на складе). Не могу понять как так происходит.... И при формировании ошибки и при формировании отчета используется регистр накоплений товары организации. Сижу над проблемой уже второй день. Вообще ничего понять не могу.

Kironten

Точно дата документа равна дате отчета?

Ромашев Алексей

Цитата: Kironten от 08 дек 2016, 13:06
Точно дата документа равна дате отчета?
Да, провожу расходную сегодняшним днем. И отчет на сег. день. Плюс сейчас через консоль отчетов сделал выборку по нужной мне позиции из регистра Товары Организаций Остатки, выдало не ту цифру что в ошибке , а ту которая в стандартном отчете...
Добавлено: 08 дек 2016, 13:13


Чтобы было понятней...
Имеется товар под названием "сапог резиновый"

  • Отчет ведомость по товарам организаций говорит что этого товара 2500 шт.
  • Отчет ведомость по товарам на складах говорит что этого товара 2504 шт.
  • Мой запрос к регистру накоплений товары организаций говорит что товара 2500 шт.
  • А при проведении накладной вылетает ошибка в которой указано что товара на остатке организации 32 шт.

Kironten

Посмотрите, что у вас в резервах. Может там.
В КА 2.0 это отчет ОстаткиИДоступностьТоваров.

Ромашев Алексей

Цитата: Kironten от 08 дек 2016, 13:18
Посмотрите, что у вас в резервах. Может там.
В КА 2.0 это отчет ОстаткиИДоступностьТоваров.
Если бы товар был в резерве, то мой отчет выдавал бы цифру совпадающую с ошибкой.


Вот код в котором формируется ошибка:


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

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

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

КоличествоПоОрганизации        = ?(Выборка.ОстатокКоличество = NULL, 0, Выборка.ОстатокКоличество);

Если КоличествоПоОрганизации < Выборка.ДокументКоличество Тогда

СтрокаСообщения = "Остатка по организации " + ДокументОбъект.Организация + " товара " + 
УправлениеЗапасами.ПредставлениеНоменклатуры(СокрЛП(Выборка.Номенклатура),
                          ?(ЕстьХарактеристика, СокрЛП(Выборка.ХарактеристикаНоменклатуры), ""),
                          ?(ЕстьСерия, СокрЛП(Выборка.СерияНоменклатуры),"")) +
                          ?(НЕ ЗначениеЗаполнено(Выборка.Комиссионер), "", " у комиссионера " + Выборка.Комиссионер) +
" недостаточно.";


Kironten

Я то думал типовой механизм. Ну а поскольку это вы писали, то тут только отладка.
Структура регистра неизвестна, текст запроса наборный. Хрена лысего чего разберешь.
Ставьте точку останова на запрос.выполнить(). Залезайте в сформированный на этот момент текст запроса, скопируйте его в консоль и изучайте, где вы накосячили с соединениями.

Ромашев Алексей

Цитата: Kironten от 08 дек 2016, 14:08
Я то думал типовой механизм. Ну а поскольку это вы писали, то тут только отладка.
Структура регистра неизвестна, текст запроса наборный. Хрена лысего чего разберешь.
Ставьте точку останова на запрос.выполнить(). Залезайте в сформированный на этот момент текст запроса, скопируйте его в консоль и изучайте, где вы накосячили с соединениями.
Это типовый механизм. Короче я нашел в чем причина. Часть товара не легла на 281 счет... Осталось понять почему.

Теги: остатки  УТП. 

Похожие темы (5)

Рейтинг@Mail.ru

Поиск