|
как циклом пройти по документам реализации | ☑ | ||
---|---|---|---|---|
0
nurligaianov
23.09.15
✎
17:46
|
Подскажите пожалуйста как циклом пройти по документам реализации товаров и услуг и получить номер документа!
|
|||
1
StillEnough
23.09.15
✎
17:46
|
(0) для чего получить? просто вывести на экран или что?
|
|||
2
zak555
23.09.15
✎
17:47
|
НомеДока = ИтераторЦикла.Номер;
|
|||
3
Волшебник
модератор
23.09.15
✎
17:48
|
Для Каждого Документ Из Документы.Реализация Цикл
Документ.Номер КонецЦикла; |
|||
4
nurligaianov
23.09.15
✎
17:49
|
StillEnough, Что ты потом по этому номеру найти в табличной части файла инфу и заменить этот номер на другой, а этот номер записать в новый реквизит!
|
|||
5
ДенисЧ
23.09.15
✎
17:49
|
А зачем циклом? Раввинат не одобряет...
|
|||
6
vicof
23.09.15
✎
17:50
|
"найти в табличной части файла инфу"
впечатляет |
|||
7
ILM
гуру
23.09.15
✎
17:50
|
(3) Некошерно. Надо запросом и по выборке
|
|||
8
ILM
гуру
23.09.15
✎
17:50
|
(5) опередил
|
|||
9
nurligaianov
23.09.15
✎
17:51
|
(3) Так я пробовал не получается!
Для Каждого Документ Из Документы.Реализация Цикл Документ.Номер КонецЦикла; |
|||
10
StillEnough
23.09.15
✎
17:52
|
неужели я был такой же?
(9) делай что-нибудь с этим номером! сообщить(); там или присвой чему то! |
|||
11
nurligaianov
23.09.15
✎
17:52
|
(6) Что впечатляет? пробовал по вайлу пробегать но по номеру не ищет!
|
|||
12
dka80
23.09.15
✎
17:54
|
(9) документ.номер - это что?
Сообщить(документ.номер) сделай что ли |
|||
13
Апош
23.09.15
✎
17:55
|
(11) по 1cd вайлу?
|
|||
14
nurligaianov
23.09.15
✎
17:56
|
Кроме цикла как еще можно поменять номера в документах на другие а старые записать скажем в реквизит старый номер!
|
|||
15
nurligaianov
23.09.15
✎
17:56
|
(13) Описка: Файлу
|
|||
16
StillEnough
23.09.15
✎
17:57
|
Если iter < 0 Then
ХорошийКод = TRUE; Else ПлохойКод = ЛОЖЬ; КонецЕсли; |
|||
17
ВРедная
23.09.15
✎
17:58
|
(15) Мы увидим уже полный код?
|
|||
18
StillEnough
23.09.15
✎
17:58
|
(14) ну можно открыть первый документ, скопировать знч в реквизит, заменить номер, записать, закрыть, открыть второй документ.....
|
|||
19
Апош
23.09.15
✎
17:59
|
(18) и так пока не кончатся. это цикл...
|
|||
20
nurligaianov
23.09.15
✎
18:00
|
Пробовал циклом по файлу так выдает ошибку при получении объекта! Вот код:
Для Каждого Строка Из ТаблицаДокументов Цикл СтрКод = Число(Строка.Код); Код = ДобавитьНули(СтрКод, 11); Док = Документы.РеализацияТоваровУслуг.НайтиПоНомеру(Код); Изм = Док.ПолучитьОбъект(); Ном = ДобавитьНули(Строка.Номомер, 11); Изм.Номер = Ном; Изм.СтарыйНом = Код; КонецЦикла; |
|||
21
Апош
23.09.15
✎
18:00
|
тут сложно без цикла обойтись
|
|||
22
nurligaianov
23.09.15
✎
18:00
|
А теперь решил наоборот пройти по документам а искать в файле!
|
|||
23
Апош
23.09.15
✎
18:01
|
(22) расскажи уже, что за файл такой
|
|||
24
StillEnough
23.09.15
✎
18:01
|
(20) чем цикл не нравится? все правильно делаешь, только Изм.Записать(); не хватает в конце - изменения не сохраняются.
И что за ошибка? |
|||
25
Апош
23.09.15
✎
18:02
|
(24) не нашёлся по новому номеру
|
|||
26
nurligaianov
23.09.15
✎
18:02
|
(21) ну а как с циклом подскажи!
вот этот не работает ДДля Каждого Документ Из Документы.РеализацияТоваровУслуг Цикл Документ. Документ.Номер КонецЦикла; |
|||
27
Волшебник
модератор
23.09.15
✎
18:02
|
(9) Добавь
Попытка цикл Исключение КонецПопытки; Ошибка исчезнет. |
|||
28
dka80
23.09.15
✎
18:03
|
(20)
Для Каждого Строка Из ТаблицаДокументов Цикл Док = Документы.РеализацияТоваровУслуг.НайтиПоНомеру(Строка.Код); Изм = Док.ПолучитьОбъект(); Ном = ДобавитьНули(Число(Строка.Код), 11); Изм.Номер = Ном; Изм.СтарыйНом = Код; док.записать(); КонецЦикла; |
|||
29
nurligaianov
23.09.15
✎
18:03
|
(24) не удалось получить объект
|
|||
30
nurligaianov
23.09.15
✎
18:05
|
(28) Так не найдет так как нужно убрать триад
|
|||
31
nurligaianov
23.09.15
✎
18:06
|
Пробовал и вот так тоже не ищет
СтрКод = СтрЗаменить(Строка.Код,Символы.НПП, ""); Код = ДобавитьНули(СтрКод, 11); Док = Документы.РеализацияТоваровУслуг.НайтиПоНомеру(Код); Изм = Док.ПолучитьОбъект(); Ном = ДобавитьНули(Строка.Номомер, 11); Изм.Номер = Ном; Изм.СтарыйНом = Код; КонецЦикла; |
|||
32
dka80
23.09.15
✎
18:08
|
поставь точку останова
чему равен Код Погляди вручную есть ли в базе док с этим номером, равным значению переменной Код? |
|||
33
1sanekmaloi1
23.09.15
✎
18:08
|
НайтиПоНомеру(<НомерДокумента>, <ДатаИнтервала>)
Параметры: <НомерДокумента> (обязательный) Тип: Число; Строка. Номер искомого документа. Тип передаваемого значения зависит от установки в конфигураторе представления номера документа. <ДатаИнтервала> (необязательный) Тип: Дата. Дата из интервала, в котором проводится поиск по номеру. Сам интервал определяется как период уникальности номеров документа, в который входит указанная дата. Например, если номера документов уникальны в пределах месяца и задана дата 10 декабря 2001 года, то поиск будет проводиться в интервале с 01 по 31 декабря 2001 года. Параметр используется для документов с периодической нумерацией. обрати внимание на второй параметр, поставь там год 2015, ну или нужный |
|||
34
Апош
23.09.15
✎
18:09
|
надо дописать нулей. зачем при этом помнить номер без нулей?
|
|||
35
Апош
23.09.15
✎
18:09
|
(33) ему выбрать нужно, а не найти
|
|||
36
nurligaianov
23.09.15
✎
18:16
|
(32) 00000373846
|
|||
37
nurligaianov
23.09.15
✎
18:19
|
(34) Ошибка наверно не в том что переменная помнит номер без нулей!
|
|||
38
dka80
23.09.15
✎
18:22
|
есть док с номером 00000373846?
|
|||
39
nurligaianov
23.09.15
✎
18:23
|
(38) Да есть
|
|||
40
dka80
23.09.15
✎
18:24
|
скрин покажи где док с этим номером
|
|||
41
nurligaianov
23.09.15
✎
18:24
|
(38) Вот почему решил сделать наоборот проити циклом по документам но как?
|
|||
42
dka80
23.09.15
✎
18:27
|
Для Каждого Док Из Документы.Реализация Цикл
оДок = Док.ПолучитьОбъект(); КонецЦикла; |
|||
43
Волшебник
модератор
23.09.15
✎
18:28
|
(42) лишь бы с итератором повезло
|
|||
44
1sanekmaloi1
23.09.15
✎
18:31
|
Выборка = Документы.РеализацияТоваровУслуг.Выбрать();
Для Каждого Док Из Выборка Цикл НомерДока = Док.Номер; оДок = Док.Ссылка.ПолучитьОбъект(); оДок.Номер = "000000"+ НомерДока; Попытка оДок.Записать(); Исключение Сообщить(ОписаниеОшибки()) КонецПопытки КонецЦикла; |
|||
45
1sanekmaloi1
23.09.15
✎
18:35
|
(44)
немного не так, вот так Выборка = Документы.РеализацияТоваровУслуг.Выбрать(); Пока Выборка.Следующий() Цикл НомерДока = Выборка.Номер; оДок = Выборка.ПолучитьОбъект(); оДок.Номер = "000000"+ НомерДока; Попытка оДок.Записать(); Исключение Сообщить(ОписаниеОшибки()) КонецПопытки КонецЦикла; |
|||
46
nurligaianov
23.09.15
✎
18:35
|
(42)Так не работает пробовал!
А как здесь скин скинуть? |
|||
47
nurligaianov
23.09.15
✎
18:37
|
(45) Спасибо! Сейчас попробую!
|
|||
48
Апош
23.09.15
✎
18:38
|
(45) прав("000"+номер)
|
|||
49
nurligaianov
23.09.15
✎
18:54
|
(45) Вот так работает
Выборка = Документы.РеализацияТоваровУслуг.Выбрать(); Пока Выборка.Следующий() Цикл Док = Выборка.ПолучитьОбъект(); Номер = Док.Номер; Для Каждого Строка Из ТаблицаДокументов Цикл СтрКод = СтрЗаменить(Строка.Код,Символы.НПП, ""); УдлинКод= ДобавитьНули(СтрКод,11); Если УдлинКод = Номер Тогда СтрНом = СтрЗаменить(Строка.Номер,Символы.НПП, ""); УдлинНом = ДобавитьНули(СтрНом,11); Док.Номер = УдлинНом; КонецЕсли; Попытка Док.Записать(); Исключение Сообщить(ОписаниеОшибки()) КонецПопытки КонецЦикла; КонецЦикла; Спасибо! |
|||
50
Апош
23.09.15
✎
18:56
|
мать...
|
|||
51
nurligaianov
23.09.15
✎
19:07
|
(50) А во файлу без цикла как нибудь можно? а то что то долго там как ни как 28000 строк и по ним пробегаться долго!
|
|||
52
nurligaianov
23.09.15
✎
19:08
|
(45) А во файлу без цикла как нибудь можно? а то что то долго там как ни как 28000 строк и по ним пробегаться долго!
|
|||
53
Апош
23.09.15
✎
19:10
|
и это ты ещё не умножал на количество строк в файле ТаблицаДокументов
|
|||
54
nurligaianov
23.09.15
✎
19:11
|
(53) Нет это строки в файле ТаблицаДокументов ну и документов по идее столько же
|
|||
55
nurligaianov
23.09.15
✎
19:12
|
Как массивом отбор сделать кто нибудь подскажет?
|
|||
56
Апош
23.09.15
✎
19:13
|
Отбор=Новый Массив;
|
|||
57
nurligaianov
23.09.15
✎
19:15
|
(56) так а дальше
|
|||
58
Апош
23.09.15
✎
19:18
|
что-то я теряюсь. действительно, а что дальше?
|
|||
59
roman52
23.09.15
✎
23:22
|
(55) открой для себя язык запросов
Книга знаний: Язык запросов 8.0 и временные таблицы: Книга знаний: Временные таблицы в 8.1 |
|||
60
jsmith82
23.09.15
✎
23:27
|
Фейспалм в квадрате
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |