Имя: Пароль:
1C
1C 7.7
v7: Выгрузка данных из БП 4.5 (7.7) в УТ 10.3 (8.1)
0 bogdan51
 
18.10.14
23:38
Создаю правила обмена из бухгалтерии 4.5 (7.7)в управление торговли 10.3 (8.1).
В бухгалтерии 4.5 (7.7) в справочнике Контрагенты есть реквизит ИНН,в котором хранится инн/кпп.
В УТ 10.3 эти реквизиты разделены на ИНН и КПП.
Выгружать все поле ИНН ИСТОЧНИКА в поле ИНН ПРИЕМНИКА и далее при загрузке в 8.1 обработчиком ПОСЛЕ ЗАГРУЗКИ не получается,так длина в Источнике 20,а в Приемнике 12.

В глобальном модуле 7.7 есть процедура
глРазложитьИННКонтрагента(Контрагент, ИНН, КПП) Экспорт ,
которая выделяет из реквизита ИНН отдельно ИНН и КПП контрагента.

Напрашивается в правилах выгрузки для полей ИНН и КПП приемника в обработчике Перед Выгрузкой
обратиться к этой процедуре,передав ей параметры:
Источник.Ссылка,Источник.ИНН,Параметры.КПП
При выгрузке выдается ошибка:
Процедура вызывается как функция (глРазложитьИННКонтрагента)


Друзья,помогите можно ли обращаться в глобальный модуль в 7-ке ?
При загрузке в 8-ке подключение общих модулей используется успешно,а в 7-ке не получается.

Может есть правила обмена между БП 4.5 (7.7) и УТ 10.3 (8.1) ?
1 Ник второй
 
19.10.14
00:43
Вызывай процедуру как процедуру а не функцию, что в сообщение об ошибке не понятно?
2 Ник второй
 
19.10.14
00:44
Насчет правил, возьми типовые с 7.7 на БП 8, там тоже надо разбивать ИНН и КПП
3 bogdan51
 
19.10.14
12:49
В гл.модуле обращение к процедуре сделано вот так:
глРазложитьИННКонтрагента(СФ.Шапка.Контрагент, ИНН, КПП);

Также я делаю и в обработчике.
Где здесь обращение к функции?
С 7 не работал,может какие то нюансы в синтаксисе или в обработчике события.
4 FlashC
 
21.10.14
00:42
ИНН = ?(Строка(Число(Сред(Контрагент.ИНН,11,1))) = Сред(Контрагент.ИНН,11,1),Лев(Контрагент.ИНН,12),Лев(Контрагент.ИНН,10));
КПП = ?(Строка(Число(Сред(Контрагент.ИНН,11,1))) = Сред(Контрагент.ИНН,11,1),"",Прав(Контрагент.ИНН,9));
5 FlashC
 
21.10.14
12:06
можно КПП = Прав(Контрагент.ИНН,9)