[ОТВЕТИТЬ]
11.06.2014 14:46
it-shturman
 
Коллеги, подскажите пожалуйста,
возможно ли реализовать на УКМ4 следующий механизм:
Имеется два юрлица, заведенных в УКМ4 как два разных отдела.
Имеем продажу с товарами от обоих юридических лиц...
ПРи оплате по безналу sb_pilot запрашивает выбор юридического лица на которое идет оплата.
Не понятно как быть в данной ситуации..в чеке товар от разных юрлиц.
Читал данную ветку
УКМ 4 + Сбербанк + Неск.юр.лиц - Страница 2, в последнем сообщении говориться что
Начиная с версии 49 sp6 функционал присутствует штатно в каждой последующей версии.
"В системный временный каталог перед вызовом модуля sb_pilot формируется файл "s", который содержит информацию по суммам транзакции в разрезе отделов (юр.лиц). Формат файла:
[ИД. ОТДЕЛА 1];[СУММА 1]
[ИД. ОТДЕЛА 2];[СУММА 2]"
По видимому как то это не отрабатывает..
Поясните пожауйста, как возможо разрешить эту ситуации в УКМ4.
17.06.2014 22:15
Павел Сосновских
 
а у вас какая версия укма?
17.06.2014 23:16
it-shturman
 
57 sp 3.
С+ ответил что работает все только через 1 юр. лицо + агентские договора.
18.06.2014 11:52
it-shturman
 
А не подскажете, где можно взять шаблон такого агентского договора?
20.06.2014 10:12
Vekarius
 
У нас было сделано несколько папок с sb_pilot - для каждого юрлица.
УКМ вызывает скрипт, который берет данные из файла "s", вызывает sb_pilot и обрабатывает данные после вызова.

Правда сейчас это уже не используется - веде осталось 1 юр. лицо.
24.06.2014 17:53
it-shturman
 
А сам скрипт не остался? Можешь выложить?
26.06.2014 16:02
it-shturman
 
Цитата:
Vekarius У нас было сделано несколько папок с sb_pilot - для каждого юрлица.
УКМ вызывает скрипт, который берет данные из файла "s", вызывает sb_pilot и обрабатывает данные после вызова.

Правда сейчас это уже не используется - веде осталось 1 юр. лицо.
А все таки - как ы на скрипт посмотреть, а то клиент "уперся", а с+ отвечает, что этим заниматься не будет...
Тупиковая ситуация, но решать как то надо....
27.06.2014 07:26
Mtirt
 
У меня есть большое подозрение, что у Vekarius этот скрипт для УКМ2.
27.06.2014 15:27
it-shturman
 
Думаю вряд ли, в другой теме он писал про УКМ4 версии 49 и выше.
А с другой стороны - думаю без разницы для какого УКМ - этот скрипт разбирает s файл и вызывает sb_pilot...
С версией УКМа он скорее всего не связан, если и УКМ2 генерит файл s.
30.06.2014 11:55
Павел Сосновских
 
УКМ2 по ДОСом работает
команды/файлы/скрипты - разные
30.06.2014 20:20
it-shturman
 
Значит точно УКМ4...
01.07.2014 13:24
it-shturman
 
Сами написали скрипт (уж как смогли, первый опыт так сказать). Вроде заработало...
01.07.2014 13:40
Павел Сосновских
 
было бы очень неплохо поделиться
может кому пригодится, а может и подскажем/поправим/дополним...
01.07.2014 14:34
it-shturman
 
Да, вот так как то получилось:

Код:
#!/bin/sh

SBRFDIR=/usr/local/auth/sbrf

case $1 in
7)
 sudo $SBRFDIR/t/ukm_runsbrf_in.sh $@
 sudo $SBRFDIR/g/ukm_runsbrf_in.sh $@
 cp -f -p $SBRFDIR/t/e $SBRFDIR/e
 cat $SBRFDIR/t/p $SBRFDIR/g/p > $SBRFDIR/p
  ;;
[1-3])
let SumT=0
let SumG=0
let SumAll=$2*1
let SumAllD=0
let CodeOp=$1*1

while read line ; do
  IFS=";"
  set -- $line
  dept=$1
  sm=$2
  sm=${sm/./} 
  if [[ "$dept" -eq "2" ]]; then
    let SumT=sm
    let SummAllD=SummAllD+SumT
  else
    let SumG=sm
    let SummAllD=SummAllD+SumG
  fi 
done < /tmp/s

if (( SumAll = SummAllD )); then
  Succ=0
  echo "2, !!!" > $SBRFDIR/t/e
  echo "2, !!!" > $SBRFDIR/g/e
  if [[ "$SumT" -ne "0" ]]; then
    sudo $SBRFDIR/t/ukm_runsbrf_in.sh $CodeOp $SumT 0
    read line < $SBRFDIR/t/e
    IFS=","
    set -- $line
    ErCode=$1
    if [[ "$ErCode" -ne "0" ]]; then
      Succ=1
    fi
    cp -f -p $SBRFDIR/t/e $SBRFDIR/e
  fi
  if [[ "$SumG" -ne "0" && "$Succ" -eq "0" ]]; then
    sudo $SBRFDIR/g/ukm_runsbrf_in.sh $CodeOp $SumG 0
    read line < $SBRFDIR/g/e
    IFS=","
    set -- $line
    ErCode=$1
    if [[ "$ErCode" -ne "0" ]]; then
      Succ=1
      # Возврат?
      if [[ "$SumT" -ne "0" && "$CodeOp" -eq "1" ]]; then
        let NS=0
        while read linefile ; do
           let NS=NS+1
           if [[ "$NS" -eq "4" ]]; then
             line=$linefile
           fi
        done < $SBRFDIR/t/e
        sudo $SBRFDIR/t/ukm_runsbrf_in.sh 13 $SumT $line
      fi
    fi
    cp -f -p $SBRFDIR/g/e $SBRFDIR/e
  fi
  if [[ "$Succ" -eq "0" ]]; then
    if [[ "$SumT" -ne "0" ]]; then
      cp -f -p $SBRFDIR/t/p $SBRFDIR/p
      if [[ "$SumG" -ne "0" ]]; then
        cat $SBRFDIR/t/p $SBRFDIR/g/p > $SBRFDIR/p
      fi
    else
      cp -f -p $SBRFDIR/g/p $SBRFDIR/p
    fi 
  fi
else
  echo "1,Сумма по отделам не совпадает с итогом." > $SBRFDIR/e
fi
;;
esac

exit 0
21.08.2014 17:07
dalex
 
it-shturman
Можете вкратце описать, что делает ваш скрипт?
Опции темы


Часовой пояс GMT +3, время: 16:11.

 

Форум сделан на основе vBulletin®
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.