• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Как правильно посчитать остатки?

  • Автор темы Leon3
  • Дата начала
L

Leon3

Как правильно посчитать остатки номенклатуры? 7.7 бухгалтерия или комплексная ! Я Пытался сделать через Дебитовое и кредитовое вычитание по счету 41 (Товаров) !

Ит = СоздатьОбъект("БухгалтерскиеИтоги");
Ит.ВключатьСубсчета(0);
счет = "41";
Ост =Ит.Скд(Счет,3,,номенкл) - Ит.Ко(Счет,3,,номенкл) - Ит.Скк(Счет,3,,номенкл);

Получилось очень коротко!
иногда он ругается - (Для получения итогов по данному периоду требуется временный расчет!)
Как сделать более правильно?
 
I

Isabela

BTotal = CreateObject("БухгалтерскиеИтоги");
BTotal.UseSubConto("Номенклатура",,1);
if BTotal.DoQuery(,EndDate,"41") = 0 then
Return
endif;
Quantity = BTotal.СКД(3);
// если нужно по конкретным товарам -
BTotal.SelectSubconto();
While BTotal.GetSubconto() = 1 do
Quantity = BTotal.СКД(3);
enddo
 
L

Leon3

А вы на английском все время пишите программы?
 
G

GRblSHA

это на выбор можешь писать и так и так=))
 
I

Isabela

LSH
Да, согласна, первую дату лучше указать такой же, как и конечная. Пост скопировала из программы и вырезала лишнее
Leon3
Вот такая у меня привычка. Душа не лежит к русскоязычным аналогам. Свои тексты пишу только по-английски, привыкла за столько лет (ALGOL, PL, PASCAL, CLIPPER - стандартные конструкции в печенки въелись) :)
 
L

Leon3

Спасибо

А как Сделать по какой либо номенклатуре?
 
V

vitfil

Би.ИспользоватьСубконто(...), а дальше - в ЖКК
 
L

Leon3

У меня еще возникла проблема с получением остатков по 2ум субконто , тоесть по номенклатуре и по складу одновременно? Подскажите пожалуйста в чем ошибка????


Скла = Склад.ПолучитьЗначение(Склад.ТекущаяСтрока(),Склад);
Ит = СоздатьОбъект("БухгалтерскиеИтоги");
Ит.ИспользоватьСубконто("Номенклатура",Номенкл,1);
Ит.ИспользоватьСубконто("МестаХранения",Скла,1);

Если Ит.ВыполнитьЗапрос(РабочаяДата(),РабочаяДата(),"41.1") = 0 тогда
Возврат 0
конецесли;
// Сообщить(Ит.Субконто(2)+"|");
Ит.ВыбратьСубконто(,1);
Пока Ит.ПолучитьСубконто() = 1 цикл
Сообщить("!"+Ит.Субконто(2)+"!");

Ост = Ит.Скд(3);

Конеццикла;
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!