• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

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

  • Автор темы 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);

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

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