Чистка базы после свертки

Тема в разделе "1C и всё что с ней связано", создана пользователем Programmer_Hard, 20 авг 2009.

Статус темы:
Закрыта.
  1. Programmer_Hard

    Programmer_Hard Гость

    1с 7.7 бухгалтерия 7.70.460
    После свертки базы получил кучу документов "Операция" на начало периода. Стоит задача в каждом документе "Операция" найти проводки вида : Дб 41.2 ДбСуб ТоварХ : Кр 00 Количество N сумма M.
    где ТоварХ - принадлежит определенному списку товаров. Найденные проводки в документе заменить одной проводкой вида : Дб 41.2 ДбСуб ТоварыНенужные : Кр 00 Количество 0 сумма MМ, - где ТоварыНенужные - специально созданная номенклатура заменяющая все устаревшие , ММ это сумма всех выбранных проводок.
    По сути это делается для того, чтобы выкинуть из базы старую номенклатуру и разгрузить бух итоги (уменьшимть размер файла бух итогов и ускорить выполнение запросов к бух итогам).
    Теперь вопросы ;) :
    1 Правильно ли поставлена задача , те будет ли достигнута цель?
    2 Как производить обход табличной части док "Операции" (или как обчный док? - выбратьСтроки() получитьСтро..), если можно маленький примерчик?
    Заранее спасибо отписавшимся!
     
  2. kaa

    kaa Гость

    бух запрос по 41 счету по конкретному субконто на дату, и операцией перекинуть остатки с одного субконто на другое
     
  3. vbs

    vbs Well-Known Member

    Регистрация:
    18 фев 2007
    Сообщения:
    1.708
    Симпатии:
    3
    Операция.ВыбратьПроводки();
    Пока Операция.ПолучитьПроводку() = 1 цикл
    //в цикле проверяем проводки с нужной корреспонденцией, суммируем их
    конеццикла
    // а потом создаем операцию с одной проводкой, содержащей сформированные в цикле суммы
    Операция.Новая();
    Операция.НоваяПроводка();
    Операция.Д*цензура*.Счет = СчетПоКоду("41.2");
    Операция.Кредит.Счет = СчетПоКоду("00");
    Операция.Д*цензура*.Субконто1 = НенужныеТовары;
    // ну и т.д.
    А как ты с такой древней версией управляешься ?
     
  4. Programmer_Hard

    Programmer_Hard Гость

    Т.е., например, имея проводку:
    1)Дб 41.2 ДбСуб ТоварХ : Кр 00 Количество 10 сумма 100.

    Мне нужно добавить операцию с проводкой
    2)Дб 41.2 КрСуб ТоварыНенужные : Кр 41.2 ДбСуб ТоварХ Количество 10 сумма 100.

    При этом, я вроде получу нулевые остатки по ТоварамХ, (что уже хорошо )). и кучу проводок 2-го типа (создать 1 док операция со всеми проводками), которые сохранят мне сумму на счете, а вот количество ненужного товара в принципе безразлично.

    Я правильно понял? и достигну ли я цели (уменьшимть размер файла бух итогов и ускорить выполнение запросов к бух итогам).
     
  5. vbs

    vbs Well-Known Member

    Регистрация:
    18 фев 2007
    Сообщения:
    1.708
    Симпатии:
    3
     
  6. Programmer_Hard

    Programmer_Hard Гость

    ок, спасибо! приступлю к реализации :rolleyes:
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей