Получение отрицательных остатков номенклатуры по документу

1. Paul_Nevada 16.11.10 13:37 Сейчас в теме
Привет - всем!
Что хочу сделать.
Открывать выборку проведенных документов такого-то вида и "смотреть" остатки номенклатуры по каждому очередному документу на момент сразу после того, как 1С-платформа присвоила ему статус "Проведен". В случае, если остаток этой (отдельно взятой и обработанной) ТМЦ менее "0" - вывод секции "Строка" итоговой таблицы.
Сделать хочу без использования запросов!!! Во внимание не принимается низкая производительность такого решения.
Так понимаю, что мне нужно рассчитывать регистры на каждый из документов - верно? Нужен метод РассчитатьРегистрыПо(<?>,);
Все правильно?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Paul_Nevada 17.11.10 09:05 Сейчас в теме
Привет!
Мне кто-нибудь может подсказать - правильно ли я иду?
3. anig99 2845 17.11.10 13:55 Сейчас в теме
Я конечно лезу не в свою тему...Но с такими вопросами скрываться под ником 1сПрофессионал немного неуместно
4. Paul_Nevada 17.11.10 14:08 Сейчас в теме
Все несколько иначе! :D
Надо мне было написать "1CProfessional" ;)
5. Paul_Nevada 17.11.10 15:41 Сейчас в теме
Вот, что-то вроде этого... Работает, по крайней мере...

//*******************************************
Процедура Сформировать()

Док=СоздатьОбъект("Документ");
ВремРегистры=СоздатьОбъект("Регистры");
РегОстатки=ВремРегистры.ОстаткиТМЦ;

Док.ВыбратьДокументы(НачДата,КонДата);

Пока Док.ПолучитьДокумент()=1 Цикл
Если Док.Проведен()=0 Тогда
Продолжить;
КонецЕсли;
Если глЕстьРеквизитМнЧ("Номенклатура",Док.ТекущийДокумент().Вид())=0 Тогда
Продолжить;
КонецЕсли;
Если глЕстьРеквизитШапки("Склад",Док.ТекущийДокумент().Вид())=0 Тогда
Продолжить;
КонецЕсли;

Состояние("Обработка: "+Док.ДатаДок+" - "+Док.ТекущийДокумент());

РегОстатки.ВременныйРасчет();
ВремРегистры.РассчитатьРегистрыПо(Док.ТекущийДокумент(),);

Док.ВыбратьСтроки();
Пока Док.ПолучитьСтроку()=1 Цикл
Остаток=РегОстатки.Остаток(Док.Фирма,
Док.Номенклатура,
Док.Склад,,"Количество");

Если Остаток<0 Тогда
Сообщить(""+Док.ТекущийДокумент()+" - "+Док.Номенклатура+": "+Остаток,"!");
КонецЕсли;
КонецЦикла;
КонецЦикла;

КонецПроцедуры
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот