|
v7: Модуль документа. Не определяется сумма на остатке | ☑ | ||
---|---|---|---|---|
0
Лалым
02.02.17
✎
17:38
|
Есть расходная накладная и ее модуль проведения.
В нем определяем остаток на складе считаем цену себестоимости. Все работало штатно до определенного момента "Пропала" сумма остатка, тоесть количество видит а сумма ноль Кусочек модуля: Если БухИтогиТМЦ.ПолучитьСубконто(1,,ТМЦ) > 0 Тогда //С позиционироваться на нужное ТМЦ после применение "ИспользоватьСубконто" ОстКвоТМЦ = БухИтогиТМЦ.СКД("К"); ОстСуммаТМЦ = БухИтогиТМЦ.СКД(); Сообщить(" на остатке - " + ОстКвоТМЦ + " на сумму - " + ОстСуммаТМЦ); Если ОстКвоТМЦ <> 0 тогда Себестоимость = Кво * (ОстСуммаТМЦ/ОстКвоТМЦ); КонецЕсли; Иначе Себестоимость = Кво * ТМЦ.ПриходнаяЦена.Получить(ДатаДок); //(!!!!!!!)В ТМЦ добавлено пустое значение. КонецЕсли; |
|||
1
vicof
02.02.17
✎
17:39
|
"считаем цену себестоимости"
Внушает |
|||
2
vicof
02.02.17
✎
17:39
|
Итоги пересчитай
|
|||
3
Лалым
02.02.17
✎
17:44
|
(2)Пересчитывал
базу тестировал |
|||
4
Злопчинский
02.02.17
✎
17:44
|
как вариант: поменяли на 41 счете местами субконто
было: Номенклатура, МестоХранения стало: МестоХранения, Номенклатура по местам харнения суммовой отчет не ведется... (_._) |
|||
5
Злопчинский
02.02.17
✎
17:46
|
показывай инициализацию БухИтогиТМЦ
|
|||
6
Злопчинский
02.02.17
✎
17:48
|
и.. это.. я считаю что кошернее - ну в смысле готичнее - взять пропорционально количеству
Себестоимость = ОстСуммаТМЦ * Кво/ОстКвоТМЦ; |
|||
7
Лалым
02.02.17
✎
17:51
|
БухИтогиТМЦ = СоздатьОбъект("БухгалтерскиеИтоги");
БухИтогиТМЦ.ИспользоватьСубконто(ВидыСубконто.ТМЦ, спТМЦ, 1); БухИтогиТМЦ.ВыполнитьЗапрос(ТекущийДокумент(),ТекущийДокумент(),); ВыбратьСтроки(); Пока ПолучитьСтроку() = 1 цикл ПроводкиСтрока(); КонецЦикла; |
|||
8
Лалым
02.02.17
✎
17:55
|
(4) Места хранения вообще нет
Причем вот дотыкался если сделать непроведенной накладную например 49 то 50 определить сумму и все будет в прядке, и 49 после нее тоже провдется нормально бред какойто |
|||
9
vcv
02.02.17
✎
18:02
|
(8) Бери итоги не СКД, а СНД.
СКД - конечно сальдо. Получается с учетом проводок проведённого документа. |
|||
10
Лалым
02.02.17
✎
18:06
|
(9)щас проверю но количество почемуто берет а сумму нет
вот этоа строка Сообщить(" на остатке - " + ОстКвоТМЦ + " на сумму - " + ОстСуммаТМЦ); мне пишет на остатке - 9 на сумму 0 |
|||
11
Лалым
02.02.17
✎
18:10
|
(9) никакого эффекта не дала смена конечного на начальное
|
|||
12
Birmingem
02.02.17
✎
18:38
|
А по какому счету берутся остатки? В запросе счета нет, после получения субконто, хорошо бы еще и на конкретном счете остановиться.
Возможно по этой ТМЦ на одном счете минусовый остаток, а на другом счете плюсовый. Еще проверь, на счетах где есть субконто ТМЦ галочка "Учет по сумме" стоит? |
|||
13
Лалым
02.02.17
✎
18:49
|
(12) 1.Счет учета есть и определяется он точно.
2. Количество определяется точно какое есть на момент проведения 3. минусовый остаток чичас проверим |
|||
14
Лалым
02.02.17
✎
18:57
|
(12)
Вот проведена одна накладная http://ipic.su/img/img7/fs/AS1.1486050892.jpg обороты остатки в порядке списано правильно вот проведена вторая http://ipic.su/img/img7/fs/AS2.1486050977.jpg Уже количество ушло провелось а сумма не списалась |
|||
15
Лалым
02.02.17
✎
19:09
|
Накладная первая все нашла все посчитала все списала как надо
следующай за ней накладная не обнаружила суммму и списала только количество, |
|||
16
Pit0n_08
02.02.17
✎
19:19
|
Счет учета 26 и аналитика (субконто) ТМЦ??
|
|||
17
Pit0n_08
02.02.17
✎
19:22
|
(14) А если карточку счета 26 или отчет по проводкам посмотреть?
|
|||
18
Лалым
02.02.17
✎
19:30
|
(16) Все то же самое
щас вот сдела эксперимент по этому товару есть четыре накладных сделал все непроведенными и начал проводить "сзади" т.е. 54 затем 53 потом 50 и наконец 49 все проводки были в порядке на остатке оставался 1 блокнот на сумму 20 р делаю новую накладную втавляю туда оставшийся блокнот списывается только количество а деньги остаются на 26 |
|||
19
Лалым
02.02.17
✎
19:34
|
Все отчеты создаются в том виде в котором находится состояние счетов
ошибка при проведении в модуле иногда определяются суммы на остатке иногда не определяются как бы после проведения одной из накладный ломается механизм |
|||
20
Лалым
02.02.17
✎
19:42
|
любая накладная "старше" проведенной ранее не находит сумму на остатке
Если провдедена 49 то никакая другая уже не находит убираю проведение, провожу 50 после этого могу провести только 49 ну и тем же макаром все другие варианты |
|||
21
HawkEye
02.02.17
✎
20:41
|
(0) мне всегда интересно, как вы определяете, что ошибка в том куске кода, который показываете?
|
|||
22
Лалым
02.02.17
✎
20:43
|
(21) ну тот кусок который не дает требуемого результата.
|
|||
23
HawkEye
02.02.17
✎
21:40
|
(22) ну тогда может достаточно было бы написать, что
ОстСуммаТМЦ = БухИтогиТМЦ.СКД(); возвращает 0... не? |
|||
24
Лалым
02.02.17
✎
22:05
|
(28) Может. А что это меняет?
|
|||
25
HawkEye
02.02.17
✎
22:12
|
(24) практически все....
но в принципе тут все дело в желании получить ответ ))) |
|||
26
Лалым
02.02.17
✎
22:21
|
(25)
//************** Перем БухИтогиТМЦ, Кво; //********************************** Процедура ПроводкиСтрока() СчетТМЦ = ТМЦ.СчетУчета; // Сообщить(СчетТМЦ); Коэфициент = ЕдИзм.Коэфициент; Кво = Количество * Коэфициент; Если ТМЦ.ВидТМЦ = Перечисление.ВидТМЦ.Товар Тогда Себестоимость = 0; ОстКвоТМЦ = 0; ОстСуммаТМЦ = 0; Если БухИтогиТМЦ.ПолучитьСубконто(1,,ТМЦ) > 0 Тогда //С позиционироваться на нужное ТМЦ после применение "ИспользоватьСубконто" ОстКвоТМЦ = БухИтогиТМЦ.СНД("К"); ОстСуммаТМЦ = БухИтогиТМЦ.СНД(); Сообщить(" на остатке - " + ОстКвоТМЦ + " на сумму - " + ОстСуммаТМЦ); Если ОстКвоТМЦ <> 0 тогда Себестоимость = ОстСуммаТМЦ * Кво/ОстКвоТМЦ; КонецЕсли; Иначе Себестоимость = Кво * ТМЦ.ПриходнаяЦена.Получить(ДатаДок); //(!!!!!!!)В ТМЦ добавлено пустое значение. КонецЕсли; Если (ОстКвоТМЦ < Кво) Тогда Если Константа.РазрешитьОтрицОстатки = "Нет" Тогда Сообщить(Строка(ТекущийДокумент()) + ": не проведен!", "!!!"); неПроводитьДокумент(); КонецЕсли; Сообщить("Товара '"+ТМЦ+"' недостаточно для списания (в наличии " + Строка(ОстКвоТМЦ) + ", требуется " + Строка(Кво) + "!", "!"); КонецЕсли; Проводка1(Контекст,"90",Строка(СчетТМЦ), ТМЦ,ТМЦ,Кво,Себестоимость); Проводка1(Контекст,"36","70",Покупатель,ТМЦ,Количество,Сумма-Скидка); Иначе Себестоимость = 0; Себестоимость = Количество * ТМЦ.ПриходнаяЦена.Получить(ДатаДок); Проводка1(Контекст,"90","29", ТМЦ,ТМЦ,Количество,Себестоимость); Проводка1(Контекст,"36","70",Покупатель,ТМЦ,Количество,Сумма-Скидка); КонецЕсли; КонецПроцедуры //************************************************************************ Процедура ОбработкаПроведения() Если Покупатель.Выбран() = 0 тогда Сообщить("Не выбрано поле Покупатель","!"); неПроводитьДокумент(); КонецЕсли; спТМЦ = СоздатьОбъект("СписокЗначений"); Пока ПолучитьСтроку() = 1 цикл Если ТМЦ.Выбран() = 0 тогда Сообщить("В таблице не выбрано значение ТМЦ","!"); неПроводитьДокумент(); КонецЕсли; Если ЕдИзм.Выбран() = 0 тогда Сообщить("В таблице не выбрана единица измерения ","!"); неПроводитьДокумент(); КонецЕсли; спТМЦ.ДобавитьЗначение(ТМЦ); КонецЦикла; БухИтогиТМЦ = СоздатьОбъект("БухгалтерскиеИтоги"); БухИтогиТМЦ.ИспользоватьСубконто(ВидыСубконто.ТМЦ, спТМЦ, 1); БухИтогиТМЦ.ВыполнитьЗапрос(ТекущийДокумент(),ТекущийДокумент(),); ВыбратьСтроки(); Пока ПолучитьСтроку() = 1 цикл ПроводкиСтрока(); КонецЦикла; Проводка1(Контекст,"31","36", ,Покупатель,,Оплачено); Операция.СуммаОперации = Итог("Сумма"); Операция.Записать(); КонецПроцедуры //************************************************************************ Вот весь модуль |
|||
27
Лалым
02.02.17
✎
22:25
|
Желание есть, не былло бы не писал сюда.
Вообщето самое главное желание разобраться как такое чудо возможно. Проведении раннее стоящего в последовательности документа ломает проведение последующих |
|||
28
Лалым
02.02.17
✎
23:07
|
(12) все таки где то тут собака порылась переписал модуль проведения, бухитоги создаю в каждой строке чтобы к счету привязать и все стало на места.
|
|||
29
vcv
03.02.17
✎
05:16
|
(11) "никакого эффекта не дала смена конечного на начальное"
Наверное документ не проведён. Попробуй перепровести проведённый. |
|||
30
Лалым
03.02.17
✎
07:53
|
(29) да все уже решилось см (28)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |