Имя: Пароль:
1C
 
надо с шагом N выбрать строки из исходной таб.значений
,
0 lamme
 
30.10.19
12:00
Есть ТЗ.
100500 строк.

Есть значение - N(число. целое)
надо с шагом N выбрать строки из исходного ТЗ

пытаюсь сделать так

п=3; // это шаг, выбран на форме пользователем
НомерСтроки =1;
для каждого Стр из ТЗ цикл
            Стр.СписокФото = ПолучитьСписокИмен(НомерСтроки,ТЗимен);
            НомерСтроки =НомерСтроки +1;
конеццикла;

Функция ПолучитьСписокИмен (НомерСтроки,ТЗимен)

ИтСтрокаСФото ="";
    для п=1 по выбКоличествоФотона1товар цикл
        ИтСтрокаСФото = ИтСтрокаСФото +","+ТЗимен[???].Имя;
    конеццикла;
    Возврат ИтСтрокаСФото;
конецфункции
1 Beduin
 
30.10.19
12:01
Индексы делай
2 1С Ассенизатор ПРОФ
 
30.10.19
12:03
(0) Пишешь классно конечно =)
3 lamme
 
30.10.19
12:05
(1)
чем поможет?
4 Birmingem
 
30.10.19
12:07
Так из какой именно таблицы надо выбрать строки с щагом Н? Из ТЗ или ТЗимен?
В твоем коде вообще муть какая то ...
5 lamme
 
30.10.19
12:08
ТЗ -исходная
выбрать надо из ТЗимен
6 Birmingem
 
30.10.19
12:09
Если выбирать надо из ТЗимен, при чем тут ТЗ?
7 Birmingem
 
30.10.19
12:09
Это в ТЗимен 100500 строк?
8 Garykom
 
гуру
30.10.19
12:10
(0) "С шагом N" это значит каждую N-ю строку выбрать, пропуская между ними?
9 Кодер
 
30.10.19
12:11
Скопируй ТЗ. В копии проходи сверху, считай вслух и по условию "Неа" удаляй строку. Помни, что таблица кончится неожиданно.
10 1С Ассенизатор ПРОФ
 
30.10.19
12:11
(8) По коду ТС сложно понять
11 pechkin
 
30.10.19
12:12
вот тут есть пример
http://catalog.mista.ru/public/76309/
12 lamme
 
30.10.19
12:12
ТЗ - исходная таблица. Заполненная. Колонки
-Номенклатура
-СписокФото

ТЗимен - список имен файлов.

в ТЗ.СписокФото - с шагом = 3 (например) надо получить что то типа: "Имяфайла1,ИмяФайла2,ИмяФайла3"
т.е.

для каждого Стр из ТЗ цикл
            Стр.СписокФото = ПолучитьСписокИмен(НомерСтроки,ТЗимен);
            НомерСтроки =НомерСтроки +1;
конеццикла;

В итоге
Строка1 ТЗ. СписокФото = Имяфайла1,ИмяФайла2,ИмяФайла3
Строка2 ТЗ. СписокФото = Имяфайла4,ИмяФайла5,ИмяФайла6
13 lamme
 
30.10.19
12:15
(8)
нет
это значит из ТЗимен надо получить
Строка1,Строка2,Строка3
Строка4,Строка5,Строка6
Строка7,Строка8,Строка9
14 1С Ассенизатор ПРОФ
 
30.10.19
12:19
(12) Ну тогда нужна еще переменная которая будет обозначать текущее положение во второй таблице. К нему будем прибавлять значение шага.

//пусть положение будет b

b = 0;


Функция ПолучитьСписокИмен(НомерСтроки,ТЗимен)
    Для b по b+n цикл
         ИтСтрокаСФото = ИтСтрокаСФото + тзимен[итератор]
    конеццикла;
КонецФункции


типа такого про цикл не помню точный синтаксис
15 Birmingem
 
30.10.19
12:21
(13)Теперь понятнее
Можно сделать так например:
к=0;
пока к<=ТЗимен.Количество()
Стр1=ТЗимен.Получить(к);
Стр2=ТЗимен.Получить(к+1);
Стр3=ТЗимен.Получить(к+2);
к=к+3;
КонецЦикла
16 1С Ассенизатор ПРОФ
 
30.10.19
12:22
(14) упс b же будет меняться в цикле, тогда еще переменную.

в конце функции наше положение будет увеличено на n и в след итерации будет уже начинаться с 4 строки.
17 lamme
 
30.10.19
12:33
Итоги
Процедура Один()
...
РазмерШага      = N;

НомерСтроки =1;
для каждого Стр из ТЗ цикл
    СтрПутейФото = ПолучитьСписокИмен(РазмерШага * (НомерСтроки - 1) + 1, РазмерШага * НомерСтроки,ТЗимен);
НомерСтроки =НомерСтроки +1;
конецпроцедуры
...
конецпроцедуры


Функция ПолучитьСписокИмен(начало, Конец,ТЗФото )
Для Счетчик = Начало -1 По Конец - 1 Цикл
        ИтСтрокаСФото                 = ИтСтрокаСФото +","+ТЗФото[Счетчик].Имя;
конеццикла
возврат ИтСтрокаСФото
конецфункции

конецфункции
18 Йохохо
 
30.10.19
12:39
(17) рациональные числа они такие, такие что 3.1415965 а потом оп и 3.1415965(123456)
19 Cyberhawk
 
30.10.19
12:52
Ветку закрыть за профнепригодность ТСа
20 lamme
 
30.10.19
14:11
11
спасибо