Имя: Пароль:
1C
1C 7.7
v7: Неизвестная ошибка
0 Топтыга
 
08.08.13
09:00
Подключаюсь к базе через OLE создаю элемент справочника в этой базе, при обращении к реквизиту выскакивает "Неизвестная ошибка". Тип реквизита "Число", присваиваю "число". Рекв. не периодический.
Подскажите что может быть?
1 Ёпрст
 
08.08.13
09:01
присваиваешь не число
2 Топтыга
 
08.08.13
09:03
"Число" через отладчик проверил
3 Ёпрст
 
08.08.13
09:05
нам остсюда не видно
4 ЧеловекДуши
 
08.08.13
09:08
(2) Ты щас еще будешь спорить с Гуру Ёпрст ?
Читай в (1), до просветления.

И еще момент, покажи Код, как ты создаешь элемент и его заполняешь ;)
5 Топтыга
 
08.08.13
09:12
База=CreateObject("V77.Application");
    Пользователь="system";
    Пароль="system";
    МонопольныйРежимOLE="";
    РезультатПодключения=База.Initialize ( База.RMTrade , "/d" +
    СокрЛП(Путь) + " /n" +СокрЛП(Пользователь)+
    " /p" +СокрЛП(Пароль) +МонопольныйРежимOLE,"NO_SPLASH_SHOW");
    Если РезультатПодключения= 0 Тогда
        Предупреждение("Не удалось подключится к указанной базе - проверьте вводные!");
        Возврат 0;  
    Иначе
        Сообщить("База подключена "+Имя);
    КонецЕсли;
    Спр=База.CreateObject("Справочник.СтатьиЗатрат");
    Если группа=1 Тогда
        Спр.НоваяГруппа();
    Иначе
        Спр.Новый();
    КонецЕСли;
    Спр.Наименование=Наименование;
    ID=0;
    Спр.ID=ID;
    Спр.Записать();
6 Топтыга
 
08.08.13
09:14
На строчке Спр.ID=ID Выдает ошибку.
Что я сделал не так?
7 aka AMIGO
 
08.08.13
09:14
ТипЗначенияСтр(Спр.ID) = число?
8 Топтыга
 
08.08.13
09:15
Да
9 jarett
 
08.08.13
09:16
Если группа=1 это что? Тут и не только 1с штаны намочит.
10 Ёпрст
 
08.08.13
09:17
(5) у группы нет такого реквизита.
11 Топтыга
 
08.08.13
09:18
Флаг на форме обработки, создать группу или просто элемент.
12 Ёпрст
 
08.08.13
09:18
выстави галку.. для обоих в свойствах реквизита ID, или не присваивай ничего, если создаешь группу.
13 Топтыга
 
08.08.13
09:20
Галка стоит.
14 Ёпрст
 
08.08.13
09:23
не верю..
:)
15 Топтыга
 
08.08.13
09:26
Я сам уже нервно улыбаюсь. Признак "Для обоих" стоит. Вообще не пойму
16 Ёпрст
 
08.08.13
09:28
так работает ?

   Спр.Наименование=Наименование;
//    ID=0;
  //  Спр.ID=ID;
    Спр.Записать();
17 Топтыга
 
08.08.13
09:32
Работает то же проверил
18 Ёпрст
 
08.08.13
09:32
+

мета = База.метаданные.Справочник("СтатьиЗатрат");

Рекв = мета.Реквизит("ID");
Сообщить(Рекв.Выбран());
Сообщить(Рекв.Тип);
Сообщить(Рекв.Использование);
19 Ёпрст
 
08.08.13
09:32
результат в студию.
20 пипец
 
08.08.13
09:34
ID_=0;

  Спр.ID=ID_;
;))
ЗЫ и ваще чо за манера использовать регулярные выражения

кстати ActiveMD

ID
ID
Синтаксис:
ID
Назначение:
Число. Только для чтения. Возвращает внутренний идентификатор объекта метаданных
21 Ёпрст
 
08.08.13
09:37
(20) думаешь, у него есть реквизит ID где то на форме другово типа ?

:))
аутор, так еще проверь тогда

Спр.ID=200;
    Спр.Записать();
22 Топтыга
 
08.08.13
09:38
(20) не спасло
23 Ёпрст
 
08.08.13
09:39
на 18 есть ответ ?
24 Топтыга
 
08.08.13
09:41
(23)
1
Число
ДляОбоих
Спр.ID=ID_;
{D:\BASE\REALBASE\FORALLBASE\УСТАНОВИТЬСЗ.ERT(74)}: Неизвестная ошибка
25 Топтыга
 
08.08.13
09:42
(21) не влетел
26 Ёпрст
 
08.08.13
09:42
а так ?

Сообщить(Рекв.Периодический);
27 Топтыга
 
08.08.13
09:42
*взлетел*
28 Топтыга
 
08.08.13
09:43
База подключена ВолгаПромгаз
1
Число
ДляОбоих
0
Спр.ID=200;
{D:\BASE\REALBASE\FORALLBASE\УСТАНОВИТЬСЗ.ERT(74)}: Неизвестная ошибка
29 SleepyHead
 
гуру
08.08.13
09:45
Спр.УстановитьАтрибут("ID",0)
30 ИсчадиеADO
 
08.08.13
09:47
тогда уж длину и точность числа проверьте
31 Топтыга
 
08.08.13
09:51
(29) а так взлетело, спасибо. Только я все равно не пойму почему не работает
Спр.ID=200
32 Топтыга
 
08.08.13
09:56
Всем спасибо за помощь
33 SleepyHead
 
гуру
08.08.13
09:59
(31) Я тоже не знаю :) Это просто опыт.