Консультация № 160281
12.02.2009, 12:06
0.00 руб.
0 5 2
Подскажите пожалуйста как реализовать следующий алгоритм:
1.Просмотреть все элементы справочника Основные средства
2. Для каждого элемента из этого справочника посмотреть по счетам 01.01 и 02.01 начальное сальдо и обороты(дебетовый и кредитовый)
3. Если начальное сальдо и обороты >0, то пропустить, иначе элемент пометить на удаление

Обсуждение

Неизвестный
12.02.2009, 12:49
общий
это ответ
Здравствуйте, Artmari!
БИ = СоздатьОбъект("БухгалтерскиеИтоги");
Спр = СоздатьОбъект("Справочник.ОсновныеСредства");
Спр.ВыбратьЭлементы();
Пока Спр.ПолучитьЭлемент() = 1 Цикл
БИ.ИспользоватьСубконто(ВидыСубконто.ОсновныеСредства,Спр.ТекущийЭлемент(),2);
БИ.ВыполнитьЗапрос(НачДата,КонДата,"01.01,02.01",,,1);
Если (БИ.СНД() = 0) И (БИ.ДО() = 0) Тогда
Спр.Удалить(0);
КонецЕсли;
КонецЦикла;

Неизвестный
12.02.2009, 13:18
общий
это для 7.7? Мне необходимо для 8
Пояснения:
Справочник Основные средства с иерархией групп и элементов.
Задача состоит в том, что в отчете Ведомость по амортизации ОС могут быть записи, по которым нет ни оборотов, ни остатков(из оборотно-сальдовой ведомости) и тогда на такие элементы надо поставить отметку удаления.
Неизвестный
12.02.2009, 16:58
общий
это ответ
Здравствуйте, Artmari,

примерно так (текст во вложении).

Кроме того, рекомендую обработку "Консоль запросов с отдадкой" (cons_query_debug.epf) для отладки запросов


Приложение:
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ХозрасчетныйОстаткиИОбороты.Субконто1 как СсылкаОС
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, , , Счет.Ссылка В ИЕРАРХИИ (&СчетаУчетаОС), , ) КАК ХозрасчетныйОстаткиИОбороты
|ГДЕ
| (ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстаток = 0
| ИЛИ ХозрасчетныйОстаткиИОбороты.СуммаОборот = 0)";

Запрос.УстановитьПараметр("НачалоПериода", НачалоПериода);
Запрос.УстановитьПараметр("КонецПериода", КонецПериода);
Запрос.УстановитьПараметр("СчетаУчетаОС", СчетаУчетаОС);

Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();

Пока Выборка.Следующий() Цикл

ОбъектОС = Выборка.СсылкаОС.ПолучитьОбъект();
ОбъектОС.УстановитьПометкуУдаления(Истина);

КонецЦикла;
Неизвестный
12.02.2009, 17:52
общий
Возникли следующие вопросы
ХозрасчетныйОстаткиИОбороты.Субконто1 как СсылкаОС ( Почему Субконто1 и зачем как ссылкаОС)
далее
СчетаУчетаОС - это параметр вирт.таблицы, а там можно 2 счета указывать? В итоге пометка удаления установится в справочнике?

Где размещать этот запрос?
Неизвестный
12.02.2009, 19:39
общий
> ХозрасчетныйОстаткиИОбороты.Субконто1 как СсылкаОС ( Почему Субконто1 и зачем как ссылкаОС)
Субконто1 - это основные средства
как СсылкаОС - просто для удобства и наглядности


>далее
> СчетаУчетаОС - это параметр вирт.таблицы, а там можно 2 счета указывать? В итоге пометка удаления установится в справочнике?

да, можно. Передавайте в качестве параметра массив. Да, пометка на удаление должна установиться.

>
>Где размещать этот запрос? как организовать это визуально?
Для запроса напишите обработку.
Есть еще разные готовые обработчиком. Например, можно поискать на http://all1c.ru "консоль запросов с обработкой"

Успехов!
Форма ответа