|
Обход коллекций и безусловная передача управления | ☑ | ||
---|---|---|---|---|
0
kolp821
27.03.12
✎
16:10
|
Помогите разобраться, я только учусь 1C и приходится копаться в чужом коде.
Есть цикл обхода коллекций и безусловная передача управления: Для Каждого Стр из Ссылка_Дог.РеквизитОплатаЗаНавчання.ТабличнаяЧастьОплатиЗаНавчання Цикл Если Стр.СумаОплати > 1 тогда СП_Д = Стр.СумаОплати ; Перейти ~м_Обх ; КонецЕсли; КонецЦикла; ~м_Обх : ТабЧаст.Параметры.СП_Д = СП_Д ; В СП_Д выводится первое значение из ТабличнаяЧастьОплатиЗаНавчання, как сделать что бы можно было выбрать и второе и следующие значение? Извините если не правильно поставил вопрос. |
|||
1
YF
27.03.12
✎
16:12
|
(0) Зачем здесь перейти, если есть Прервать?
|
|||
2
kolp821
27.03.12
✎
16:13
|
(1)Это не мое решение, но что даст Прервать?
|
|||
3
YF
27.03.12
✎
16:14
|
(2) Передачу управления в "сразу после цикла"
|
|||
4
kolp821
27.03.12
✎
16:16
|
(3) а поподробнее? просто незнаю всех тонкостей, как можно реализовать.
|
|||
5
YF
27.03.12
✎
16:16
|
(4) ДенисЧ тут СП продает, можно к нему, если свой украли
|
|||
6
kolp821
27.03.12
✎
16:18
|
(5) это к чему?
|
|||
7
kolp821
27.03.12
✎
16:22
|
Может кто то помочь?
|
|||
8
ДенисЧ
27.03.12
✎
16:23
|
Для Каждого Стр из Ссылка_Дог.РеквизитОплатаЗаНавчання.ТабличнаяЧастьОплатиЗаНавчання Цикл
Если Стр.СумаОплати > 1 тогда СП_Д = Стр.СумаОплати ; // Перейти ~м_Обх ; КонецЕсли; КонецЦикла; Так все выведет, гарантирую... |
|||
9
Rebelx
27.03.12
✎
16:23
|
(1) Даешь Перейти!!! это наш метод!!!
(0) тебе надо делать нужные действия внутри цикла, после того как нашел нужную строку. это если по-хорошему. |
|||
10
Ненавижу 1С
гуру
27.03.12
✎
16:26
|
огласите полную постановку задачи и почему сравнивают сумму с 1?
|
|||
11
kolp821
27.03.12
✎
16:28
|
(8) я знаю, но мне нужно и 1 и 2 и 3 запись, все не нужно.
(9) пример если можно пожалуста, а то трудно очень сориентироваться. (10) это мне предстает еще разобрать, а так мне кажется это проверка на пустоту заполнения. |
|||
12
Ненавижу 1С
гуру
27.03.12
✎
16:31
|
(11) кажется, поверь
|
|||
13
kolp821
27.03.12
✎
16:34
|
(9) а как мне задать в цикле что мне нужна не первая, а пятая строка?
|
|||
14
Человечкин
27.03.12
✎
16:39
|
МояТЧ[1].Сумма
|
|||
15
Человечкин
27.03.12
✎
16:40
|
Вернее воттак: МояТЧ[НужныйНомерСтроки].Сумма
|
|||
16
Человечкин
27.03.12
✎
16:41
|
Кстати, таки якийыйсь бендеровец код писал ))))
|
|||
17
Человечкин
27.03.12
✎
16:41
|
"СумаОплати" ))
|
|||
18
kolp821
27.03.12
✎
16:42
|
(15) а можно на примере моего примера?
|
|||
19
kolp821
27.03.12
✎
16:42
|
(16) не то слово, был кипиш с этим работником.))
|
|||
20
Человечкин
27.03.12
✎
16:45
|
допустим у тебя есть списокзначений с номерами строк в ТаблЧасти:
Для Каждого Стр Из МойСписокЗначений Цикл Если СсылкаНаДокумент.ТабЧастьТовары[Стр.Значение].СумаОплати>1 Тогда Сообщить("Она дисительно больше ноля"); КонецЕсли; КонецЦикла; |
|||
21
Человечкин
27.03.12
✎
16:47
|
в список значений пихаешь нужные номера строк, и потом в цикле перебераешь нужные тебе строки по номеру строки и будет тебе щастье.
|
|||
22
Человечкин
27.03.12
✎
16:47
|
(20) вернее больше единицы
|
|||
23
kolp821
27.03.12
✎
16:49
|
(22)ок, сейчас попробую
|
|||
24
kolp821
27.03.12
✎
16:59
|
(20)
Для Каждого Стр Из Ссылка_Дог.РеквизитОплатаЗаНавчання.ТабличнаяЧастьОплатиЗаНавчання Цикл Если Ссылка_Дог.РеквизитОплатаЗаНавчання.ТабличнаяЧастьОплатиЗаНавчання[НОМЕРСТРОКИ].СумаОплати>1 Тогда СП_Д = Стр.СумаОплати ; КонецЕсли; КонецЦикла; ТабЧаст.Параметры.СП_Д = СП_Д ; Какой бы не писал номер строки в НОМЕРСТРОКИ, выводит последние значение. Что не так делаю? |
|||
25
kolp821
27.03.12
✎
17:25
|
ребята, помогите.
|
|||
26
Ненавижу 1С
гуру
27.03.12
✎
17:26
|
нас разводят
|
|||
27
kolp821
27.03.12
✎
17:34
|
(26) что ты имеешь в виду?
|
|||
28
kolp821
27.03.12
✎
17:57
|
я не кого не развожу, просто хочу получить помощь от более опытных.
|
|||
29
Reset
27.03.12
✎
18:00
|
>> Какой бы не писал номер строки в НОМЕРСТРОКИ, выводит последние значение. Что не так делаю?
НОМЕРСТРОКИ надо вот так писать: ТабличнаяЧастьОплатиЗаНавчання[1-3] Тебе же нужно с 1й по 3ю? |
|||
30
Человечкин
27.03.12
✎
18:00
|
//Тут тебе надо знать список номеров строк которые будешь проверять и внутри цикла это:
Если Ссылка_Дог.РеквизитОплатаЗаНавчання.ТабличнаяЧастьОплатиЗаНавчання[НОМЕРСТРОКИ].СумаОплати>1 Тогда СП_Д = Стр.СумаОплати ; КонецЕсли; ТабЧаст.Параметры.СП_Д = СП_Д ; |
|||
31
Человечкин
27.03.12
✎
18:04
|
СписокНомеровСтрок = Новый СписокЗначений;
СписокНомеровСтрок.Добавить(1); СписокНомеровСтрок.Добавить(2); СписокНомеровСтрок.Добавить(4); СписокСумБольшеЕдиницы = Новый СписокЗначений; Для Каждого Стр Из СписокНомеровСтрокЦикл Если СсылкаНаДокумент.ТабЧастьТовары[Стр.Значение].СумаОплати>1 Тогда СписокСумБольшеЕдиницы.Добавить(СсылкаНаДокумент.ТабЧастьТовары[Стр.Значение].СумаОплати); КонецЕсли; КонецЦикла; //Выводим все знеачения Для Каждого Стр Из СписокСумБольшеЕдиницы ТабЧаст.Параметры.СП_Д = ТабЧаст.Параметры.СП_Д+СокрЛП(Стр.Значение); КонецЦикла; |
|||
32
kolp821
27.03.12
✎
18:05
|
Спасибо, разобрался. работает
|
|||
33
Человечкин
27.03.12
✎
18:07
|
Конечно работает ;)
|
|||
34
kolp821
27.03.12
✎
18:08
|
Сделал так:
Для Каждого Стр из Ссылка_Дог.РеквизитОплатаЗаНавчання.ТабличнаяЧастьОплатиЗаНавчання[1] Цикл СП_Д = Стр ; КонецЦикла; ТабЧаст.Параметры.СП_Д = СП_Д ; Подскажите, как можно сделать, что бы номер строки можно выло выбирать с формы? можно ли сделать выпадающим списком? |
|||
35
Человечкин
27.03.12
✎
18:14
|
(34) печально...
|
|||
36
Человечкин
27.03.12
✎
18:19
|
//в модуле при открытии определяешь все строки:
Для Каждого Стр Из Ссылка_Дог.РеквизитОплатаЗаНавчання.ТабличнаяЧастьОплатиЗаНавчання Цикл ЭлементыФормы.МойРеквизит.СписокВыбора.Добавить(Стр.НомерСтроки, "Стр.НомерСтроки"); КонецЦикла; // потом где тебе нужно: Если Ссылка_Дог.РеквизитОплатаЗаНавчання.ТабличнаяЧастьОплатиЗаНавчання[МойРеквизит].СумаОплати>1 Тогда ТабЧаст.Параметры.СП_Д = МойРеквизит; КонецЕсли; |
|||
37
Человечкин
27.03.12
✎
18:20
|
ЭлементыФормы.МойРеквизит.СписокВыбора.Добавить(Стр.НомерСтроки, Стр.НомерСтроки); //<<< здесь кавычки забыл убрать
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |