Имя: Пароль:
1C
1C 7.7
v7: Не удается получить данные по оле
,
0 vsy
 
05.09.11
09:53
Помогите дилетанту, цепляюсь по оле к бухии, создаю новый док ПКО, пытаюсь указать счет, но ничего не получаю методом НайтиПоКоду().
Вот несколько строк
       план=База.CreateObject("Счет.Основной");
       докбух=База.CreateObject("Документ.ПриходныйОрдер");
   докбух.новый();
   Сч_90=план.НайтиПоКоду("90.1.2");
       докбух.КоррСчет= Сч_90;
счет не находится (Сч_90=0)
подскажите где ошибка, пробовал перебором, также не могу спозиционироваться на элементе.
1 Нуф-Нуф
 
05.09.11
09:54
сначала нужно тип у коррсчета установить вроде бы
2 Нуф-Нуф
 
05.09.11
09:55
а как не помню... 7ка... давно это было...
3 popcorn
 
05.09.11
09:55
(0) Кто такая Оля?
4 andrewks
 
05.09.11
09:58
дарю СП:

НайтиПоКоду(<?>)
Синтаксис:
НайтиПоКоду(<КодСчета>)
Назначение:
Выполняет поиск счета в плане счетов по коду счета.
Возвращает: 1 - счет найден; 0 - счет не найден.
Параметры:
<КодСчета> - символьное выражение - код счета, как он указан в плане счетов.
5 andrewks
 
05.09.11
09:59
+(4)

ИспользоватьПланСчетов(<?>)
Синтаксис:
ИспользоватьПланСчетов(<ПланСчетов>)
Назначение:
Устанавливает план счетов, который будет использован объектом.
Возвращает: значение типа ''ПланСчетов''. Текущее значение на момент до исполнения метода.
Параметры:
<ПланСчетов> - значение типа ''ПланСчетов''.
6 Нуф-Нуф
 
05.09.11
10:00
кстати отладчик и в этом случае рулит.
7 andrewks
 
05.09.11
10:02
(6) это если его не спёрли так же, как СП
8 vsy
 
05.09.11
10:06
самое интересное, что этот код в бухии работает. все позиционируется  и СЧ_90="90.1.2" все как положено, вот и не могу понять где косяк. ИспользоватьПланСчетов не нужно, я уже определил как основной. В отладчике не вижу, возвращает 0 и все.
9 Нуф-Нуф
 
05.09.11
10:09
чему в отладчике равен Сч_90 после найти по коду
10 Нуф-Нуф
 
05.09.11
10:10
и чему равен до
11 viktor_vv
 
05.09.11
10:10
База.EvalExp("СчетПоКоду("90.1.2")") или База.EvalExp(""СчетПоКоду("90.1.2")""). Так попробуй.
12 andrewks
 
05.09.11
10:10
(8) имхо, ты путаешь с СчетПоКоду()
13 vsy
 
05.09.11
10:11
Да я ошибся именно СчетПоКоду
14 vsy
 
05.09.11
10:11
Но возвращает 0
15 viktor_vv
 
05.09.11
10:11
(11) + EvalExpr
16 Нуф-Нуф
 
05.09.11
10:11
значит не находит
17 andrewks
 
05.09.11
10:12
чё-то ты темнишь. выложи код нормально
18 vsy
 
05.09.11
10:12
самое главное, что не понимаю почему не находит, счет ведь есть
19 viktor_vv
 
05.09.11
10:12
База.EvalExp("СчетПоКоду(""90.1.2"")")
20 vsy
 
05.09.11
10:14
код выложил, только когда писал ошибся вместо счетпокоду написал найтипокодй.
21 Нуф-Нуф
 
05.09.11
10:15
а мы обычно код копипастом выкладываем
22 vsy
 
05.09.11
10:15
viktor_vv, сапсибо сейчас попробую.
23 Kashton
 
05.09.11
10:17
Оле-оле, это просто слёзы
Оле-оле, их никак нельзя понять
Оле-оле плакать несерьёзно
Оле-оле, если я вернусь опять

(с) Леонид Агутин
24 vsy
 
05.09.11
10:21
применил Сч_90=База.EvalExp("СчетПоКоду(""90.1.2"")") все равно значения 0
25 viktor_vv
 
05.09.11
10:22
Сч_90=База.EvalExpr("СчетПоКоду(""90.1.2"")") я там выше ошибся немного.
26 vsy
 
05.09.11
10:26
Я написал правильно, только все равно не позиционируется на счете, возвращает 0
27 viktor_vv
 
05.09.11
10:27
А ты как смотришь, что там возвращает ? Возвращать должно вообще-то объект OLE.
28 andrewks
 
05.09.11
10:28
какой-то развод, имхо.

телепатирую ещё раз: как там с планами счетов?
29 vsy
 
05.09.11
10:28
должен вернутся номер счета
30 viktor_vv
 
05.09.11
10:30
СчетПоКоду(<?>,)
Синтаксис:
СчетПоКоду(<КодСчета>,<ПланСчетов>)
Назначение:
Поиск бухгалтерского счета по коду.
Возвращает значение типа ''Счет''.
Параметры:
<КодСчета> - строковое выражение, содержащее код счета.
<ПланСчетов> - значение типа ''План Счетов'' - план счетов, в котором выполняется поиск. Если параметр не указан, поиск выполняется в основном плане счетов, заданном в метаданных.


План счетов указан как основной ?
31 vsy
 
05.09.11
10:31
да там в самом начале написано, при создании объекта, поэтому и не указываю Использоватьсчет
32 andrewks
 
05.09.11
10:32
итить.... какого объекта???

ГДЕ КОД?
33 vsy
 
05.09.11
10:37
я же писал
       план=База.CreateObject("Счет.Основной");
       докбух=База.CreateObject("Документ.ПриходныйОрдер");
       докбух.новый();
       Сч_90=план.НайтиПоКоду("90.1.2");
       докбух.КоррСчет= Сч_90;

всем спасибо , нашел ошибку, у меня одно условие не выполнялось, поэтому этот метод и не работал.
Программист всегда исправляет последнюю ошибку.