![]() |
![]() |
![]() |
|
Регистр ОстаткиНоменклатуры | ☑ | ||
---|---|---|---|---|
0
Юзер123
naïve
14.03.14
✎
14:13
|
Всем доброго времени суток.
Подскажите в чем ошибка. Есть док ПриходНоменклатуры и Реализация. 1 документ приходует товар в определенном кол-ве по цене из документа второй списывает партионно. У меня получается ерунда. когда я делаю первый приход - все ок. есть Остаток например 10. я делаю реализацию 2-х позиций. тож все верно показано что остаток 8. если я делаю списание еще 4 позиций, то пишет что нет остатка. в отлодчике Остаток на момент проведения второго документа реализации = 2. т.е. количество которое списывалось в первый раз. я понимаю что косяк бредовый) но уже залип. Вот код помогите плиз. Функция ПровестиОстаткиТоваров(Конт) Экспорт Статус=0; ВидДок=Конт.Вид(); // Поверяем приход или расход Если (ВидДок="РасходнаяНакладная") Тогда Операция="Расход"; Иначе Операция="Приход"; КонецЕсли; // Цикл по Таб части документа Конт.ВыбратьСтроки(); Пока Конт.ПолучитьСтроку()=1 Цикл Если Конт.Товар.Выбран()=0 Тогда Сообщить("Не выбран товар в документе, строка "+Конт.НомерСтроки); Статус=1; Продолжить; КонецЕсли; Товар=Конт.Товар; Конт.Регистр.ОстаткиТМЦ.ПривязыватьСтроку(Конт.НомерСтроки); Товар.ИспользоватьДату(Конт.ДатаДок); Конт.Регистр.ОстаткиТМЦ.Товар=Товар; Колво=Конт.Количество; Цена = Конт.Цена; Остаток=Регистр.ОстаткиТМЦ.Остаток(Товар,"ОстатокТМЦ"); Если Остаток<0 Тогда Сообщить("Отрицательный остаток товара"+Товар.Наименование+""); Статус=1; Продолжить; КонецЕсли; Если Операция="Расход" Тогда Если Остаток<Колво Тогда Сообщить("На складе меньше чем хотим списать!!!"); КонецЕсли; КонецЕсли; Конт.Регистр.ОстаткиТМЦ.Количество=Колво; Конт.Регистр.ОстаткиТМЦ.цена=Цена; Если Операция="Расход" Тогда Конт.Регистр.ОстаткиТМЦ.ОстатокТМЦ=Остаток -Колво ; иначе Конт.Регистр.ОстаткиТМЦ.ОстатокТМЦ=Остаток+Колво; КонецЕсли; Остаток=Регистр.ОстаткиТМЦ.Остаток(Товар,"ОстатокТМЦ"); Если Операция="Расход" Тогда Конт.Регистр.ОстаткиТМЦ.ДвижениеРасходВыполнить(); Иначе Конт.Регистр.ОстаткиТМЦ.ДвижениеПриходВыполнить(); КонецЕсли; КонецЦикла; Возврат Статус; КонецФункции |
|||
1
vicof
14.03.14
✎
14:23
|
(0) М..М..Может, посмотреть, как в типовых сделано?
|
|||
2
Юзер123
naïve
14.03.14
✎
14:25
|
Нет типовой)
|
|||
3
Юзер123
naïve
14.03.14
✎
14:41
|
fg
|
|||
4
Юзер123
naïve
14.03.14
✎
15:21
|
не актуально. Разобрался.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |