0
Отвечен

Наименование источника финансирования по внешнему коду

KTV 4 года назад в Справки, квитки и прочие формы печати обновлен Гашков Николай (Эксперт) 4 года назад 4

Добрый день!

В этой теме (https://kontur.userecho.com/communities/47/topics/8516-istochnik-v-shapke-svoda) написано, как вывести на печать источник финансирования в ЖО 6. Но так выводится только внешний код.

Подскажите, пожалуйста, как по внешнему коду в скрипте вытащить название источника?

Script
ХОРОШО, МНЕ ПОНРАВИЛОСЬ
Оценка удовлетворенности от KTV 4 года назад
На рассмотрении

Добрый день!

По внешнему коду источника определяем внутренний код, а потом вызываем GetSrcName()...

GetSrcName(ExtSrcToInt('Х'))

А какой тип аргумента должен быть в ExtSrcToInt? В справке написано, что char, но почему-то выдает ошибку.

У меня такой скрипт: 

char ist[5];
string istn;
var Tabl = CreateObject("CurPrnTbl");
long adr = Tabl.GetAdrListTabl();
int rcr = Tabl.GetRcrInListTabl();
var svlist = CreateObject("CurPrnTbl");
svlist.Initial(adr);
ist = svlist.TextS("Src",rcr);  //здесь внешний код источника, при отладке вижу значение ist="О" (если источник О)
istn=GetSrcName(ExtSrcToInt(ist));  //а здесь выдает ошибку, несовпадение типов.
//если прописать здесь 'О' вместо переменной ist, то все верно.


вот так должно работать (в ExtSrcToInt()  нужно передавать не массив символов, а один символ)

istn=GetSrcName(ExtSrcToInt(ist[0])); 

З.ы.

1)лучше давать "говорящие" названия переменным

2)объявлять переменную лучше в месте ее использования

var Tabl = CreateObject("CurPrnTbl");
long adr = Tabl.GetAdrListTabl();
int rcr = Tabl.GetRcrInListTabl();
var svlist = CreateObject("CurPrnTbl");
svlist.Initial(adr);
char istCode[2]; istCode=svlist.TextS("Src",rcr); //здесь внешний код источника, при отладке вижу значение ist="О" (если источник О)
string istName=GetSrcName(ExtSrcToInt(istCode[0])); 

Сервис поддержки клиентов работает на платформе UserEcho