|   |   | 
| 
 | Помогите с оптимизацией задачи | ☑ | ||
|---|---|---|---|---|
| 0
    
        marshalbratsk 07.12.16✎ 07:03 | 
        Нужно сделать одну задачу, есть идея как релизовать, но хотелось бы узнать советов у более опытных программистов, как эту идею можно релизовать лучшее, удобнее и не забивать память.
 Имеется запрос с которого делаем выгрузку, имеется файл экселя (структура таблицы для загрузки), в который нужно вбить данные с этой выгрузки, но в этом файле имеется группировка с пустыми полями по столбцу "Счёт", которую необходимо сохранить (например под Счёт 10 выделено 1000 строк и в них надо вбивать данные, затем идёт Счёт 11, под который нужно вбивать другие данные). Делалось это до меня и нужно сохранить форму как она есть, но вбивать туда данные с запроса. Хочу перестраховаться, если например будет больше 1000 строк Счёта 10 и надо будет добавлять строки и сбивать индексы. Есть мысля как это сделать, но хотелось бы узнать мнение остальных //Задаём индесы ДобавленныеСтроки=0; //Счётчик добавленных строк Счёт10Начало=10; //Начало группы, куда вбиваем данные выгрузки Счёт10Конец=900; //Конец группы Счёт10Кол=0; //Количество счетов Для каждого стр из выборка цикл Если стр.Счёт=10 Тогда Если СчётКол<Счёт10Конец-Счёт10Начало Тогда //Если количество записей меньше допущенного количества записей ИндексСтроки=Счёт10Кол+ДобавленныеСтроки; //Заполняем данные Счёт10Кол=Счёт10Кол+1; Иначе ИндексСтроки=Счёт10Кол+ДобавленныеСтроки; // Добавляем строку эксель // Заполняем данные Счёи10Кол=Счёт10Кол+1; ДобавленныеСтроки=ДобевленныеСтроки+1; Иначе Если //Продолжаем с другими счетами по аналогии Спасибо | |||
| 1
    
        VladZ 07.12.16✎ 07:05 | 
        (0) Ничего не понял     | |||
| 2
    
        marshalbratsk 07.12.16✎ 07:27 | 
        http://hkar.ru/Mvsx
 Вот тут файл эксель, в котором видна группировка сворачиваемая, куда нужно втыкать данные с выборки, группируя по полю Счёт | |||
| 3
    
        marshalbratsk 07.12.16✎ 07:27 | 
        (2) по колонке Номер субсчёта, прошу прощения     | |||
| 4
    
        Мимохожий Однако 07.12.16✎ 07:34 | 
        (0)"если например будет больше 1000 строк Счёта 10 и надо будет добавлять строки и сбивать индексы. " вот это расшифруй.
 Куда денешь то, что не помещается? | |||
| 5
    
        Это_mike 07.12.16✎ 07:36 | 
        (0)
 сначала нужно протрезветь. потом написать вопрос чтоб понятно было не только тебк.. | |||
| 6
    
        marshalbratsk 07.12.16✎ 07:46 | 
        (4) Допустим до 1000 строки я просто записываю данные в уже созданные ячейки, индекс просто добавляю в цикл и всё, но если больше 1000 строк одного счёта идёт, то тогда я добавляю строку новую в экселе (Insert()),чтобы не залезть в другой счёт и тем самым сбиваю индексы для последующих записей.     | |||
| 7
    
        VladZ 07.12.16✎ 07:51 | 
        (2) Отличная картинка. Только бестолковая. Какая информация из всего этого является нужной? О каких 1000 строках идет речь? Что такое "Счёта 10"?
 Что хочу сказать в итоге: правильно заданный вопрос содержит половину ответа. На текущий момент формулировка вопроса не содержит смысла вопроса. | |||
| 8
    
        LevelUP 07.12.16✎ 08:30 | 
        (0) Запоминай смещение в переменную. Потом прибавляй, чтобы получить адреса следующих группировок. Отлаживай, сделай так, чтобы запрос вернул овер1000 строк и смотри правильно ли встали строки.     | |||
| 9
    
        Лефмихалыч 07.12.16✎ 08:33 | 
        (0) а почему просто не формировать с нуля файл экселя с такими же группировками? Зачем заполнять существующий?     | |||
| 10
    
        LevelUP 07.12.16✎ 08:35 | 
        (9) там, наверное, формулы аццкие в книге     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |