|
подскажите как в цикле делать такое. |
☑ |
0
zippygrill
25.06.12
✎
10:48
|
задачка скорее всего тривиальная для многих.
есть сл. таблица
пока тек. значение в колонке NDOC не отличается от следующей то скажем создать документ?
|
|
1
Адинэснег
25.06.12
✎
10:49
|
выбери в запросе с группировкой, потом обход с группировкой
|
|
2
izekia
25.06.12
✎
10:51
|
сравнивать с предыдущим значением никак?
|
|
3
Рэйв
25.06.12
✎
10:51
|
ндосДО="QDFWEFSDF";
Для каждого Стр Из Таб Цикл
Если Стр.ТекНДОС<>ндосДО Тогда
//тут создаем новый док
КонецЕсли;
//тут заполняем
//....
ндосДО=Стр.ТекНДОС;
КонецЕсли;
//вконце записываем последний док
|
|
4
izekia
25.06.12
✎
10:51
|
ндосДО=Неопределено;
так правильнее
|
|
5
Адинэснег
25.06.12
✎
10:52
|
Пока ВыбДок.Следующий() Цикл
// Создаем док, заполняем шапку
ВыбНоменклатура = ВыбДок.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыбНоменклатура.Следующий() Цикл
// Заполняем ТЧ
КонецЦикла;
// Проводим
КонецЦикла;
|
|
6
Рэйв
25.06.12
✎
10:53
|
(4)Да одна фигня:-)
|
|
7
zippygrill
25.06.12
✎
10:54
|
(6) запрос понял как. больше интересует программно.
(3) спс. сейчас так попробую.
|
|
8
Rizhij_Nikitos
25.06.12
✎
10:54
|
Если это табличное поле, тогда делай так:
СтараяСтрока="";
Для каждого Строка из ТабличноеПоле Цикл
Если Строка.NDOC<>СтараяСтрока Тогда
НовыйДокумент=Документы.ИмяДокумента.НовыйДокумент();
НовыйДокумент.Дата=ТекущаяДата();
НовыйДокумент.Записать();
КонецЕсли;
СтараяСтрока=Строка.NDOC;
КонецЦикла;
|
|
9
zippygrill
25.06.12
✎
10:56
|
(4) тип моей колонке строка и лучше будет ндосДО=""; :)
|
|
10
izekia
25.06.12
✎
10:57
|
(9) ну изначально не было определено что значение не может быть пустой строкой, поэтому правильнее все же в (4)
|
|
11
zippygrill
25.06.12
✎
10:58
|
(10) ага
|
|
12
Reset
25.06.12
✎
11:00
|
(8) Табличное поле - это не коллекция. Не коллекция, ять.
|
|
13
Rizhij_Nikitos
25.06.12
✎
11:02
|
(12)Я думаю меня все поняли.
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший