|
отработать ТЗ по 350 строк | ☑ | ||
---|---|---|---|---|
0
lamme
25.09.19
✎
09:34
|
Есть ТЗ. ВсеТовары. Колонка = номенклатура.
В ТЗ 100500 строк. Необходимо всю тз выгрузить в файлы с шагом в 500 товаров. те если в ТЗ количество строк = 800, то на выходе 2 файла (500+300) Если 1600 строк, то четыре файла (500+500+500+100) затык c алгоритмом ((( Можно тупо шаг = 500; КоличествоСтрок = ТЗ.КоличествоСтрок() Целых = Цел(КоличествоСтрок/шаг); Остаток = КоличествоСтрок -Целых*шаг; ну и далее перебор с выбором из исходной ТЗ строк ... ============ но чую - гемморой.. ГЕММОРОИЩЕ ... и можно проще... |
|||
1
Мимохожий Однако
25.09.19
✎
09:38
|
Если НомерСтроки>Шаг Тогда
Прервать; ... Завершаешь файл и начинаешь новый |
|||
2
Василий Алибабаевич
25.09.19
✎
09:42
|
(0) Классика же.
Счетчик обработанных. Подсчитывать внутри цикла. По достижении предела выполнить завершающие действия. Счетчик сбросить в "0". Продолжить обработку со следующей строки. |
|||
3
Василий Алибабаевич
25.09.19
✎
09:43
|
+ (2) Для неполного конечного остатка постобработку выполнить за пределами цикла.
|
|||
4
vova1122
25.09.19
✎
09:44
|
(0) А в чем гемороище?
Перед выборкой ТЗ написать НомСтроки=1 В переборе строк написать Если НомСтроки=500 тогда ЗаписатьФвйл() НомСтроки=1 КонецЕсли НомСтроки=1 После перебора строк написать Если НомСтроки>1 тогда ЗаписатьФайл() КонецЕсли и нет никакого гемороища |
|||
5
lamme
25.09.19
✎
09:45
|
в том то и классика
что есть сомнения что он выбирать будет каждый раз первые значения с 1 до Шага те Шаг=500 для каждого Стр из ТЦ цикл Если Стр.НомерСтроки>Шаг Тогда Прервать; // тут прерывается обработка цикла и идет сброс на начало перебора. конецесли; конеццикла; |
|||
6
ДенисЧ
25.09.19
✎
09:47
|
сч = 0;
ОткрытьФайл(); для Каждого стр из тз цикл сч = сч + 1; ЗаписатьСтрокуВФайл(); Если сч >- 500 Тогда ЗакрытьФайл(); ОткрытьФайл(); сч = 0; КОНецЦикла; Если сч > 0 Тогда ЗакрытьФайл(); КОноецЕсли; |
|||
7
vova1122
25.09.19
✎
09:48
|
+(4) Немного ошибся. Там внутри цикла после условия заменить НомСтроки=НомСтроки+1
|
|||
8
Василий Алибабаевич
25.09.19
✎
09:48
|
(5) Птля... "Счетчик обработанных" в общем случае никак не привязывается к данным строки. А если нужно будет фильтровать данные? И какие-то обработать, а какие-то нет?
Во. смотри (6). |
|||
9
vicof
25.09.19
✎
09:50
|
(5) Да просто удаляй строки после чтения 500 и записывай документ :)
|
|||
10
ДенисЧ
25.09.19
✎
09:52
|
(9) Это из оперы как проверить существование базы данных на сервере бд?
|
|||
11
vicof
25.09.19
✎
09:53
|
(10) Ага, зато реализуется еще проще, чем условие в цикле проверить.
|
|||
12
lamme
25.09.19
✎
10:02
|
(6)
и че я такой тупой иногда бываю ... |
|||
13
lamme
25.09.19
✎
10:02
|
(6)
спасибо |
|||
14
Василий Алибабаевич
25.09.19
✎
10:04
|
(12) Начинай барыжить синтаксис-помощником. Глядишь лет через ...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |