Имя: Пароль:
1C
1C 7.7
v7: Через соm-объект 1с7.7 провести документ в базе 1с7.7 из базы 1с8.2
0 vikadruzhok
 
07.06.16
18:38
Нужно найти документ в  семерке по номеру и дате и провести (подключение с восьмерки через ком-объект).

Делаю так:
Док = УППСклад.CreateObject("Документ.СписаниеТМЦ");
    Док.НайтиПоНомеру(Номер77,Дата77);
    Док.Провести();
1 Ёпрст
 
07.06.16
18:40
и ?
2 vikadruzhok
 
07.06.16
18:40
и не проводит
3 vikadruzhok
 
07.06.16
18:41
что не так?
4 Ёпрст
 
07.06.16
18:41
Посмотри, для начала, что возвращает это Док.НайтиПоНомеру(Номер77,Дата77)
5 Ёпрст
 
07.06.16
18:41
Возможно, такого документа нет в базе /не находит
6 Ёпрст
 
07.06.16
18:42
ну и Дата77, скорее всего не в 7-ом формате.
7 vikadruzhok
 
07.06.16
18:42
я могу записать этот док (потому что далее обрабатываю табличную часть и записываю, но он не проводится)
8 vikadruzhok
 
07.06.16
18:42
он возвращает нужный документ
9 Ёпрст
 
07.06.16
18:50
(7) В чем это выражается ? Что по-твоему не проводится ? Ты его записываешь хоть перед этим ?
10 vikadruzhok
 
07.06.16
18:56
я пробовала и записать его сначала, а потом провести... и просто провести... выражается, что напротив этого документа картинка без галочки (как у непроведенного документа) и движений по регистру нет. и кроме того Док.Проведен=1 это ложь и Док.Провести()=1 это ложь
11 vikadruzhok
 
07.06.16
18:57
и на момент если я его нахожу по номеру, то значит он записан?
12 Злопчинский
 
07.06.16
18:58
да
13 Злопчинский
 
07.06.16
18:58
но не факт что ты находишь именно его.
может это такой же номер в прошлом году
14 sonne666
 
07.06.16
18:58
(10) может, при проведении возникает какая-то ошибка и он не проводится? Его вручную-то провести можно в 77?
15 Злопчинский
 
07.06.16
18:59
1. запиши док своим методом
зайди в 77 обычно и проведи документ..
16 vikadruzhok
 
07.06.16
18:59
нет, это он
17 Злопчинский
 
07.06.16
18:59
(14) Опередил
18 vikadruzhok
 
07.06.16
19:00
проводится он обычно
19 vikadruzhok
 
07.06.16
19:01
просто у меня в семеркой есть проблемы... вот в восьмерке, если я найду его по номеру, то это ссылка и что бы его провести надо получить объект. В этой семерке такого нет?
20 Skylark
 
07.06.16
19:02
ТекущийДокумент() ?
21 Злопчинский
 
07.06.16
19:02
(16) ну раз такой умный - в конце процедуры проведения
непосредственно перед выходом из процедуры проведения
ЗаписьЖурналаРегистрации(""+ТекущийДокумент()+" статусвозврата="+СтатусВозврата());

и потом смотри в логах
22 Skylark
 
07.06.16
19:02
ДокО = Док.ТекущийДокумент();
ДокО.Провести();
23 vikadruzhok
 
07.06.16
19:03
через текущий документ он говорит что и метода провести нет(
24 Злопчинский
 
07.06.16
19:03
(19) Достаточно найти по номеру - ты стоишь в выборке (т.к. был СоздатьОбъект()), а выборка - это выборка объектов
25 Злопчинский
 
07.06.16
19:04
(22) в случае автора это излишне
26 vikadruzhok
 
07.06.16
19:06
на счет того, что это не тот документ... через табло выводила док.номерДок и док.ДатаДок... это ОН!
27 vikadruzhok
 
07.06.16
19:07
(24) вот и я так думаю
28 Злопчинский
 
07.06.16
19:08
нефиг думать
трясти надо
вам восьмерочникам трясти привычнее
вот и тряси
29 vikadruzhok
 
07.06.16
19:36
Спасибо за помощь и моральную поддержку... Все просто до не могу... У пользователя, под которым проходит подключение по com-объекту нет прав, что бы провести этот документ. извините, я просто даже подумать не могла на такую банальщину.
30 vikadruzhok
 
07.06.16
19:37
(28) Ваша фраза "нефиг думать" прям в точку, когда исправляешь код после бракоделов.
31 Злопчинский
 
07.06.16
19:40
(29) у меня первая мысль такая была, но чето подумал что такую фигню-то проверили.
да и вряд ли недо-пользователя вставили предыдущий бракодел...
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn