• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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

  • Автор темы Programmer_Hard
  • Дата начала
Статус
Закрыто для дальнейших ответов.
P

Programmer_Hard

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

kaa

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

vbs

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

Programmer_Hard

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

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

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

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

Programmer_Hard

ок, спасибо! приступлю к реализации :rolleyes:
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

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