|
не повторяется цикл и проблема с кодом | ☑ | ||
---|---|---|---|---|
0
r2d24
23.09.13
✎
11:03
|
Здравствуйте, мне нужна помощь с кодом. Код написан в обработке. Код ищет остатки по регистру накопления "Партии товаров на складах" и добавляет в документ "корректировка записей регистров".
Вопрос1: строку "док1.ВидДвижения=ВидДвиженияНакопления.Расход" (это строка1) он выполняет только один раз, в отличие от других реквизитов (Номенклатура, склад, количество) Вопрос2: не знаю как сделать регистратор, т.е. указать каким документом был куплен товар (это строка2) Запрос1 = Новый Запрос; Запрос1.Текст= "ВЫБРАТЬ | ПартииТоваровНаСкладах.Номенклатура, | ПартииТоваровНаСкладах.Склад, | ПартииТоваровНаСкладах.Количество |ИЗ | РегистрНакопления.ПартииТоваровНаСкладах КАК ПартииТоваровНаСкладах"; Выборка=Запрос1.Выполнить().Выбрать(); Док = Документы.КорректировкаЗаписейРегистров.СоздатьДокумент(); Док.Дата = НачалоГода(ТекущаяДата()); ДвиженияДок = Док.Движения; Регистры = Док.ТаблицаРегистровНакопления.Добавить(); Регистры.Имя = "ПартииТоваровНаСкладах"; Регистры.Представление = "Партии Товаров На Складах (Управленческий Учет)"; ТоварыНаСкладах=ДвиженияДок.ПартииТоваровНаСкладах; Пока Выборка.Следующий() Цикл док1=ТоварыНаСкладах.Добавить(); док1.Номенклатура=Выборка.Номенклатура; док1.ВидДвижения=ВидДвиженияНакопления.Расход; //(ЭТО СТРОКА1) //док1.ДокументОприходования. //(ЭТО СТРОКА2) док1.Склад=Выборка.Склад; док1.Количество=Выборка.Количество; КонецЦикла; Док.ПолучитьФорму().Открыть(); |
|||
1
Defender aka LINN
23.09.13
✎
11:06
|
"строку "док1.ВидДвижения=ВидДвиженияНакопления.Расход" (это строка1) он выполняет только один раз, в отличие от других реквизитов (Номенклатура, склад, количество)" - свистёжь.
"не знаю как сделать регистратор, т.е. указать каким документом был куплен товар (это строка2)" - двойной свистежь, в коде ни слова про регистратор. И в измерение "ДокументОприходования" корректировка не кладется. |
|||
2
r2d24
23.09.13
✎
11:10
|
(1) я говорю правду, строка "док1.ВидДвижения=ВидДвиженияНакопления.Расход" выполняется только один раз, не смотря, что находится в цикле?
|
|||
3
Defender aka LINN
23.09.13
✎
11:19
|
(2) А остальные строки, которые ниже находятся отрабатывают, значит... И ты реально ждешь, что кто-то в это поверит?
Фотку замера производительности в студию. |
|||
4
Галахад
гуру
23.09.13
✎
11:22
|
Наверное на форме не видно.
|
|||
5
Rie
23.09.13
✎
11:34
|
(2) А сколько раз выполняется тело цикла?
|
|||
6
r2d24
23.09.13
✎
11:37
|
(5) док1.ВидДвижения=ВидДвиженияНакопления.Расход; - она выполняется один раз, а остальные строки, ровно столько сколько номенклатуры, у меня их две "дрель" 4 шт и "рыба" 3 шт
|
|||
7
Maxus43
23.09.13
✎
11:40
|
(6) да не бывает чудес, дай скрин (3), замер покажет правду
|
|||
8
BuHu
23.09.13
✎
11:41
|
(6) т.е. в таблице ТоварыНаСкладах после цикла , две строки , но колонка ВидДвижения заполнена только в одной строке?
|
|||
9
Defender aka LINN
23.09.13
✎
11:48
|
(8) Кэп подсказывает, что эта колонка не может быть не заполнена.
|
|||
10
r2d24
23.09.13
✎
11:49
|
(8) да
|
|||
11
r2d24
23.09.13
✎
11:50
|
а как вам скрин скину, здесь только текст
|
|||
12
r2d24
23.09.13
✎
11:50
|
могу на почту скинуть
|
|||
13
Maxus43
23.09.13
✎
11:51
|
(12) на любой хостинг картинок кидай, а сюда ссылку
|
|||
14
BuHu
23.09.13
✎
11:53
|
(10) не верю , после цикла ТоварыНаСкладах.ВыбратьСтроку() и сюда скрин того , что выдаст программа
|
|||
15
r2d24
23.09.13
✎
12:01
|
ссылка на скрин:
http://files.mail.ru/F1718BAAB3954E32B5E4AC6766FF4A46 |
|||
16
Maxus43
23.09.13
✎
12:08
|
монструозная ссылка....
1. Вобще то просили скрин Замера производительности. 2. что в коде (0) есть док1? К корректировке записей регистров надо прикреплять набор записей, при чем тут корректировка записей вобще? |
|||
17
Галахад
гуру
23.09.13
✎
12:09
|
Фигня какая-то.
В коде нет документа оприходования, а на скрине есть. |
|||
18
Defender aka LINN
23.09.13
✎
12:10
|
(15) А ты молодец. 6-метровый бмп, на котором хрен что увидишь и на котором один хрен нет того, что у тебя просили. Продолжай в том же духе
|
|||
19
BuHu
23.09.13
✎
12:12
|
(15) если захочешь выложить скрин того , что у тебя просят , сохрани его в формате jpeg хотя бы
|
|||
20
Godofsin
23.09.13
✎
12:15
|
(15) savepic.ru
|
|||
21
r2d24
23.09.13
✎
12:17
|
С замером я еще не научился работать, поэтому дал что мог.
Я же только учусь, и у вас попросил помощи. Код и скрин с результатом я дал, с замером правда плохо работаю. |
|||
22
Maxus43
23.09.13
✎
12:19
|
(21) дело уже не в замере...
Объясни толком что ты хочешь сделать, в какой документ что записать, На скрине Корректировка записей, заполнять его надо набором записей, а не мифическими док1=ТоварыНаСкладах.Добавить();, это вобще непонятно что такое |
|||
23
r2d24
23.09.13
✎
12:40
|
(22) у меня обработка программно создает документ "корректировка записей регистров", ищет остатки по регистру накопления "Партии товаров на складах" и заполняет ими табличную часть.
|
|||
24
Maxus43
23.09.13
✎
12:42
|
(23) ну и делай...
Набор = РегистрыНакопления.Партиитоваровнаскладах.СоздатьНаборЗаписей(); Набор.Отбор.Регистратор.Установить(СсылкаНаДокКорректировкиЗаписей); СтрокаНабора = Набор.Добавить(); ..... //заполняй |
|||
25
catena
23.09.13
✎
12:43
|
(23)Ты, надеюсь, в курсе, что приведенный запрос собирает вовсе не остаток?
|
|||
26
Defender aka LINN
23.09.13
✎
13:29
|
(24) Не, у него как раз более-менее нормально создание документа описано.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |