|
v7: Странная проблема с отсутствием реквизита Сумма при переносе документов по OLE | ☑ | ||
---|---|---|---|---|
0
Maximich
17.02.17
✎
11:13
|
Доброго дня.
Или совсем уработался или где-то глюк. Прошу помощи так как все застопорилось на этом баге. Пишу обработку по переносу данных из самописной базы 7.7 в БП2. Закачка идет по OLE. Нужно выдернуть один вид документа. Подключаюсь, нахожу документы, перебираю реквизиты шапки, начинаю перекачивать табличную часть и получаю ошибку "Поле объекта не обнаружено (Сумма)". В отладчике проверил что все остальные реквизиты в 8-ку передаются без проблем. А при попытке получить значение реквизита "Сумма" 1с говорит что у данного вида документа в 7-ке такого реквизита нет. Я уже и наименование проверил в конфигураторе, вдруг кто букву в другой раскладке набрал. Платформа: 8.3.8.2137 Заранее благодарен. |
|||
1
1dvd
17.02.17
✎
11:16
|
код покажи
|
|||
2
Злопчинский
17.02.17
✎
11:19
|
(0) клюшки - это как пехотинец - он или бежит на тебя со штыком или гранату кидает, это тебе не 8-как - которая как смерш - для чего и что делает - никто не знает. Поэтому смотрите внимательнее.
|
|||
3
Maximich
17.02.17
✎
11:20
|
Не думаю что это поможет )
кусок кода, где Док_КСФ - OLE объект .... Док_КСФ.ВыбратьСтроки(); Пока Док_КСФ.ПолучитьСтроку()=1 Цикл стр = ДокР.Товары.Добавить(); стр.Номенклатура = Справочники.Номенклатура.НайтиПоКоду(Док_КСФ.Наименование.Код).Ссылка; стр.Количество = Док_КСФ.Количество*Док_КСФ.Коэффициент; стр.КоличествоДоИзменения = Док_КСФ.КоличествоДоИзменения*Док_КСФ.Коэффициент; стр.Сумма = Док_КСФ.Сумма; стр.СтавкаНДС = ВернутьСтавкуНДС(Док_КСФ.СтавкаНДС); ...... выпадает в осадок на строчке стр.Сумма = Док_КСФ.Сумма; что в 7-ке что в 8-ке данный реквизит есть. при запуске ругается именно на отсутствие реквизита в базе 7.7 |
|||
4
Maximich
17.02.17
✎
11:23
|
(2) да я уже все пересмотрел. все реквизиты есть, а этого типа нет.
Такое ощущение, что 1с вместо возврата значения "Сумма" хочет фукнцию вызвать. Может есть способ получить значение реквизиты по его имени ? |
|||
5
Злопчинский
17.02.17
✎
11:26
|
(4) Док_КСФ.Сумма - даже при наличии одноименной функции Сумма(..) нормально сработает
|
|||
6
1dvd
17.02.17
✎
11:29
|
(4) попробуй .ПолучитьАтрибут("Сумма")
|
|||
7
Злопчинский
17.02.17
✎
11:30
|
для начала в оле пусть сделает евал на
глЕстьРеквизитТабличнойЧасти |
|||
8
Maximich
17.02.17
✎
11:32
|
(5) я знаю, поэтому и в шоке
http://s018.radikal.ru/i500/1702/9a/b7e2e4f469a7.png {ВнешняяОбработка.ИмпортДокументов.Форма.ИмпортДокументов.Форма(52)}: Поле объекта не обнаружено (Сумма) с = Док_КСФ.Сумма; |
|||
9
Zmich
17.02.17
✎
11:34
|
Может, Сумма где-то с английской С написана? В коде или в названии реквизита в конфигураторе самописной базы?
|
|||
10
Maximich
17.02.17
✎
11:35
|
(6) Спасибо.
Док_КСФ.ПолучитьАтрибут("Сумма") прокатило чем же платформам не понравилось это имя реквизита ? |
|||
11
Злопчинский
17.02.17
✎
11:37
|
(10) ты просто клюшки не уважаешь, они тебе мстят. а мстя клюшек - неотвартима и беспощадна!
|
|||
12
Maximich
17.02.17
✎
11:39
|
(11) Да я с ними уже лет 15 дружу )
В первый раз такое вижу. |
|||
13
linoblack
17.02.17
✎
11:39
|
(10) наверно все же тем, что "сумма" - служебное слово
|
|||
14
Злопчинский
17.02.17
✎
11:46
|
(13) ни в жисть не поверю
|
|||
15
Maximich
17.02.17
✎
11:46
|
(13) Раньше оно не было служебным словом
|
|||
16
linoblack
17.02.17
✎
11:47
|
(15) в языке запросов
|
|||
17
1dvd
17.02.17
✎
11:48
|
всё же интересно как появилось Док_КСФ?
Ссылка это или объект |
|||
18
Maximich
17.02.17
✎
11:50
|
(16) в этом коде нет запросов
(17) пример так Док_КСФ=База77.CreateObject("Документ.КорректировочныйСчетФактура"); |
|||
19
Maximich
17.02.17
✎
12:05
|
В любом случае всем Огромное Спасибо ! )
|
|||
20
linoblack
17.02.17
✎
16:05
|
возникла мысль - а может реквизит сумма - общий?
|
|||
21
Злопчинский
17.02.17
✎
17:17
|
(20) тогда бы он был в ветке общих реквизитов
Но возможно шаманили рвчаами и чпихнвли да один вбщие другой в тч |
|||
22
HawkEye
18.02.17
✎
10:09
|
(20) как можно общий засунуть в таб.часть?
|
|||
23
h-sp
18.02.17
✎
10:30
|
(21) возможно ошибка была в восьмерке
стр.Сумма = Док_КСФ.Сумма; по законам детективного жанра, есть вторая версия. Ошибка в стр.Сумма |
|||
24
HawkEye
18.02.17
✎
11:06
|
(23) и как "Док_КСФ.ПолучитьАтрибут("Сумма")" помогло исправить ошибку в 8-ке? )))
|
|||
25
Torquader
19.02.17
✎
22:36
|
По OLE метод и свойство запрашиваются одновременно (традиция такая) - поэтому, система сначала находила существующий метод "Сумма(Поле)", в котором ей не хватало обязательного параметра.
|
|||
26
Злопчинский
19.02.17
✎
22:54
|
(25) хм...а у документа есть метод Сумма()..?
|
|||
27
Aleksey
19.02.17
✎
23:00
|
Видать путает с Итог()
|
|||
28
Torquader
19.02.17
✎
23:06
|
(27) Да, так оно и есть - видимо, кто-то давно 1С не открывал.
|
|||
29
Злопчинский
19.02.17
✎
23:09
|
(27) не, это он с прямым углом путает
|
|||
30
h-sp
20.02.17
✎
05:47
|
(24) ТС ведь не все свои действия здесь описывает. Это не помогло, что-то другое помогло.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |