|
Помогите понимать ошибку в правиле обмена | ☑ | ||
---|---|---|---|---|
0
zippygrill
12.09.11
✎
11:04
|
Ошибка такого рода:
Ошибка исполнения обработчика: ПКО_ПриВыгрузке_Выписка_ПлатежноеПоручениеВходящее - Значение не представляет агрегатный объект (Установить) ниже первая найденая строка в событие, где вызывается метод Установить. ВходящиеДанныеДокумента.Установить("СуммаДокумента",СуммаДокумента); |
|||
1
chepsoid
12.09.11
✎
11:07
|
зачем в ПКО ПриВыгрузке эта строчка ?
ВходящиеДанныеДокумента.Установить ("СуммаДокумента",СуммаДокумента); |
|||
2
zippygrill
12.09.11
✎
11:10
|
(1) это типовое правило по переносу. на твой вопрос к разраб 1с :)
|
|||
3
zippygrill
12.09.11
✎
11:21
|
еще
|
|||
4
chepsoid
12.09.11
✎
11:28
|
может СуммаДокумента какая нить пустая.. или еще что ковыряться надо. так тебе не скажут ответ
|
|||
5
acsent
12.09.11
✎
11:29
|
ВходящиеДанныеДокумента - должно быть структрура
|
|||
6
Midzgun
12.09.11
✎
11:33
|
Нужно сначала ВходящиеДанныеДокумента = Новый Структура
|
|||
7
zippygrill
12.09.11
✎
11:34
|
(4) я понимаю.
(5) вот код чуть высше ВходящиеДанныеДокумента = ""; Если ТекущаяОперация <> "" Тогда ВходящиеДанныеДокумента.Установить("СуммаДокумента",СуммаДокумента); здесь ругается! КонецЕсли; ВходящиеДанныеДокумента = СоздатьОбъект("СписокЗначений"); |
|||
8
zippygrill
12.09.11
✎
11:36
|
(6) а у Структуры нету метода Установить(). из Справке.
|
|||
9
zippygrill
12.09.11
✎
11:37
|
(6) тем более в событие ПриВыгрзке писать код на 8.*
|
|||
10
acsent
12.09.11
✎
11:38
|
(7) Это ты сам написал?
|
|||
11
zippygrill
12.09.11
✎
11:39
|
(10) нет. читай в (2)
|
|||
12
zippygrill
12.09.11
✎
11:54
|
ВходящиеДанныеДокумента = "";
Если ТекущаяОперация <> "" Тогда ВходящиеДанныеДокумента.Установить("СуммаДокумента",СуммаДокумента); здесь ругается! КонецЕсли; //Ну и вот дальше метод Установить() уже для четко определеный СписокЗначений. ВходящиеДанныеДокумента = СоздатьОбъект("СписокЗначений"); ВходящиеДанныеДокумента.Установить("Комментарий","# Перенесен из Бухгалтерии 7.7 Выписка №"+Источник.НомерДок+" от "+формат(Источник.ДатаДок,"ДДДММГГГГ")+" строки: "); |
|||
13
zippygrill
12.09.11
✎
12:09
|
вверх
|
|||
14
zippygrill
12.09.11
✎
12:41
|
-
|
|||
15
zippygrill
12.09.11
✎
13:02
|
никто не поможет?
|
|||
16
Kerk
12.09.11
✎
13:10
|
Поищи по правилам где есть подобный реквизит и посмотри что там написано. Сам сталкивался с довольно нелепыми ошибками в стандартных правилах.
|
|||
17
Рэйв
12.09.11
✎
13:23
|
(0) обмен 77-8 ?
или 8-8 ? или еще как? |
|||
18
zippygrill
12.09.11
✎
13:28
|
(17) 77-8
|
|||
19
Рэйв
12.09.11
✎
13:34
|
(18)Вставь в обработчик перед той строкой
Сообщить(ТипЗначенияСтр(ВходящиеДанныеДокумента)) ...А вообще то сдается мне, что надо использовать переменную ВходящиеДанные, а не ВходящиеДанныеДокумента |
|||
20
zippygrill
12.09.11
✎
13:38
|
(19) ну вот еще поставил проверку на типзнч сейчас посмотрю что получется.
|
|||
21
zippygrill
12.09.11
✎
14:10
|
(19) не думаю что они(разработчики 1с) зря завели эту локальную переменную(ВходящиеДанныеДокумента)
|
|||
22
Рэйв
12.09.11
✎
14:12
|
(21)С чего ты взял что ее завели разработчики 1С?:)
|
|||
23
nicxxx
12.09.11
✎
14:24
|
(0) посмотри еще раз на код в (7) и подумай, почему у переменной строкового типа отсутствуют какие-либо методы
|
|||
24
zippygrill
12.09.11
✎
14:26
|
(23) вот вот)))
|
|||
25
zippygrill
12.09.11
✎
14:26
|
(22) я то точно не писал))
|
|||
26
zippygrill
12.09.11
✎
14:51
|
(23) ок. ну и у переменной строкового типа нету методов. че дальше.
|
|||
27
Рэйв
12.09.11
✎
14:52
|
(25)Обработчики событий пишутся создателями правил обмена. Или их последующими ковырятелями:)
|
|||
28
Рэйв
12.09.11
✎
14:52
|
(26)Поставь
ВходящиеДанныеДокумента = СоздатьОбъект("СписокЗначений"); перед условием |
|||
29
Рэйв
12.09.11
✎
14:53
|
+ но после
ВходящиеДанныеДокумента = ""; |
|||
30
zippygrill
12.09.11
✎
15:00
|
(29) блин, поставил, всеравно.(20) даже не сообщяет типзнч()
|
|||
31
Рэйв
12.09.11
✎
15:03
|
(30)То есть как не сообщает?
Колись как и где ставил? |
|||
32
zippygrill
12.09.11
✎
15:16
|
(31) да правильно я поставил. вот:
ВходящиеДанныеДокумента = ""; НомераСтрокВыписки = ""; НазначениеПлатежа = ""; ТаблицаСтрок.ВыбратьСтроки(); Пока ТаблицаСтрок.ПолучитьСтроку()=1 Цикл Если ПустоеЗначение(ТаблицаСтрок.ВидОперации)=1 Тогда Продолжить; КонецЕсли; Если (ТаблицаСтрок.УникальностьОперации <> ТекущаяОперация) Тогда Если ТекущаяОперация <> "" Тогда //выгружаем собранный документ ВходящиеДанныеДокумента = СоздатьОбъект("СписокЗначений"); Сообщить(ТипЗначенияСтр(ВходящиеДанныеДокумента)); ВходящиеДанныеДокумента.Получить("РасшифровкаПлатежа").Свернуть("ДоговорКонтрагента, КратностьВзаиморасчетов, КурсВзаиморасчетов, СтавкаНДС, СтатьяДвиженияДенежныхСредств, СчетУчетаРасчетовПоАвансам, СчетУчетаРасчетовСКонтрагентом, Сделка","СуммаВзаиморасчетов,СуммаНДС,СуммаПлатежа"); ВходящиеДанныеДокумента.Установить("СуммаДокумента",СуммаДокумента); //вот первая строка в обработчике ПередВыгрузкой где встречается метод Установить() и сама ошибка. |
|||
33
Рэйв
12.09.11
✎
15:19
|
(32)Да в коде то я верю что правильно. Где ты этот код открывал для редактирования и что после этого делал?
|
|||
34
zippygrill
12.09.11
✎
15:22
|
В Конвертации :) С модулем обработки выгрузки в 7.7 знаю нюансы.
|
|||
35
Рэйв
12.09.11
✎
15:24
|
(34)Чудес не бывает. Если ты поставил сообщить, то оно должно сообщить.
Если конечно оно заходит в процедуру. |
|||
36
Рэйв
12.09.11
✎
15:25
|
+ попробуй отладчиком встать на проц\едуру и посмотри ТппЗначенияСтр в табло
|
|||
37
zippygrill
12.09.11
✎
15:31
|
(36) хз. отладить перенос не научился как.
|
|||
38
Рэйв
12.09.11
✎
15:36
|
(37)То есть как не научился?:)
в 77 у тебя просто обработка обычная. Открывай отладчик, ищи процедуру,ставь точку останова и смотри. Что тут уметь то? |
|||
39
zippygrill
12.09.11
✎
15:37
|
(38) все подключил отладку в 77. сейчас гляну.
|
|||
40
zippygrill
12.09.11
✎
15:54
|
(38) и что делать если отладчик не заходит в процедуре ПриВыгрузки? )
|
|||
41
Рэйв
12.09.11
✎
16:06
|
(40)Значит ты не включил выгрузку этого события:)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |