|
Не удаляются строки из ТЗ | ☑ | ||
---|---|---|---|---|
0
r1000
18.02.16
✎
08:59
|
Вот код:
ТЗ = ЭтотОбъект.Движения.ВзаиморасчетыСКонтрагентами.Выгрузить(); мСтрок = ТЗ.НайтиСтроки(Новый Структура("ДоговорКонтрагента", Дог)); Для Каждого СтрМ Из мСтрок Цикл МассивСтрок.Добавить(СтрМ); КонецЦикла; Для каждого Строка Из МассивСтрок Цикл ТЗ.Удалить(Строка); КонецЦикла; После цикла удаления, все строки ТЗ остаются на месте, хотя МассивСтрок не пустой и там есть что удалить. Что тут не так ? |
|||
1
Garykom
гуру
18.02.16
✎
09:04
|
уи ))
|
|||
2
nordbox
18.02.16
✎
09:06
|
(0)>>> Для каждого Строка Из МассивСтрок Цикл
Блин, когда запомните то???? переменную Строка замени |
|||
3
Lexey_
18.02.16
✎
09:06
|
(0) а почему массива только два?можно же больше ненужных массивов сделать
|
|||
4
nordbox
18.02.16
✎
09:07
|
Ключевые слова в качестве переменных незяяяя....
|
|||
5
НЕА123
18.02.16
✎
09:07
|
кто такой МассивСтрок, и зачем он нужен...
ТЗ = ЭтотОбъект.Движения.ВзаиморасчетыСКонтрагентами.Выгрузить(); мСтрок = ТЗ.НайтиСтроки(Новый Структура("ДоговорКонтрагента", Дог)); Для Каждого СтрМ Из мСтрок Цикл ТЗ.Удалить(Строка); КонецЦикла; |
|||
6
НЕА123
18.02.16
✎
09:08
|
*СтрМ
|
|||
7
r1000
18.02.16
✎
09:09
|
Массив строк это переменная, в которой храниться массив найденных строк. Код не весь - для простоты сократил.
мСтрок = ТЗ.НайтиСтроки(Новый Структура("ДоговорКонтрагента", Дог)); - обернуто в цикл. Т.е. там не один договор ищется, а несколько. Поэтому 2 массива. "Строка" вообще ни при чем. |
|||
8
Lexey_
18.02.16
✎
09:11
|
(7) "Т.е. там не один договор ищется, а несколько.
Поэтому 2 массива." вообще не объяснение, чем тебе мСтрок не понравился? |
|||
9
r1000
18.02.16
✎
09:11
|
Вот весь код. Там из экселя строки читаются, ищуться договоры и добавляются в массив.
Пока Стр <= Строки-1 Цикл КодДоговора = Лист.Cells(Стр, КолКод).Value; Дог = Справочники.ДоговорыКонтрагентов.НайтиПоКоду(СокрЛП(КодДоговора)); Если Дог <> Справочники.ДоговорыКонтрагентов.ПустаяСсылка() Тогда Сообщить(Дог.Код + " " + Дог.Владелец); мСтрок = ТЗ.НайтиСтроки(Новый Структура("ДоговорКонтрагента", Дог)); Для Каждого СтрМ Из мСтрок Цикл МассивСтрок.Добавить(СтрМ); КонецЦикла; Иначе Сообщить("Не найден " + Дог.Код + " " + Дог.Владелец); КонецЕсли; Стр = Стр+1; ОбработкаПрерыванияПользователя(); КонецЦикла; |
|||
10
r1000
18.02.16
✎
09:13
|
Т.ю. в конце цикла МассивСтрок содержит все договора ТЗ, которые нужно удалить. НО почему то цикл удаления не работает. Оставляя ТЗ в прежнем состоянии.
Для каждого Строка Из МассивСтрок Цикл ТЗ.Удалить(Строка); КонецЦикла; |
|||
11
Garykom
гуру
18.02.16
✎
09:15
|
(9) а уверены что ТЗ в которой потом удаляете это та же самая ТЗ в которой искали?
|
|||
12
Zhuravlik
18.02.16
✎
09:15
|
(10) Плохой код. Собери в массив все коды договоров, и обработай в запросе, как надо.
|
|||
13
nordbox
18.02.16
✎
09:16
|
Очистить() не предлагать???
|
|||
14
Ёпрст
18.02.16
✎
09:16
|
добавляй значения в массив
|
|||
15
DDwe
18.02.16
✎
09:16
|
(10) Тебе ясно намекнули про использование ключевых слов.
|
|||
16
Ёпрст
18.02.16
✎
09:16
|
во второй
|
|||
17
НЕА123
18.02.16
✎
09:22
|
ни куя не понимаю, зачем массив...
>МассивСтрок.Добавить(СтрМ); ТЗ.Удалить(СтрМ); |
|||
18
Garykom
гуру
18.02.16
✎
09:22
|
за DDoSили ТСа
|
|||
19
r1000
18.02.16
✎
09:23
|
(16)Спасибо !
|
|||
20
НЕА123
18.02.16
✎
09:24
|
да и, похоже, МассивСТрок не массив.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |