Имя: Пароль:
1C
1С v8
доработка плана обмена
0 Barbos520
 
14.11.13
11:56
Добрый день, знатоки!
Есть обмен УНФ-БП все нормально обменивается, но появилось необходимость доработать план обмена:
в расходную накладную ввели признак "ПФ" - булево, надо чтобы выгружались те документы у кого ПФ=Ложь.
соответственно в правилах обмена в расходной накладной добавил в обрабочик: ПередВыгрузкой следующий код:

Если Источник.ПФ=Истина Тогда
    Отказ = Истина;
КонецЕсли;

Перед этим добавил в раздел Расходной накладной:

<Свойство Отключить="true">
<Код>66</Код>
<Наименование>ПФ --&gt; ПФ</Наименование>
<Порядок>1300</Порядок>
<Источник Имя="ПФ" Вид="Реквизит" Тип="Булево"/>
<Приемник Имя="ПФ" Вид="Реквизит" Тип="Булево"/>
</Свойство>

в результате выполнения синхронизации выдает ошибку:
{Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(3769)}: Ошибка в обработчике события ПередВыгрузкойОбъекта
    ПКО                    =  РеализацияТоваровУслуг  (Документ: Расходная накладная)
    Объект                 =  Расходная накладная ПМПФ-000005 от 12.11.2013 15:12:52  (Документ объект: Расходная накладная)
    Обработчик             =  ПередВыгрузкойОбъекта
    ОписаниеОшибки         =  Метод объекта не обнаружен (ПКО_РеализацияТоваровУслуг_ПередВыгрузкойОбъекта)
    ПозицияМодуля          =  (1)
    КСообщенияОбОшибках    =  41
        ВызватьИсключение СтрокаСообщенияОбОшибке;


Помогите пожалуйста!
1 Godofsin
 
14.11.13
11:58
Нахрена ты там что-то в раздел добавлял? Подгрузи структуру заново
2 Wobland
 
14.11.13
12:00
Отказ = Источник.ПФ
и всё, тчк
3 Wobland
 
14.11.13
12:00
к слову, план обмена - это такой план обмена, а не то, что ты подумал
4 Холодильник
 
14.11.13
12:04
если не авторегистрация, то добавляй проверку при регистрации объекта
5 Barbos520
 
14.11.13
12:04
Отказ = Источник.ПФ  пробывал, та же ошибка

{Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(3769)}: Ошибка в обработчике события ПередВыгрузкойОбъекта
    ПКО                    =  РеализацияТоваровУслуг  (Документ: Расходная накладная)
    Объект                 =  Расходная накладная ПМПФ-000005 от 12.11.2013 15:12:52  (Документ объект: Расходная накладная)
    Обработчик             =  ПередВыгрузкойОбъекта
    ОписаниеОшибки         =  Метод объекта не обнаружен (ПКО_РеализацияТоваровУслуг_ПередВыгрузкойОбъекта)
    ПозицияМодуля          =  (1)
    КСообщенияОбОшибках    =  41
        ВызватьИсключение СтрокаСообщенияОбОшибке;
6 Barbos520
 
14.11.13
12:05
а как и где добавить проверку при регистрации?
7 х86
 
14.11.13
12:08
(0) пользуйся конвертицией
8 Barbos520
 
14.11.13
12:08
я в ней все и делаю
9 Godofsin
 
14.11.13
12:09
(8) вот это ты тоже в КД делаешь?

<Свойство Отключить="true">
<Код>66</Код>
<Наименование>ПФ --&gt; ПФ</Наименование>
<Порядок>1300</Порядок>
<Источник Имя="ПФ" Вид="Реквизит" Тип="Булево"/>
<Приемник Имя="ПФ" Вид="Реквизит" Тип="Булево"/>
</Свойство>
10 Godofsin
 
14.11.13
12:09
(6) Смотри подписки
11 Godofsin
 
14.11.13
12:09
+(10) но нах надо
12 Kamas
 
14.11.13
12:10
Самый простой способ регистрируешь все делаешь подписку на событие и снимешь с регистрации если счет фактура не подходит под условие
13 Kamas
 
14.11.13
12:11
+(12) либо наоборот снимешь с авто регистрации счет фактуру и регистрируешь в подписке по условию
14 BlueSky
 
14.11.13
12:11
Обмен через УОД или через планы обмена?
15 Barbos520
 
14.11.13
12:12
<Свойство Отключить="true">
<Код>66</Код>
<Наименование>ПФ --&gt; ПФ</Наименование>
<Порядок>1300</Порядок>
<Источник Имя="ПФ" Вид="Реквизит" Тип="Булево"/>
<Приемник Имя="ПФ" Вид="Реквизит" Тип="Булево"/>
</Свойство>

Нет это я делал в ручную через notepad++? не знаю как добавить новый реквизит в конвертицией
16 Barbos520
 
14.11.13
12:13
Обмен через УОД или через планы обмена?

Администрирование-> синхронизация данных
17 Wobland
 
14.11.13
12:14
(15) вернись в (1)
18 BlueSky
 
14.11.13
12:14
(16)
значит, через планы обмена.

Правила конвертации не трогай, настраивай регистрацию объектов (лучше через подписки)
19 Gorr
 
14.11.13
12:15
(14) по-моему всем ясно что речь идет об он-лайн обмене
много способов: можно через Правила конвертации можно или через Правила регистрации.
20 Godofsin
 
14.11.13
12:15
(18) Приехали... А если конфа на поддержке? Снимать?
21 Gorr
 
14.11.13
12:16
(20) все в КД делается. ничего снимать не надо.
22 Godofsin
 
14.11.13
12:16
+(20) ааа, он же уже ленвый реквизит добавлял
23 Godofsin
 
14.11.13
12:16
(21) Подписки? не знал...
24 Gorr
 
14.11.13
12:17
(21) правила хранятся в регистре сведений. В КД редактируешь правила, потом грузишь в регистр и все.
25 Gorr
 
14.11.13
12:20
(23) Он-лайн обмен это подсистема обмен данными из БСП. регистрация выполняется там через подписки. на основании правил регистрации. правила регистрации для этого и задумывались.
26 Gorr
 
14.11.13
12:23
можете конечно и код ковырять или xml в стороннем редакторе править, но это уже выходит за рамки норматива
27 Barbos520
 
14.11.13
12:23
Вообще запутали!
можно поподробнее где что ткнуть и что прописать?
28 Холодильник
 
14.11.13
12:26
>>Нет это я делал в ручную через notepad++? не знаю как добавить новый реквизит в конвертицией

дальше можно не продолжать.
29 Gorr
 
14.11.13
12:39
(27) посмотрите видеоурок от гилева по адаптации он лайн обмен под нужды заказчика: http://www.spec8.ru/data-conversion-free-video3
30 Barbos520
 
14.11.13
12:44
Спасибо сам справился:
дабы избежать ошибки:
{Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(3769)}: Ошибка в обработчике события ПередВыгрузкойОбъекта
    ПКО                    =  РеализацияТоваровУслуг  (Документ: Расходная накладная)
    Объект                 =  Расходная накладная ПМПФ-000005 от 12.11.2013 15:12:52  (Документ объект: Расходная накладная)
    Обработчик             =  ПередВыгрузкойОбъекта
    ОписаниеОшибки         =  Метод объекта не обнаружен (ПКО_РеализацияТоваровУслуг_ПередВыгрузкойОбъекта)
    ПозицияМодуля          =  (1)
    КСообщенияОбОшибках    =  41
        ВызватьИсключение СтрокаСообщенияОбОшибке;


Всего лишь надо было прописать в ОбработкаВыгрузкаВБухгалтерию30

процедуру
31 Barbos520
 
14.11.13
12:44
Процедура ПКО_РеализацияТоваровУслуг_ПередВыгрузкойОбъекта(ФайлОбмена, Источник, ВходящиеДанные, ИсходящиеДанные, ИмяПКО, ПКО,
    ВыгруженныеОбъекты, Отказ, КлючВыгружаемыхДанных, ЗапоминатьВыгруженные,
    НеЗамещатьОбъектПриЗагрузке, ВсеОбъектыВыгружены, ТолькоПолучитьУзелСсылки,
    Приемник, РежимЗаписи, РежимПроведения, НеСоздаватьЕслиНеНайден) Экспорт

    Отказ =Источник.ПФ;

КонецПроцедуры
32 Barbos520
 
14.11.13
12:44
и все заработало
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший