Имя: Пароль:
1C
1С v8
Вопрос по остаткам товаров
0 alex-79
 
28.08.12
18:47
Привет всем!

Конфигурация "Управление торговлей", редакция 10.3 (10.3.18.3)

При формировании ведомости по товарам за сегодняшний день на складе есть товар в наличии.
При вводе нового документа "Реализация товаров и услуг" нажимаю на кнопку "Подбор" и в подборе остаток по складу отрицательный
Тестирование/исправление базы запускал, но результат тот же.

http://s003.radikal.ru/i203/1208/73/02904ce90f1e.jpg

Как можно исправить?
1 del123
 
28.08.12
18:48
у тебя остатки разные там и там. Смотри какие регистры за какие остатки отвечают.
2 Aleksey
 
28.08.12
18:49
Кривые резервы?
3 shuhard
 
28.08.12
18:55
(2) или товар не от той организации продали
4 alex-79
 
28.08.12
21:14
Вот запрос который собирает остатки.
Я не пойму что в нём не так.


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

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

ЛЕВОЕ СОЕДИНЕНИЕ
(ВЫБРАТЬ ТЧ.Номенклатура,
ТЧ.Склад,
ТЧ.ХарактеристикаНоменклатуры
//ПОЛЕ_ТЧ_Серия
//количество, списываемое за счет резерва, не может превышать количество указанное в документе
,ВЫБОР КОГДА Сумма(ТЧ.ДокументКоличество)<Сумма(ВремРезервы.КоличествоОстаток) ТОГДА
   Сумма(ТЧ.ДокументКоличество)
ИНАЧЕ Сумма(ВремРезервы.КоличествоОстаток)
КОНЕЦ КАК КоличествоОстаток
ИЗ
 //сгруппированная табличная часть документа с отбором строк которые списываются из резерва
 (ВЫБРАТЬ
  Номенклатура,
  Склад,
  ЗаказПокупателя,
  ХарактеристикаНоменклатуры
  //ПОЛЕ_Серия
  ,СУММА(ВЫРАЗИТЬ(Количество * Коэффициент /Номенклатура.ЕдиницаХраненияОстатков.Коэффициент КАК Число(15,3))) КАК ДокументКоличество
 ИЗ
 
Документ.РеализацияТоваровУслуг.Товары
КАК ВремДок
 ГДЕ  ВремДок.Ссылка = &ДокументСсылка
  И ВремДок.ЗаказПокупателя <> &ПустойЗаказПокупателя и ВремДок.СпособСписанияОстаткаТоваров = &ИзРезерва
 СГРУППИРОВАТЬ ПО
  Номенклатура,
  Склад,
  ЗаказПокупателя,
  ХарактеристикаНоменклатуры
  //ПОЛЕ_Серия
 ) КАК ТЧ
ЛЕВОЕ СОЕДИНЕНИЕ
 РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(, Склад в (&СписокСкладов) И
  Номенклатура В (
ВЫБРАТЬ РАЗЛИЧНЫЕ
Номенклатура
ИЗ
Документ.РеализацияТоваровУслуг.Товары
ГДЕ  Ссылка = &ДокументСсылка
)
  ) КАК ВремРезервы
ПО ТЧ.Номенклатура = ВремРезервы.Номенклатура
 И ТЧ.Склад = ВремРезервы.Склад
 И ТЧ.ЗаказПокупателя = ВремРезервы.ДокументРезерва
 И ТЧ.ХарактеристикаНоменклатуры = ВремРезервы.ХарактеристикаНоменклатуры
 //СОЕДИНЕНИЕ_Серия_ВремРезервы
СГРУППИРОВАТЬ ПО
 ТЧ.Номенклатура,
 ТЧ.Склад,
 ТЧ.ХарактеристикаНоменклатуры
 //ПОЛЕ_ТЧ_Серия
) КАК РезервыПоДокументу
ПО
Док.Номенклатура                 = РезервыПоДокументу.Номенклатура
И Док.Склад = РезервыПоДокументу.Склад
И Док.ЗаказПокупателя <> &ПустойЗаказПокупателя И Док.СпособСписанияОстаткаТоваров = &ИзРезерва
И Док.ХарактеристикаНоменклатуры = РезервыПоДокументу.ХарактеристикаНоменклатуры
//СОЕДИНЕНИЕ_Серия_РезервыПоДокументу
//ЗАПРОС_РезервыПоДокументуБезСерии
ЛЕВОЕ СОЕДИНЕНИЕ
РегистрНакопления.ТоварыКПередачеСоСкладов.Остатки(, Склад в (&СписокСкладов) И
 Номенклатура В (
ВЫБРАТЬ РАЗЛИЧНЫЕ
Номенклатура
ИЗ
Документ.РеализацияТоваровУслуг.Товары
ГДЕ  Ссылка = &ДокументСсылка
)
 //УСЛОВИЕ_Качество
) КАК ТоварыКПередаче
ПО
Док.Номенклатура                = ТоварыКПередаче.Номенклатура
И Док.ХарактеристикаНоменклатуры  = ТоварыКПередаче.ХарактеристикаНоменклатуры
И Док.СерияНоменклатуры    = ТоварыКПередаче.СерияНоменклатуры
И Док.Склад = ТоварыКПередаче.Склад
И Док.Качество = ТоварыКПередаче.Качество
ЛЕВОЕ СОЕДИНЕНИЕ
РегистрНакопления.ТоварыКПередачеСоСкладов.Остатки(, Склад в (&СписокСкладов) И
 Номенклатура В (
ВЫБРАТЬ РАЗЛИЧНЫЕ
Номенклатура
ИЗ
Документ.РеализацияТоваровУслуг.Товары
ГДЕ  Ссылка = &ДокументСсылка
)
 //УСЛОВИЕ_Качество
) КАК ТоварыКПередачеБезСерии
ПО
Док.Номенклатура                = ТоварыКПередачеБезСерии.Номенклатура
И Док.ХарактеристикаНоменклатуры  = ТоварыКПередачеБезСерии.ХарактеристикаНоменклатуры
И Док.Склад = ТоварыКПередачеБезСерии.Склад
И Док.Качество = ТоварыКПередачеБезСерии.Качество
ГДЕ
Док.Ссылка  =  &ДокументСсылка
И Не Док.Номенклатура.Комплект
И Не Док.Номенклатура.Услуга
И Док.Склад.ВидСклада<>&НТТ И Док.Склад.ВидСклада<>&Розничный
СГРУППИРОВАТЬ ПО
Док.Номенклатура,
  Док.ХарактеристикаНоменклатуры,
  Док.СерияНоменклатуры,
  Док.Качество,        
   Док.Склад
ДЛЯ ИЗМЕНЕНИЯ РегистрНакопления.ТоварыНаСкладах.Остатки // Блокирующие чтение таблицы остатков регистра для разрешения коллизий многопользовательской работы
ИТОГИ СУММА (ДокументКоличество), МАКСИМУМ(ОстатокБезСерииКоличество), МАКСИМУМ(РезервыКоличество),
        МАКСИМУМ(КПередачеКоличество), МАКСИМУМ(РезервыПоДокументуКоличество), Максимум(РезервыПоСерииКоличество),
 Максимум(КПередачеБезСерииКоличество), МАКСИМУМ(РезервыПоДокументуБезСерииКоличество),
 Максимум(КПолучению), Максимум(КПередачеПоДокументуКоличество), Максимум(КПередачеПоДокументуБезСерииКоличество), Максимум(КПолучениюПоДокументуКоличество)
ПО Номенклатура,
  ХарактеристикаНоменклатуры,
   Склад
,Качество
5 nazi
 
28.08.12
21:17
не в запрос лезь а смотри остатки:
6 nazi
 
28.08.12
21:17
по организации
резервы
7 shuhard
 
28.08.12
21:25
(4)[Я не пойму что в нём не так. ]
тебе же русским языком ответили открой отчет по свободным остаткам или доступность товаров на складах
8 ProProg
 
28.08.12
21:26
сто пудово единица измерения левая. не этого товара. в доке где то пробита.
9 FIXXXL
 
28.08.12
21:39
(8) ставлю на:
кривые резервы, несколько организаций и отключенную галку контроля остатков по организациям
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс