Вход | Регистрация
 

Регистр бухгалтерии. Остатки по количеству

Регистр бухгалтерии. Остатки по количеству
Я
   Никулин Леонид
 
09.08.19 - 08:52
Добрый день!

Решаю учебную задачу. Спроектировал РегистрБухгалтери.Управленческий. Измерений (и реквизитов) нет. Ресурсы "Количество" не балансовый с признаком учета Количественный. и "Сумма" балансовый.
В ПланеСчетов указал для счетов "ПрибылиИУбытки" и "Товары" одинаковые настройки. Для Признака учета установил флажок "Количественный" и два субконто (Номенклатура и СрокГодности).
Создал для регистра регистраторы ПриходнаяНакладная и РасходнаяНакладная. Сделал движения. В регистре движения появились как по Сумме, так и по Количеству.
Делаю запрос к Остаткам.
По счету Товары все правильно. Есть остатки по Количеству и по Сумме. А по счету ПрибылиИУбытки есть остаток только по Сумме:(
ВОПРОС. Не могу понять куда делся остаток по Количеству?

Спасибо!
 
 
   pikachu
 
1 - 09.08.19 - 09:03
а в проводках по второму счету у вас есть количество?
интересно в количестве чего вы прибыли и убытки измеряете? в количестве банкнот? в количестве монет?  в количестве лягушачьих шкурок?
   KILL_OFF_COBECTb
 
2 - 09.08.19 - 09:04
(0) а признак учета количественный для счета ПрибылиИУбытки точно стоит? еще движения посмотреть бы как выполнены
   KILL_OFF_COBECTb
 
3 - 09.08.19 - 09:05
(0) а что за задача? там точно нужно количество на этом счете? не припомню в спеце таких
   Никулин Леонид
 
4 - 09.08.19 - 09:10
(1) Да. Количество есть. Количество я измеряю в разрезах субконто. Учитываю количество по Номенклатуре и по Сроку годности.
   Никулин Леонид
 
5 - 09.08.19 - 09:14
(2) Да вроде стоит. Только что перепроверил. Количественный = Да. Для субконто "только обороты" выключены.
(3) Это самая первая учебная задача по специалисту по бухгалтерским задачам. Нужно построить отчет по ОстаткамИОборотам по Количеству и по сумме. А у меня количество пропало:) А сумма вся на месте.
   Никулин Леонид
 
6 - 09.08.19 - 09:16
Фрагмент обработки проведения РасходнойНакладной:
Пока ВыборкаНоменклатураДок.Следующий() Цикл
        
        // Контроль остатков

        Если ВыборкаНоменклатураДок.КолДок > ВыборкаНоменклатураДок.КолОст Тогда             
            Сообщение = Новый СообщениеПользователю;
            Сообщение.Текст = "Номенклатуры " + ВыборкаНоменклатураДок.НоменклатураПредставление + " не достаточно на остатках в количестве " + (ВыборкаНоменклатураДок.КолДок - ВыборкаНоменклатураДок.КолОст);
            Сообщение.Сообщить();
            Отказ = Истина;
            Продолжить;            
        КонецЕсли;
        
        ОсталосьСписать = ВыборкаНоменклатураДок.КолДок;
        
        ВыборкаДетальныеЗаписи = ВыборкаНоменклатураДок.Выбрать();    
        Пока ВыборкаДетальныеЗаписи.Следующий() И ОсталосьСписать > 0 Цикл
            
            КоличествоСписания    = Мин(ОсталосьСписать, ВыборкаДетальныеЗаписи.КолОст);
            СебестоимостьСписания = ?(ОсталосьСписать = ВыборкаДетальныеЗаписи.КолОст, ВыборкаДетальныеЗаписи.СуммаОст, 
                    ВыборкаДетальныеЗаписи.СуммаОст / ВыборкаДетальныеЗаписи.КолОст * КоличествоСписания);                                
            
            // Формирование набора записей. Дт ПрибылиУбытки Кт Товары

            Движение = Движения.Управленческий.Добавить();
            Движение.СчетДт = ПланыСчетов.Управленческий.ПрибылиУбытки;
            Движение.СчетКт = ПланыСчетов.Управленческий.Товары;
            Движение.Период = Дата;
            //Движение.Количество = КоличествоСписания; //

            Движение.КоличествоДт = КоличествоСписания;
            Движение.КоличествоКт = КоличествоСписания;
            Движение.Сумма = СебестоимостьСписания;                        
            Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Номенклатура] = ВыборкаДетальныеЗаписи.Номенклатура;
            Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.СрокГодности] = ВыборкаДетальныеЗаписи.СрокГодностиОст;            
            Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.Номенклатура] = ВыборкаДетальныеЗаписи.Номенклатура;
            Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.СрокГодности] = ВыборкаДетальныеЗаписи.СрокГодностиОст;
            
                                
            // Формирование набора записей. Дт Покупатели Кт ПрибылиУбытки

            Движение = Движения.Управленческий.Добавить();
            Движение.СчетДт = ПланыСчетов.Управленческий.Покупатели;
            Движение.СчетКт = ПланыСчетов.Управленческий.ПрибылиУбытки;
            Движение.Период = Дата;
            //Движение.Количество = КоличествоСписания;

            Движение.КоличествоКт = КоличествоСписания;
            Движение.КоличествоДт = КоличествоСписания;
            Движение.Сумма = ВыборкаДетальныеЗаписи.СуммаДок / ВыборкаДетальныеЗаписи.КолДок * КоличествоСписания;
            Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Номенклатура] = ВыборкаДетальныеЗаписи.Номенклатура;
            Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.СрокГодности] = ВыборкаДетальныеЗаписи.СрокГодностиОст;
            Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.Номенклатура] = ВыборкаДетальныеЗаписи.Номенклатура;
            Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.СрокГодности] = ВыборкаДетальныеЗаписи.СрокГодностиОст;
            
            ОсталосьСписать = ОсталосьСписать - КоличествоСписания;
            
        КонецЦикла;
    КонецЦикла;



Движения по всем полям есть. Аналогично по ПриходнойНакладной
   unregistered
 
7 - 09.08.19 - 09:26
(6) А что ожидается в остатке?

1 запись - КоличествоДт = 100 штук.
2 запись - КоличествоКт = 100 штук.
100 - 100 = 0.

Или у вас какая-то другая альтернативная математика?
   pikachu
 
8 - 09.08.19 - 09:28
покажите картинками что у вас в проводках
   shuhard
 
9 - 09.08.19 - 09:33
(7)+1
            Движение = Движения.Управленческий.Добавить();
            Движение.СчетДт = ПланыСчетов.Управленческий.ПрибылиУбытки;
            Движение.КоличествоДт = КоличествоСписания;
         
            Движение = Движения.Управленческий.Добавить();
            Движение.СчетКт = ПланыСчетов.Управленческий.ПрибылиУбытки;
            Движение.КоличествоКт = КоличествоСписания;
   Никулин Леонид
 
10 - 09.08.19 - 09:35
Это запрос к физической таблице https://yadi.sk/i/5_Yx6X0ez3vGRA
   Никулин Леонид
 
11 - 09.08.19 - 09:41
А это остатки https://yadi.sk/i/65EDRo_0JKeXBw В самом низу "Прибыли и убытки". Остатки по сумме есть, а по количеству нет.
Есть одна строка с количеством 2. Это движения документа "Бухгалтерская операция" с выводом на форму Движений по регистру. Тут остатки есть
   pikachu
 
12 - 09.08.19 - 09:42
(11) остатков нет и остаток =0. различаете?
   Никулин Леонид
 
13 - 09.08.19 - 09:43
Аааа! Начинаю понимать... Всем спасибо. Дальше сам буду ковырять!

Хороших выходных!
   KILL_OFF_COBECTb
 
14 - 09.08.19 - 09:53
(9) +1))
   KILL_OFF_COBECTb
 
15 - 09.08.19 - 09:56
(5) это задача из 1 билета? если да, то там не нужен признак учета количественный на счете ПрибылиИУбытки для построения отчета, достаточно по счету товары

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.