Имя: Пароль:
1C
1С v8
Осваиваю управляемое приложение, нужна помощь.
0 kasazanov
 
26.04.13
11:04
Программа УНФ 1.4 (УП)
Пишу обработку которая будет создавать на основании счета на оплату документ заказ покупателя.

&НаКлиенте
Процедура КнопкаНажатие(Команда);
   ФункцияНаСервере();
КонецПроцедуры

&НаСервере
Функция ФункцияНаСервере();
   
   
Для каждого стр1 из Объект.СсылкаНаОбъектТЧ Цикл
       
СоздатьДокумент = Документы.ЗаказПокупателя.СоздатьДокумент();    
СоздатьДокумент.Дата = стр1.СсылкаНаОбъект.Дата;
   
СоздатьДокумент.Записать();        
Сообщить("Создан документ ");
КонецЦикла;
   
КонецФункции

Не могу понять почему в переменную стр1 не попадают реквизиты, подскажите кто знает, заранее спасибо.
1 sTOd
 
26.04.13
11:08
(0) Забей с УФ! Оно тебе не надо.
2 Alex S D
 
26.04.13
11:10
не понятно..
3 cw014
 
26.04.13
11:10
Что у тебя является в "Объект"?
4 kasazanov
 
26.04.13
11:11
(3) Объект это внешняя обработка, Объект.СсылкаНаОбъектТЧ это созданная табличная часть с реквизитами в этой обработке.
5 toypaul
 
гуру
26.04.13
11:15
"Не могу понять почему в переменную стр1 не попадают реквизиты,"

потому что в эту переменную ничего не передается
6 hhhh
 
26.04.13
11:20
(4) ну в отладчике посмотри
7 kasazanov
 
26.04.13
11:42
В отладчике все нормально, в стр1 все передается, но когда хочу получить какойто реквизит из этого стр1. и т.д. ничего нету... в УП цикл также работает как и в обычном?
8 kasazanov
 
26.04.13
11:48
Хотябы в какой области ошибка, что я делаю не так?
9 jsmith82
 
26.04.13
11:51
обработку в студию
10 AaNnDdRrEeYy
 
26.04.13
11:52
Одну строчку добавь вторую измени

Обект_НеДанныеФормы = РеквизитФормыВЗначение("Объект");

Для каждого стр1 из Обект_НеДанныеФормы .СсылкаНаОбъектТЧ Цикл
11 jsmith82
 
26.04.13
11:53
так у тебя процедура в модуле объекта что-ле..
12 jsmith82
 
26.04.13
11:53
тогда (10)
13 kasazanov
 
26.04.13
11:55
(9) Собственно в (0) это и есть вся обработка, больше пока ничего и нету.

(11) процедура в модуле формы.
14 jsmith82
 
26.04.13
11:57
Если СсылкаНаОбъектТЧ это имя таб части обработки, а СсылкаНаОбъект это реквизит таб части типа документ ссылка, то ошибок не вижу
15 jsmith82
 
26.04.13
11:58
(13) Если это весь код, то цикла не будет, таб часть же пустая
16 jsmith82
 
26.04.13
11:59
и имена реквизитов какие-то ужасные
Таб часть СчетаНаОплату, реквизит таб части СчетНаОплату
так гораздо информативней
17 kasazanov
 
26.04.13
12:00
(14) все именно так
(15) Таб часть не пустая, т.к. я в обработке выбираю ссылку на документ.
18 AaNnDdRrEeYy
 
26.04.13
12:00
Вот на этой строке валиться?
тогда (10)
СоздатьДокумент.Дата = стр1.СсылкаНаОбъект.Дата;
19 kasazanov
 
26.04.13
12:06
(18) там как бы ничего не валится, просто ничего не происходит ))

Попробовал сделать как в (10) чето тоже не получилось не могу понять что делает "РеквизитФормыВЗначение("Объект")" сижу разбираюсь
20 jsmith82
 
26.04.13
12:07
(19) ты конфигуратор открывал? там есть отладчик
21 cw014
 
26.04.13
12:08
&НаСервере
Функция ВернутьДатуОбъекта(СсылкаНаОбъект)
   Возврат СсылкаНаОбъект.Дата;
КонецФункции

&НаКлиенте
Процедура КнопкаНажатие(Команда);
   ФункцияНаСервере();
КонецПроцедуры

&НаСервере
Функция ФункцияНаСервере();
   
   
Для каждого стр1 из Объект.СсылкаНаОбъектТЧ Цикл
       
СоздатьДокумент = Документы.ЗаказПокупателя.СоздатьДокумент();    
СоздатьДокумент.Дата = ВернутьДатуОбъекта(стр1.СсылкаНаОбъект);
   
СоздатьДокумент.Записать();        
Сообщить("Создан документ ");
КонецЦикла;
   
КонецФункции
22 cw014
 
26.04.13
12:08
Ааа, стоп
23 cw014
 
26.04.13
12:08
Оно же итак на сервере
24 cw014
 
26.04.13
12:09
Что попадает в (стр1.СсылкаНаОбъект) ???
25 kasazanov
 
26.04.13
12:12
(24) в отладчике все зашибись, все реквизиты которые нужны.
26 Aprobator
 
26.04.13
12:15
значит тип значений реквизитов приемника не соответствует типу значений реквизитов источника
27 Aprobator
 
26.04.13
12:15
это тоже можно увидеть в отладчике
28 kasazanov
 
26.04.13
12:16
29 kasazanov
 
26.04.13
12:20
Смысл в том что в стр1 все передается как надо, а когда пытаюсь что то вытащить из этого стр1 он предлагает всего 2 варианта f()Получить идентификатор и f()Свойство

Тут где то истина зарыта в управляемом приложении, в обычном это работает...
30 kasazanov
 
26.04.13
12:21
Тут что то куда то нужно преобразовать ..
31 Aprobator
 
26.04.13
12:25
а млин, так проблема, что подсказка после точки не отрабатывает?
32 Aprobator
 
26.04.13
12:27
дарю.

// для отладки
...
Если Ложь Тогда
   стр1 = Документы.СчетНаОплату.СоздатьДокумент();
КонецЕсли;
...
// вот тут после точки все будет работать.
33 kasazanov
 
26.04.13
12:27
(31) 2 варианта f()Получить идентификатор и f()Свойство
а должны выйти все реквизиты ссылки (это так в обычном приложении)
34 Aprobator
 
26.04.13
12:28
бггг, я знал, я знал )))
35 hhhh
 
26.04.13
12:32
(33) так, а где ты смотришь результат? В списке заказов сколько раз нажимаешь кнопку "Обновить" ?
36 kasazanov
 
26.04.13
13:14
(32) Вроде реквизиты после точки появились, но я не понял что произошло?
37 kasazanov
 
26.04.13
13:17
+ (36) и помоему чето вообще не то появилось.
38 olegves
 
26.04.13
13:48
а разве не

стр1.Ссылка.Дата



вместо

стр1.СсылкаНаОбъект.Дата
39 olegves
 
26.04.13
13:49
+ (38)
стр1 тип какой?
40 kasazanov
 
26.04.13
14:03
Вообщем всем спасибо за помощь, все работает и все создается как и в варианте (0) просто в стр1. (после точки помощник не выдает вариантов выбора реквизитов) я их прописал без помощника и все заработало... бред кароче какой то ..
41 Aprobator
 
26.04.13
16:31
(40) подсказка далеко не всегда работает корректно. Метод решения я тебе подсказал в (32). Главное потом это не забыть убрать, чтобы код не засоряло.