1. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление

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

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

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

    Programmer_Hard Гость

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

    kaa Гость

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

    vbs Well-Known Member

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

    Programmer_Hard Гость

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

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

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

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

    vbs Well-Known Member

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

    Programmer_Hard Гость

    Репутация:
    0
    ок, спасибо! приступлю к реализации :rolleyes:
     
Загрузка...
Похожие Темы - Чистка базы после
  1. StarikStarik2705
    Ответов:
    6
    Просмотров:
    1.884
  2. nikblow
    Ответов:
    1
    Просмотров:
    1.295
  3. Lukin_na
    Ответов:
    1
    Просмотров:
    1.330
  4. VahaC
    Ответов:
    1
    Просмотров:
    2.294
  5. vanderwijk
    Ответов:
    0
    Просмотров:
    140
Статус темы:
Закрыта.

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