|
v7: СоздатьОбъект | ☑ | ||
---|---|---|---|---|
0
MagicFly
13.09.11
✎
08:53
|
Помогите, пожалуйста. Как правильно написать процедуру, формирующую новый документ? У меня есть следую текст:
Процедура Выполнить() Спр = СоздатьОбъект("Справочник.Приборы"); Пока ПолучитьСтроку()=1 Цикл Если ((МестоПоверки=Перечисление.МестоПоверки.ЦСМ) или (ПустоеЗначение(МестоПоверки)=1)) Тогда Продолжить; Док = СоздатьОбъект("Документ.КТПТР"); Док.Новый(); Док.НоваяСтрока(); Док.Номенклатура = Спр.ТекущийЭлемент(); КонецЕсли; КонецЦикла; Док.Записать(); Док.Провести(); КонецПроцедуры При проведении пишет:Док.Записать(); Значение не представляет агрегатный объект (Записать) |
|||
1
Rie
13.09.11
✎
08:54
|
(0) А если условие не выполнится - то что ты Записать пытаешься?
|
|||
2
ЧеловекДуши
13.09.11
✎
08:55
|
(0)Читай Жёлтые книги 2 книги :)
|
|||
3
miki
13.09.11
✎
08:55
|
ты же создаешь объект и новый док в зависимости от условия. а записать пытаешься _всегда_. Вот когда условие ложно, то и матюкается. записывать-то собственно и нечего.
|
|||
4
andrewks
13.09.11
✎
08:55
|
Если ((МестоПоверки=Перечисление.МестоПоверки.ЦСМ) или (ПустоеЗначение(МестоПоверки)=1)) Тогда
Продолжить; Док = СоздатьОбъект("Документ.КТПТР"); Док.Новый(); Док.НоваяСтрока(); Док.Номенклатура = Спр.ТекущийЭлемент(); КонецЕсли; зачёт........ |
|||
6
andrewks
13.09.11
✎
08:56
|
(3) ты ещё на сам условный оператор полностью глянь
|
|||
7
povar
13.09.11
✎
08:56
|
(4) действительно магический мух
|
|||
8
povar
13.09.11
✎
08:57
|
зы. Вон из профессии !
|
|||
9
miki
13.09.11
✎
08:58
|
(6)Ну, пинать так пинать :)
За СоздатьОбъект в цикле - в сад! |
|||
10
forforumandspam
13.09.11
✎
09:00
|
Спр = СоздатьОбъект("Справочник.Приборы");
Док.Номенклатура = Спр.ТекущийЭлемент(); Тоже очень интересно... |
|||
11
Анна_84
13.09.11
✎
09:02
|
черствые, бессердечные люди! человек всего то 3г8м в 1С, а вы его так вот сразу... ну новичок пока он
|
|||
12
forforumandspam
13.09.11
✎
09:04
|
(11) ДЕНЬ ПРОГРАММИСТА, ёптыть!!!!
|
|||
13
andrewks
13.09.11
✎
09:09
|
(12) думаешь, он уже заквасил, и поэтому такой код вышел? а чё, выглядит правдоподобно
|
|||
14
andrewks
13.09.11
✎
09:10
|
(0)
1. Спр не спозиционирован 2. (9) 3. вот это: Док = СоздатьОбъект("Документ.КТПТР"); Док.Новый(); Док.НоваяСтрока(); Док.Номенклатура = Спр.ТекущийЭлемент(); КонецЕсли; у тебя никогда не выполнится 4. ну и вообще... ну ты понял |
|||
15
povar
13.09.11
✎
09:10
|
(13) судя по его темам, он всегда в закваске
|
|||
16
Godofsin
13.09.11
✎
09:10
|
(13) Только если пару бутылок вискаря....
|
|||
17
aka AMIGO
13.09.11
✎
09:11
|
Спр = СоздатьОбъект("Справочник.Приборы");
Спр.ВыбратьЭлементы(); Пока Спр.ПолучитьЭлемент()=1 Цикл Если... Тогда .... Док.Новый(); .... Док.Записать(); Док.Провести(); КонецЕсли; КонецЦикла; .... КонецВсему; |
|||
18
aka AMIGO
13.09.11
✎
09:12
|
Если ((Спр.МестоПроверки =Перечисление.МестоПоверки.ЦСМ) или (ПустоеЗначение(Спр.МестоПоверки)=1)) Тогда
|
|||
19
povar
13.09.11
✎
09:13
|
(17) битва экстрасенсов ? Какой сезон ?
|
|||
20
forforumandspam
13.09.11
✎
09:13
|
(18) А может там не выбирать надо, а найти элемент справочника?
|
|||
21
forforumandspam
13.09.11
✎
09:14
|
(18) Тоде уже вдарил? А если "МестоПроверки" - элемент формы или глобальная переменная?
|
|||
22
aka AMIGO
13.09.11
✎
09:14
|
(19) первый :)
проба пера :) |
|||
23
aka AMIGO
13.09.11
✎
09:15
|
(21) у него, судя по коду, реквизит справочника :)
|
|||
24
1Сергей
13.09.11
✎
09:15
|
Ещё ошибка: нет ВыбратьСтроки()
|
|||
25
andrewks
13.09.11
✎
09:15
|
понабежали... испугали автора )
|
|||
26
aka AMIGO
13.09.11
✎
09:16
|
(20) да пусть ищет :)
|
|||
27
1Сергей
13.09.11
✎
09:16
|
Ещё ошибка: Не видно процедуры ОбработкаПроведения(), хотя в сабже говорится про проведение
|
|||
28
andrewks
13.09.11
✎
09:17
|
(27) э?
|
|||
29
1Сергей
13.09.11
✎
09:18
|
(28) шо?
|
|||
30
aka AMIGO
13.09.11
✎
09:18
|
(24) имхо - это он так элементы справочника, как строки, выбирает :)
(27) и выборГруппы() надо-бы.. этак ты все функции ОВЯ заставишь человека записать в код :) |
|||
31
andrewks
13.09.11
✎
09:19
|
(29) где там про модуль проведения?
|
|||
32
1Сергей
13.09.11
✎
09:20
|
(31) >>При проведении пишет:Док.Записать()
|
|||
33
aka AMIGO
13.09.11
✎
09:20
|
(31) а и точно! прав 1Сергей: в сабже написано "при проведении" :)
|
|||
34
forforumandspam
13.09.11
✎
09:21
|
Если он находится в модуле документа(на это указывает "ПолучитьСтроку()=1"), то "МестоПроверки", возможно, реквизит таблично части документа.
|
|||
35
1Сергей
13.09.11
✎
09:22
|
(34) и я о том же
|
|||
36
andrewks
13.09.11
✎
09:22
|
(32)(33) угу, вижу. я в ещё большем щоке
|
|||
37
aka AMIGO
13.09.11
✎
09:22
|
(34) и это возможно :)
|
|||
38
forforumandspam
13.09.11
✎
09:22
|
(33) Проведением он может называть всё что угодно, не стоит на этом заострять внимание.
|
|||
39
MagicFly
13.09.11
✎
09:29
|
МестоПоверки реквизит ТЧ, перечисление
|
|||
40
aka AMIGO
13.09.11
✎
09:37
|
(39) тогда оставь своё условие.
а вот Спр.ТекущийЭлемент(); у тебя не определен. |
|||
41
Lepochkin
13.09.11
✎
09:49
|
А что проводить то собрался??? Неизвестный объект. До проведения тут дело и дойти не успело.
|
|||
42
1Сергей
13.09.11
✎
09:55
|
Да, кстати. Строка:
Док.Провести(); в модуле проведения приведёт к огромному болту |
|||
43
MagicFly
13.09.11
✎
10:01
|
Как бы цель следующего содержания, надо создать документ, но при некотором условии. Т.е. не все строки взять из этого документа, а только те, которые удовлетворяют условию, реквизит МестоПовери, который является перечислением, будет выбран ЦСМ или он пустой, т.е. в этом случае эти строки не надо отбирать, а продолжать дальше перебирать строки
|
|||
44
miki
13.09.11
✎
10:02
|
(43)вариант:
выгрузи ТЧ в ТЗ, удали лишнее, если что осталось - новый док и загружай строки из ТЗ. |
|||
45
Escander
13.09.11
✎
10:06
|
Слушайте, ну чего сегодня так жёстко-то, не пятница ведь!
Процедура Выполнить() Спр = СоздатьОбъект("Справочник.Приборы"); Док = СоздатьОбъект("Документ.КТПТР"); ФФ=0; ВыбратьСтроки(); Пока ПолучитьСтроку()=1 Цикл Если ((МестоПоверки=Перечисление.МестоПоверки.ЦСМ) или (ПустоеЗначение(МестоПоверки)=1)) Тогда Продолжить; КонецЕсли; Если фф=0 Тогда Док.Новый(); фф=1; КонецЕсли; Док.НоваяСтрока(); //вот ту т следует спозиционировать куда надо, т.к. без этого след. строка выдаст ошибку Док.Номенклатура = Спр.ТекущийЭлемент(); КонецЕсли; КонецЦикла; Если фф=1 Тогда Док.Записать(); Док.Провести(); КонецЕсли; КонецПроцедуры |
|||
46
povar
13.09.11
✎
10:07
|
еще один...
|
|||
47
Escander
13.09.11
✎
10:08
|
(44) а ещё лучше запросом сразу со всеми условиями и результат запроса в ТЗ. Только имхо рано
|
|||
48
MagicFly
13.09.11
✎
10:12
|
(45) выдает ошибку след. содержания: Док.Новый(); Значение не представляет агрегатный объект (Новый)
|
|||
49
Escander
13.09.11
✎
10:21
|
(48) а что выдаст Сообщить(ТипЗначения(Док)); если поставить её перед
Док.Новый(); |
|||
50
zahar140382
13.09.11
✎
10:22
|
Может он прикалывается???
|
|||
51
Escander
13.09.11
✎
10:22
|
кста, а как там с правами у того пользователя из под которого?
|
|||
52
zahar140382
13.09.11
✎
10:22
|
очень похоже
|
|||
53
Escander
13.09.11
✎
10:23
|
(50) он скорее всего туда что-то запихнул, т.к. если-бы проблема была в правах - был-бы еррор.
Не ну прям как пятницо! |
|||
54
zahar140382
13.09.11
✎
10:25
|
Все идем к руководству и говорим впредь день программиста красное число и следующий за ним день.
|
|||
55
zahar140382
13.09.11
✎
10:25
|
)))
|
|||
56
MagicFly
13.09.11
✎
10:26
|
(49) выдает цифру 2
|
|||
57
Escander
13.09.11
✎
10:28
|
(56) 2 - строковый тип данных
а теперь расскажи зачем туда строку пихаешь? Иил может вызов отсюда куда-то делаешь? На всякий пожарный после объйвления процедуры добавь строку: Перем Док; |
|||
58
1Сергей
13.09.11
✎
10:29
|
(56) Док - реквизит документа штоль?
|
|||
59
MagicFly
13.09.11
✎
10:29
|
нет
|
|||
60
povar
13.09.11
✎
10:30
|
(59) замени Док на Док1
|
|||
61
zahar140382
13.09.11
✎
10:30
|
бред какойто!!
|
|||
62
Escander
13.09.11
✎
10:32
|
(61)намана, я тоже первое время всякую хрень писал...
другое дело что сегодня уже штук 5 таких тем видел... при то, что не искал их! |
|||
63
zahar140382
13.09.11
✎
10:33
|
Машины взбунтовали.день программиста есть, а дня железа нет
|
|||
64
zahar140382
13.09.11
✎
10:34
|
в одном случае док поруске в дргом косяк
|
|||
65
zahar140382
13.09.11
✎
10:35
|
посмотри Док где как написано перепиши руками порусски
|
|||
66
zahar140382
13.09.11
✎
10:40
|
накопируют из инета потом думают где косяк)))
|
|||
67
Escander
13.09.11
✎
10:43
|
ТС что там?
|
|||
68
zahar140382
13.09.11
✎
10:43
|
Док и Дoк отличи во втором случае o английская
|
|||
69
zahar140382
13.09.11
✎
10:44
|
(67) да думаю ЗАРАБОТАЛО)))))
|
|||
70
zahar140382
13.09.11
✎
10:44
|
побежал за пивом
|
|||
71
zahar140382
13.09.11
✎
10:46
|
||||
72
Escander
13.09.11
✎
10:47
|
(71) реально сегодня ПЯТНИЦО!!!!!
|
|||
73
Визард
13.09.11
✎
10:49
|
(15) не он пишет документаху :) к своей нетленке
OFF: Состав документации по описанию собственной конфигурации 1С |
|||
74
zahar140382
13.09.11
✎
10:50
|
Escander да 99% у него был док не док
после Док = СоздатьОбъект("Документ.КТПТР"); Док.Новый(); выдает ошибку след. содержания: Значение не представляет агрегатный объект (Новый)Это толко может быть если Док <> Док |
|||
75
zahar140382
13.09.11
✎
10:57
|
ну все не досвидания не спасибо)))
|
|||
76
zahar140382
13.09.11
✎
10:58
|
либо винду свалил горе кодер либо...
|
|||
77
zahar140382
13.09.11
✎
10:59
|
Мужики всех с днем программиста(1С)
|
|||
78
MagicFly
13.09.11
✎
11:00
|
ВАС всех тоже
|
|||
79
MagicFly
13.09.11
✎
11:00
|
с днем программиста
|
|||
80
zahar140382
13.09.11
✎
11:00
|
(79) ну че заработало?
|
|||
81
MagicFly
13.09.11
✎
11:01
|
ну почти, документ записывается, только пустая строка в табличную часть идет
|
|||
82
forforumandspam
13.09.11
✎
11:02
|
(81) бугага!
|
|||
83
Escander
13.09.11
✎
11:05
|
(81) счётчик спозиционировал? А ведь я сразу подозревал что там ещё море других реквизитов... за вас их будет Пушкин заполнять?
|
|||
84
MagicFly
13.09.11
✎
11:05
|
Всё!!!!! Взлетело. Всем спасибо
|
|||
85
zahar140382
13.09.11
✎
11:06
|
доделал перебор номенклатуры?
|
|||
86
zahar140382
13.09.11
✎
11:06
|
у тя небыло выбора номенклатуры
|
|||
87
zahar140382
13.09.11
✎
11:07
|
ты из Спр ничего невыбирал в коде
|
|||
88
zahar140382
13.09.11
✎
11:07
|
давай удачи .с ПРАЗДНИКОМ
|
|||
89
1Сергей
13.09.11
✎
11:58
|
расплескало Захара по всей ветке
|
|||
90
ЧеловекДуши
13.09.11
✎
12:01
|
(73)Видимо автор в (0) не прочитал ЖКК :D
|
|||
91
forforumandspam
13.09.11
✎
12:08
|
(89) Не только в этой.
|
|||
92
Aprobator
13.09.11
✎
14:11
|
(0) песец. У тебя док создается в цикле. Соответственно, что если захода в цикл не было, то и док нету вообще. Постов почти на сотню из за фигни развели.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |