|   |   | 
| 
 | 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)     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |