|
Цикл | ☑ | ||
---|---|---|---|---|
0
Tumakota
29.10.12
✎
09:02
|
Всем доброго времени суток! Есть Поле выбора, с типом СписокЗначей, делаю цикл
Для каждого СтрокаДок из ДокПрих цикл Док = СтрокаДок.Значение; ТЗ = Док.Товары.Выгрузить(); ТЗ.Колонки.Удалить("КоличествоМест"); ТЗ.Колонки.Удалить("ЕдиницаИзмеренияМест"); ТЗ.Колонки.Удалить("Коэффициент"); ТЗ.Колонки.Удалить("СерияНоменклатуры"); ТЗ.Колонки.Удалить("ХарактеристикаНоменклатуры"); ТЗ.Колонки.Удалить("ЗаказПокупателя"); ТЗ.Колонки.Удалить("Проект"); ТЗ.Колонки.Удалить("Склад"); ТЗ.Колонки.Удалить("ПриходныйОрдер"); ТЗ.Колонки.Удалить("КоличествоП"); ТЗ.Колонки.Удалить("ЦенаРозн"); ТЗ.Колонки.Удалить("Качество"); ТЗ.Колонки.Удалить("Количество"); ТЗ.Колонки.Удалить("Сумма"); ТЗ.Колонки.Удалить("СтавкаНДС"); ТЗ.Колонки.Удалить("СуммаНДС"); ТЗ.Колонки.Добавить("Продажи",,,8); ТЗ.Колонки.Вставить(3,"ШтрихКод",,,13); ТЗ.Колонки["НомерСтроки"].Ширина = 3; ТЗ.Колонки["Номенклатура"].Ширина = 20; ТЗ.Колонки["ЕдиницаИзмерения"].Ширина = 2; ТЗ.Колонки["Цена"].Ширина = 8; ТЗ.Колонки["Остаток"].Ширина = 8; ЭлементыФормы.ТЗ.СоздатьКолонки(); конеццикла; Но из всего списка он выбирает только последнее поступление, и выгружает товар из него хотя надо из каждого поступления, что делаю не так |
|||
1
cw014
29.10.12
✎
09:03
|
(0) И правда, что не так? В цикле постоянно перетирать таблицу
|
|||
2
Александр_
Тверь 29.10.12
✎
09:03
|
О_о
крутой код, однако |
|||
3
Живой Ископаемый
29.10.12
✎
09:03
|
сегодня праздник? или день открытых дверей?
|
|||
4
Александр_
Тверь 29.10.12
✎
09:04
|
пройдись отладчиком и попробуй понять, что ты написала.
|
|||
5
Tumakota
29.10.12
✎
09:05
|
(1) Коментирую удаление колонок, серовно будет выгружать только последнее поступление
|
|||
6
cw014
29.10.12
✎
09:05
|
(4) это мальчик :-P
|
|||
7
Живой Ископаемый
29.10.12
✎
09:05
|
я иду в магазин, говорю, дайте мне 10 бутылок пива.. Мне выставляют по одной., каждую я ставлю в пакет.. выставляют новую, смотрю - пакет нужен, я вынимаю из пакета ту, которую только что поставил, разбиваю ее, ставлю в пакет новую. И так 9 раз. С удивлением обнаруживаю 10 разбитых бутылок пива, и одну в пакете...
|
|||
8
cw014
29.10.12
✎
09:06
|
(0) Твоя ошибка тут: ТЗ = Док.Товары.Выгрузить();
|
|||
9
Живой Ископаемый
29.10.12
✎
09:06
|
2(5) У тебя нет нигде НоваяСтрока = ТЗ.Добавить();
|
|||
10
Mkonst
29.10.12
✎
09:12
|
(7) капец, 9 бутылок дорого пива расфигарил...
|
|||
11
Живой Ископаемый
29.10.12
✎
09:14
|
да, точно, 9... одну не расфигарил. Вот такой я молодец. И потом пришел на форум - и спрашиваю - почему я трачу так много денег, но напиться все равно не выходит, что я делаю не так?
|
|||
12
Serg_1960
29.10.12
✎
09:15
|
Чего автор хотел? Непонятно :( Выкладывай алгоритм полностью... раз такая ... в начале... чего уж тут... ммм... скромничать.
|
|||
13
Tumakota
29.10.12
✎
09:17
|
Для каждого СтрокаДок из ДокПрих цикл
Док = СтрокаДок.Значение.Товары.Выгрузить(); ТЗ = Док; //ТЗ.Колонки.Удалить("КоличествоМест"); //ТЗ.Колонки.Удалить("ЕдиницаИзмеренияМест"); //ТЗ.Колонки.Удалить("Коэффициент"); //ТЗ.Колонки.Удалить("СерияНоменклатуры"); //ТЗ.Колонки.Удалить("ХарактеристикаНоменклатуры"); //ТЗ.Колонки.Удалить("ЗаказПокупателя"); //ТЗ.Колонки.Удалить("Проект"); //ТЗ.Колонки.Удалить("Склад"); //ТЗ.Колонки.Удалить("ПриходныйОрдер"); //ТЗ.Колонки.Удалить("КоличествоП"); //ТЗ.Колонки.Удалить("ЦенаРозн"); //ТЗ.Колонки.Удалить("Качество"); //ТЗ.Колонки.Удалить("Количество"); //ТЗ.Колонки.Удалить("Сумма"); //ТЗ.Колонки.Удалить("СтавкаНДС"); //ТЗ.Колонки.Удалить("СуммаНДС"); ТЗ.Колонки.Добавить("Продажи",,,8); ТЗ.Колонки.Вставить(3,"ШтрихКод",,,13); ТЗ.Колонки["НомерСтроки"].Ширина = 3; ТЗ.Колонки["Номенклатура"].Ширина = 20; ТЗ.Колонки["ЕдиницаИзмерения"].Ширина = 2; ТЗ.Колонки["Цена"].Ширина = 8; ТЗ.Колонки["Остаток"].Ширина = 8; ЭлементыФормы.ТЗ.СоздатьКолонки(); конеццикла; Для каждого стр Из ТЗ Цикл ВыборкаМ = ОтчетМ(стр.Номенклатура); Пока ВыборкаМ.Следующий() Цикл стр.Продажи = ВыборкаМ.КоличествоОборот; КонецЦикла; ВыборкаО= ОтчетО(стр.Номенклатура); Пока ВыборкаО.Следующий() Цикл стр.Остаток = ВыборкаО.КоличествоОстаток; КонецЦикла; стр.ШтрихКод = НайтиШК(стр.Номенклатура); КонецЦикла; вот тебе весь алгоритм |
|||
14
Александр_
Тверь 29.10.12
✎
09:21
|
(13) тебе вроде уже все сказали.
ТЗ = Док; - тут ты, наверное, хотел бы, чтобы к ТЗ ДОБАВИЛИСЬ значения, а они ЗАМЕНЯЮТСЯ. понимаешь? т.е. ты каждый раз затираешь ТЗ. |
|||
15
Александр_
Тверь 29.10.12
✎
09:23
|
а вообще код какой-то мутный.
то что-то выгружаешь, то устанавливаешь ширину в цикле и создаешь колонки. |
|||
16
Александр_
Тверь 29.10.12
✎
09:31
|
Если не вдаваться в задачу, то тебе надо как-то так делать:
ТЗ.Очистить(); Для каждого СтрокаДок из ДокПрих цикл Для каждого СтрокаТЧ из СтрокаДок.Значение.Товары Цикл НСтрока = ТЗ.Добавить(); НСтрока.Номенклатура = СтрокаТЧ.Номенклатура; НСтрока.ЕдиницаИзмерения = СтрокаТЧ.ЕдиницаИзмерения; НСтрока.Цена = СтрокаТЧ.Цена; НСтрока.Остаток = СтрокаТЧ.Остаток; КонецЦикла; конеццикла; ТЗ.Колонки.Добавить("Продажи",,,8); ТЗ.Колонки.Вставить(3,"ШтрихКод",,,13); ТЗ.Колонки["НомерСтроки"].Ширина = 3; ТЗ.Колонки["Номенклатура"].Ширина = 20; ТЗ.Колонки["ЕдиницаИзмерения"].Ширина = 2; ТЗ.Колонки["Цена"].Ширина = 8; ТЗ.Колонки["Остаток"].Ширина = 8; ЭлементыФормы.ТЗ.СоздатьКолонки(); Для каждого стр Из ТЗ Цикл ВыборкаМ = ОтчетМ(стр.Номенклатура); Пока ВыборкаМ.Следующий() Цикл стр.Продажи = ВыборкаМ.КоличествоОборот; КонецЦикла; ВыборкаО= ОтчетО(стр.Номенклатура); Пока ВыборкаО.Следующий() Цикл стр.Остаток = ВыборкаО.КоличествоОстаток; КонецЦикла; стр.ШтрихКод = НайтиШК(стр.Номенклатура); КонецЦикла; |
|||
17
Александр_
Тверь 29.10.12
✎
09:32
|
если у твоего ТЗ нет колонок Номенклатура,ЕдиницаИзмерения,Цена и т.д. то их надо предварительно создать
ТЗ.Колонки.Добавить("Номенклатура"); |
|||
18
k1us181b
29.10.12
✎
09:36
|
"почему я трачу так много денег, но напиться все равно не выходит, что я делаю не так"
убил, ржу очень долго, спасибо! |
|||
19
Александр_
Тверь 29.10.12
✎
09:39
|
+(16) но сразу скажу, сам подход какой-то не правильный.
Тру вей - передать массив ссылок на документы из твоего списка значений в запрос, и получить сразу ВСЕ одним запросом (в т.ч. штрих-код, остаток и продажи). |
|||
20
Web00001
29.10.12
✎
09:53
|
(19) тут как я понимаю, надо чтоб заработало, хоть как то, все равно как.
Человеку просто надо научиться пользоваться отладчиком, но с таким кодом, вроде как лучше программирование вообще пропустить. Может и ошибаюсь конечно... |
|||
21
Serg_1960
29.10.12
✎
10:01
|
Автору, имхо, показать в экранной форме результат обычного запроса на обороты и остатки по номенклатуре из "ДокПрих"...
PS: легче всё заново написать, чем править... это. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |