Имя: Пароль:
1C
 
отработать ТЗ по 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) Начинай барыжить синтаксис-помощником. Глядишь лет через ...
Основная теорема систематики: Новые системы плодят новые проблемы.