Вход | Регистрация


1С:Предприятие ::

Метки:

Значение не является значением объектного типа

Я
   mnimo
 
17.05.11 - 20:46
Сч=СокрЛП(Прав("0000000"+Ном,7));
        Док=Документы.ОС_ВводОстатков.НайтиПоНомеру(Сч);
        Строка=Док.ОсновныеСредства.Найти(Ном,"НомерСтроки");
        
        Сообщить(Строка.Сумма);

Значение не является значением объектного типа (Сумма)???
5
 
 
   zak555
 
1 - 17.05.11 - 20:47
что нужно из документа получить ?
   mnimo
 
2 - 17.05.11 - 20:49
Строки в табличной части, из строк (при нажатии открывается форма в которой есть поле "Сумма"). Вот эту сумму...
   zak555
 
3 - 17.05.11 - 20:49
ОсновныеСредства - это ТЧ дока :?
   mnimo
 
4 - 17.05.11 - 20:50
Да
   shuhard
 
5 - 17.05.11 - 20:58
(0)[НайтиПоНомеру(Сч);]
не взлетит
   mnimo
 
6 - 17.05.11 - 20:59
Дак нашло же.
   mnimo
 
7 - 17.05.11 - 20:59
В отладчике проверено, с кол-вом доков сошлось, Всё пучком. Проблема собстно не в этом так то!!!!
8
   hhhh
 
8 - 17.05.11 - 21:23
(7) а кто тебе такие бредовые задания выдает? ТО есть если ном = 200, то ты берешь из документа № 200 строку тоже № 200, а предыдущие 199 строк этого документа вас не интересуют. Клад что ли ищете? Или для спиритического сеанса ваяете?
11
12
   nop
 
9 - 17.05.11 - 21:25
Строка = Неопределено?
Запросы не предлагать?
   maip1
 
10 - 17.05.11 - 21:27
Имя переменной Строка замени на Стр, напр.
11
 
 
   mnimo
 
11 - 17.05.11 - 21:36
(8) Скорей для спиритического сеанса))
(10) Вот этого не понял, в чём разница?
   mnimo
 
12 - 17.05.11 - 21:43
(8)И правда ерунда)))

Сч=СокрЛП(Прав("0000000"+Ном,7));
        Док=Документы.ОС_ВводОстатков.НайтиПоНомеру(Сч);
        НомСтр=1;
        Пока НомСтр<100 Цикл
        Стр=Док.ОсновныеСредства.Найти(НомСтр,"НомерСтроки");
        Сообщить(Стр.Сумма);
КонецЦикла;

Ну как то так...
Но не понимаю почему ошибка???
15
   maip1
 
13 - 17.05.11 - 21:44
Строка - зарезервированное слово
   mnimo
 
14 - 17.05.11 - 21:47
Значение не является значением объектного типа...
Что это значит то хоть???
ТО что искомое не является объектом???
   hhhh
 
15 - 17.05.11 - 21:47
(12) может не через задницу писать, а по-нормальному?

Для Каждого Стр Из Док.ОсновныеСредства Цикл
       Сообщить(Стр.Сумма);
КонецЦикла;
16
24
48
   mnimo
 
16 - 17.05.11 - 21:49
(15)Может))) извините что отнимаю ваше время)))
   sanja26
 
17 - 17.05.11 - 21:49
строка твоя ссылка
19
   zak555
 
18 - 17.05.11 - 21:49
Стр=Док.ОсновныеСредства.Получить(НомСтр);
Сумма = Стр.сумма$
20
   mnimo
 
19 - 17.05.11 - 21:49
(17)А как вытащить значение???
   mnimo
 
20 - 17.05.11 - 21:53
(18)Ошибка при вызове метода контекста (Получить)
   sanja26
 
21 - 17.05.11 - 21:53
А у табличной части есть поле Сумма?
   mnimo
 
22 - 17.05.11 - 21:55
Есть.
23
   hhhh
 
23 - 17.05.11 - 22:02
(22) всё-таки
Стр=Док.ОсновныеСредства.Получить(НомСтр - 1);
   mnimo
 
24 - 17.05.11 - 22:04
(15) Так к стати не видит строки и обходит цикл.
25
   hhhh
 
25 - 17.05.11 - 22:08
(24) в отладчике открой это твоё Стр и посмотри чего в нем.
   zak555
 
26 - 17.05.11 - 22:15
кстати, Получить
Доступность:

Сервер, толстый клиент, внешнее соединение.
   mnimo
 
27 - 17.05.11 - 22:18
Стр=(тип-неопределено) Это ссылка???
28
   hhhh
 
28 - 17.05.11 - 22:26
(27) ну. Значит, у тебя Стр нету, а ты нам тут с суммой мозг паришь.
   H A D G E H O G s
 
29 - 17.05.11 - 22:28
Читать в СП НайтиПоНомеру()
   mnimo
 
30 - 17.05.11 - 22:28
Конфигуратор сам предлагает после точки поставить "Сумма".
Я может и дурак но не 1с(наверно)
   H A D G E H O G s
 
31 - 17.05.11 - 22:28
Где отбор по периоду?
   mnimo
 
32 - 17.05.11 - 22:30
Зачем???
33
34
   hhhh
 
33 - 17.05.11 - 22:32
(32) чтобы не выдавало про объектный тип.
 
 
   H A D G E H O G s
 
34 - 17.05.11 - 22:33
(32) Периодичность нумерации у документа есть? Какая?
35
   mnimo
 
35 - 17.05.11 - 22:34
(34)В пределах года
   mnimo
 
36 - 17.05.11 - 22:42
Можно разъяснений по всему написанному(31-35). Я что то не оч понимаю. Учусь так сказать.
37
   hhhh
 
37 - 17.05.11 - 22:50
(36) а Док у тебя в отладчике какого типа? Не пустая ссылка?
   mnimo
 
38 - 17.05.11 - 22:54
Док-форма документа, с элементами, с сылками.
   mnimo
 
39 - 17.05.11 - 23:12
Док=Документы.ОС_ВводОстатков.НайтиПоНомеру(Сч);
Я через ссылку беру из документа то что мне надо. Скорей всего из-за это проблема.
40
   hhhh
 
40 - 17.05.11 - 23:21
(39) ну, по-любому надо дату

Док=Документы.ОС_ВводОстатков.НайтиПоНомеру(Сч, ДатаГодаДокумента);

и лучше все-таки объекты использовать. Потому что из ссылки хрен чего возьмешь.

ОбъектДокумента = Док.ПолучитьОбъект();
41
   H A D G E H O G s
 
41 - 17.05.11 - 23:23
(40) Из ссылки - возьмет.
42
43
   mnimo
 
42 - 17.05.11 - 23:25
(41)А как возьмёт, можно пример???
   hhhh
 
43 - 17.05.11 - 23:29
(41) всё равно, неявно она объект из базы вытащит. То же самое в общем.
45
   mnimo
 
44 - 17.05.11 - 23:36
Сч=СокрЛП(Прав("0000000"+Ном,7));
        Док=Документы.ОС_ВводОстатков.НайтиПоНомеру(Сч,"01.01.2011");
        ОбъектДок=Док.ПолучитьОбъект();
Для каждого Стр Из ОбъектДок.ОсновныеСредства Цикл
        
        Сообщить(Стр.Сумма);    
        
        КонецЦикла;


Так что ли???
   H A D G E H O G s
 
45 - 17.05.11 - 23:52
(43) Объект мутабелен и несинхронен с данными базы.
   H A D G E H O G s
 
46 - 17.05.11 - 23:53
Док=Документы.ОС_ВводОстатков.НайтиПоНомеру(Сч,НачалоГода(ТекущаяДата()));
   mnimo
 
47 - 18.05.11 - 00:30
Ном=1;
НомСтр=1;
Сч=СокрЛП(Прав("0000000"+Ном,7));
Док=Документы.ОС_ВводОстатков.НайтиПоНомеру(Сч,НачалоГода(ТекущаяДата()));
Стр=Док.ОсновныеСредства.Найти(НомСтр,"НомерСтроки");
Сообщить(Стр.Сумма);

И все же...
Значение не является значением объектного типа (Сумма)???
50
   maip1
 
48 - 18.05.11 - 01:04
если как в (15) не видит строки и обходит цикл, то табл.часть пустая в этом документе
   nop
 
49 - 18.05.11 - 01:08
Ном=1;
НомСтр=1;
Сч=СокрЛП(Прав("0000000"+Ном,7));
Док=Документы.ОС_ВводОстатков.НайтиПоНомеру(Сч,НачалоГода(ТекущаяДата()));
Стр=Док.ОсновныеСредства[0];
Сообщить(Стр.Сумма);
 
 
   SUA
 
50 - 18.05.11 - 04:12
(47)
СП
Возвращаемое значение:
Тип: Строка табличной части; Неопределено. Строка, которая содержит искомое значение. Если значение не найдено, то возвращается значение Неопределено.
Значит, строки с номером 1 нет...
52
   mnimo
 
51 - 18.05.11 - 07:48
Но она есть же.
   mnimo
 
52 - 18.05.11 - 07:57
Ном=1;
НомСтр=1;
Сч=СокрЛП(Прав("0000000"+Ном,7));
Док=Документы.ОС_ВводОстатков.НайтиПоНомеру(Сч,НачалоГода(ТекущаяДата()));
        Если Док=Неопределено Тогда
            Сообщить("Строка не найдена");
        Иначе
            Стр=Док.ОсновныеСредства.Найти(НомСтр,"НомерСтроки");
            Сообщить(Стр.Сумма);
        КонецЕсли; 

(50)Так не говорит что не нашёл строку...
53
   maip1
 
53 - 18.05.11 - 10:17
(52) так провепяешь на Неопределено документ, а не строку - поэтому и не говорит.
   maip1
 
54 - 18.05.11 - 10:18
*проверяешь

 

Список тем форума

 
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.