|
v7: Количество на вспомогательном счете | ☑ | ||
---|---|---|---|---|
0
AliAksA
29.07.15
✎
14:15
|
Привет всем!
слепил нижеприведенный код - получился спор по поводу зависания количества на вспомогательном счете. СчетУчета = 41.4 - Товары на складе общепита Пожалуйста, выразите ваше мнение по данной ситуации, заранее благодарю. Недостача = ПолучитьПустоеЗначение("Справочник.ПрочиеДоходыИРасходы"); ПрочиеДиР = СоздатьОбъект("Справочник.ПрочиеДоходыИРасходы"); ПрочиеДиР.НайтиПоКоду("000519",0); Если ПрочиеДиР.Выбран() = 1 Тогда Недостача = ПрочиеДиР.ТекущийЭлемент(); КонецЕсли; Излишек = ПолучитьПустоеЗначение("Справочник.ПрочиеДоходыИРасходы"); ПрочиеДиР = СоздатьОбъект("Справочник.ПрочиеДоходыИРасходы"); ПрочиеДиР.НайтиПоКоду("000520",0); Если ПрочиеДиР.Выбран() = 1 Тогда Излишек = ПрочиеДиР.ТекущийЭлемент(); КонецЕсли; ВыбратьСтроки(); Пока ПолучитьСтроку() = 1 Цикл СуммаОтклона = ОтклКолво + ОтклСумма; Если СуммаОтклона = 0 Тогда Продолжить; ИначеЕсли СуммаОтклона > 0 Тогда Операция.НоваяПроводка(); Операция.Дебет.Счет = СчетПоКоду("90.13"); Операция.Дебет.Субконто(1,Недостача); Операция.Кредит.Счет = СчетУчета; Операция.Кредит.Субконто(1,Материал); Операция.Кредит.Субконто(2,МестоХранения); Операция.Сумма = ОтклСумма; Операция.СодержаниеПроводки = "Инвентаризация товаров, тары общепита"; Операция.НоваяПроводка(); Операция.Дебет.Счет = СчетПоКоду("00"); Операция.Кредит.Счет = СчетУчета; Операция.Кредит.Субконто(1,Материал); Операция.Кредит.Субконто(2,МестоХранения); Операция.Количество = ОтклКолво; Операция.СодержаниеПроводки = "Инвентаризация товаров, тары общепита"; ИначеЕсли СуммаОтклона < 0 Тогда Операция.НоваяПроводка(); Операция.Кредит.Счет = СчетПоКоду("90.12"); Операция.Кредит.Субконто(1,Излишек); Операция.Дебет.Счет = СчетУчета; Операция.Дебет.Субконто(1,Материал); Операция.Дебет.Субконто(2,МестоХранения); Операция.Сумма = -ОтклСумма; Операция.СодержаниеПроводки = "Инвентаризация товаров, тары общепита"; Операция.НоваяПроводка(); Операция.Кредит.Счет = СчетПоКоду("00"); Операция.Кредит.Субконто(1,Излишек); Операция.Дебет.Счет = СчетУчета; Операция.Дебет.Субконто(1,Материал); Операция.Дебет.Субконто(2,МестоХранения); Операция.Количество = -ОтклКолво; Операция.СодержаниеПроводки = "Инвентаризация товаров, тары общепита"; КонецЕсли; Операция.НоваяПроводка(); Операция.Кредит.Счет = СчетПоКоду("ПАР"); Операция.Кредит.Субконто(1,МестоХранения); Операция.Кредит.Субконто(2,Материал); Операция.Кредит.Субконто(3,Партия); Операция.Сумма = ОтклСумма; Операция.Количество = ОтклКолво; Операция.СодержаниеПроводки = "Инвентаризация товаров, тары общепита"; КонецЦикла; Операция.Записать(); |
|||
1
Кукурикин
29.07.15
✎
14:40
|
Минусы то зачем?
Допустим Д00 К41.1 +200 Д41.1 К00 -200 Конченое сальдо по "00" будет: 200-(-200) = 400. Не? |
|||
2
AliAksA
29.07.15
✎
14:45
|
(1) Нет, смотри внимательно код: одна вычисляемая колонка отклонений обрабатывается: недостача с плюсом, излишек - с минусом.
|
|||
3
HawkEye
29.07.15
✎
20:13
|
(1) на кой черт проводка 00 - СчетУчета (СчетУчета - 00) с количеством?
и вообще 90 по кредиту в корреспонденции с 41 - колхоз колхозный какой-то... |
|||
4
HawkEye
29.07.15
✎
20:16
|
+3 не (1) конечно,а (0) )))
|
|||
5
HawkEye
29.07.15
✎
20:22
|
(0) ну и это
Недостача = ПолучитьПустоеЗначение("Справочник.ПрочиеДоходыИРасходы"); ПрочиеДиР = СоздатьОбъект("Справочник.ПрочиеДоходыИРасходы"); ПрочиеДиР.НайтиПоКоду("000519",0); Если ПрочиеДиР.Выбран() = 1 Тогда Недостача = ПрочиеДиР.ТекущийЭлемент(); КонецЕсли; конечно пишется по другому.. как-то так: Недостача= СоздатьОбъект("Справочник.ПрочиеДоходыИРасходы"); Недостача.НайтиПоКоду("000519",0); только мне кажется есть элемент не найдется - надо что-то делать, а не плодить проводки с пустыми значениями. |
|||
6
Aleksey
29.07.15
✎
20:26
|
(5) Да только тебе. Кому надо зайдет поправить
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |