1
Changeset f2cee48 – MultiMag

Changeset f2cee48


Ignore:
Timestamp:
Mar 14, 2012, 4:13:02 PM (12 years ago)
Author:
Blacklight <blacklight@…>
Branches:
master
Children:
5ce05c46
Parents:
81eced7
Message:
  • Добавлен разностный метод формирования подчинённого докумнета. #241
  • Исправлена потеря ведущих нулей в БИК агента
  • Удалены лишние кавычки в акте сверки
  • Удалён устаревший реестр документов
Files:
1 deleted
7 edited

Legend:

Unmodified
Added
Removed
  • db_patches/316_322.sql

    r81eced7 rf2cee48  
    33SET SQL_MODE='TRADITIONAL';
    44
    5 CREATE TABLE `site`.`attachments` (
     5CREATE TABLE `attachments` (
    66`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    77`original_filename` VARCHAR( 64 ) NOT NULL ,
  • web/include/doc.kompredl.php

    r81eced7 rf2cee48  
    708708                        $name=$nxt[0].' '.$nxt[1];
    709709                        if($nxt[2]) $name.='('.$nxt[2].')';
    710                         $name = iconv('UTF-8', 'windows-1251', $name);
     710                        $name = iconv('UTF-8', 'windows-1251', unhtmlentities($name));
    711711                        //$pdf->Cell($t_width[1],5,$name,1,0,'L',0);
    712                         $analog = iconv('UTF-8', 'windows-1251', $nxt[4]);
     712                        $analog = iconv('UTF-8', 'windows-1251', unhtmlentities($nxt[4]));
    713713                        //$pdf->Cell($t_width[2],5,$analog,1,0,'L',0);
    714                         $desc = iconv('UTF-8', 'windows-1251', $nxt[5]);
     714                        $desc = iconv('UTF-8', 'windows-1251', unhtmlentities($nxt[5]));
    715715                        //$pdf->Cell($t_width[3],5,$desc,1,0,'L',0);
    716716                        $cost = iconv('UTF-8', 'windows-1251', $cost);
  • web/include/doc.nulltype.php

    r81eced7 rf2cee48  
    152152                return $this->doc;
    153153        }
     154
     155        // Создать документ с товарными остатками на основе другого документа
     156        // В новый документ войдут только те наименования, которых нет в других подчинённых документах
     157        public function CreateFromPDiff($doc_obj)
     158        {
     159                $doc_data=$doc_obj->doc_data;
     160                $doc_data['p_doc']=$doc_obj->doc;
     161                if($this->sklad_editor_enable)
     162                {
     163                        $res=mysql_query("SELECT `id` FROM `doc_list` WHERE `p_doc`='{$doc_obj->doc}' AND `type`='{$this->doc_type}'");
     164                        $child_count=mysql_num_rows($res);
     165                }
     166                $this->Create($doc_data);
     167                if($this->sklad_editor_enable)
     168                {
     169                        if($child_count<1)
     170                        {
     171                                $res=mysql_query("SELECT `tovar`, `cnt`, `cost`, `page` FROM `doc_list_pos` WHERE `doc`='{$doc_obj->doc}' ORDER BY `doc_list_pos`.`id`");
     172                                if(mysql_errno())       throw new MysqlException("Не удалось выбрать номенклатуру!");
     173                                while($nxt=mysql_fetch_row($res))
     174                                {
     175                                        mysql_query("INSERT INTO `doc_list_pos` (`doc`, `tovar`, `cnt`, `cost`, `page`)
     176                                        VALUES ('{$this->doc}', '$nxt[0]', '$nxt[1]', '$nxt[2]', '$nxt[3]')");
     177                                        if(mysql_errno())       throw new MysqlException("Не удалось сохранить номенклатуру!");
     178                                }
     179                        }
     180                        else
     181                        {
     182                                $res=mysql_query("SELECT `a`.`tovar`, `a`.`cnt`, `a`.`comm`, `a`.`cost`,
     183                                ( SELECT SUM(`b`.`cnt`) FROM `doc_list_pos` AS `b`
     184                                INNER JOIN `doc_list` ON `b`.`doc`=`doc_list`.`id` AND `doc_list`.`p_doc`='{$doc_obj->doc}' AND `doc_list`.`mark_del`='0'
     185                                WHERE `b`.`tovar`=`a`.`tovar` )
     186                                FROM `doc_list_pos` AS `a`
     187                                WHERE `a`.`doc`='{$doc_obj->doc}'
     188                                ORDER BY `a`.`id`");
     189
     190                                while($nxt=mysql_fetch_row($res))
     191                                {
     192                                        if($nxt[4]<$nxt[1])
     193                                        {
     194                                                $n_cnt=$nxt[1]-$nxt[4];
     195                                                mysql_query("INSERT INTO `doc_list_pos` (`doc`, `tovar`, `cnt`, `comm`, `cost`)
     196                                                VALUES ('{$this->doc}', '$nxt[0]', '$n_cnt', '$nxt[2]', '$nxt[3]' )");
     197                                        }
     198                                }
     199                        }
     200                }
     201                return $this->doc;
     202        }
     203
    154204        public function head()
    155205        {
     
    457507                $tmpl->AddText("</div>
    458508                <script type=\"text/javascript\">
    459                
     509
    460510                addEventListener('load',DocHeadInit,false)
    461                
     511
    462512                //DocHeadInit()
    463513                </script>
  • web/include/doc.realizaciya.php

    r81eced7 rf2cee48  
    676676                $tmpl->AddText("<h1>Наценки N {$this->doc_data[9]}{$this->doc_data[10]}, от $dt </h1>
    677677                <b>Поставщик: </b>{$this->firm_vars['firm_name']}<br>
    678                 <b>Покупатель: </b>{$this->doc_data[3]}<br><br>");
    679 
    680                 $tmpl->AddText("
     678                <b>Покупатель: </b>{$this->doc_data[3]}<br>");
     679
     680                $res=mysql_query("SELECT `users`.`name`, `users`.`rname` FROM `doc_list`
     681                LEFT JOIN `users` ON `users`.`id`=`doc_list`.`user`
     682                WHERE `doc_list`.`id`='{$this->doc_data['p_doc']}' AND `doc_list`.`type`='3'");
     683                if(mysql_errno())                       throw new MysqlException('Ошибка выбоки автора заявки');
     684                if(mysql_num_rows($res))
     685                {
     686                        list($aname, $arname)=mysql_fetch_row($res);
     687                        if($arname)     $arname.=' ('.$aname.')';
     688                        else            $arname=$aname;
     689                        $tmpl->AddText("<b>Автор заявки: </b>$arname<br>");
     690                }
     691                else echo $this->doc;
     692
     693                $tmpl->AddText("<br>
    681694                <table width=800 cellspacing=0 cellpadding=0>
    682695                <tr><th>№</th><th width=450>Наименование<th>Кол-во<th>Стоимость<th>Сумма<th>АЦП<th>Наценка<th>Сумма наценки<th>П/закуп<th>Разница<th>Сумма разницы</tr>");
     
    688701                WHERE `doc_list_pos`.`doc`='{$this->doc}'
    689702                ORDER BY `doc_list_pos`.`id`");
     703                if(mysql_errno())                       throw new MysqlException('Ошибка выбоки товаров документа!');
    690704                $i=0;
    691705                $ii=1;
     
    703717                        $r=mysql_query("SELECT `doc_list`.`date`, `doc_list_pos`.`cost` FROM `doc_list_pos`
    704718                        LEFT JOIN `doc_list` ON `doc_list`.`id`=`doc_list_pos`.`doc`
    705                         WHERE `doc_list`.`ok`>'0' AND `doc_list`.`type`='1' AND `doc_list_pos`.`tovar`='$nxt[6]'
     719                        WHERE `doc_list`.`ok`>'0' AND `doc_list`.`type`='1' AND `doc_list_pos`.`tovar`='$nxt[6]' AND `doc_list`.`date`<'{$this->doc_data['date']}'
    706720                        ORDER BY `doc_list`.`date` DESC");
    707                         echo mysql_error();
    708                         $zakup=sprintf('%0.2f',mysql_result($r,0,1));
     721                        if(mysql_errno())                       throw new MysqlException('Ошибка поиска поступления');
     722                        if(mysql_num_rows($r))          $zakup=sprintf('%0.2f',mysql_result($r,0,1));
     723                        else                            $zakup=0;
    709724                        $razn=sprintf('%0.2f',$cost-$zakup);
    710725                        $sum_razn=sprintf('%0.2f',$razn*$nxt[3]);
     
    21322147                $i++;
    21332148        }
    2134        
     2149
    21352150        $pdf->SetWidths($t_all_width);
    2136        
     2151
    21372152        $font_sizes=array();
    21382153        $font_sizes[0]=8;
     
    21402155        $pdf->SetFSizes($font_sizes);
    21412156        $pdf->SetHeight(4);
    2142        
     2157
    21432158        $aligns=array('L','R','R','R','R','R','C','R','R','R','R','L','R');
    21442159        $pdf->SetAligns($aligns);
     
    22122227                                $sum+=$snalogom;
    22132228                                $sumnaloga+=$nalog;
    2214                                
    2215                                
     2229
     2230
    22162231                                $row=array( "$nxt[0] $nxt[1] / $nxt[2]", $nxt[10], $nxt[8], $cnt, $cena, $stoimost, '--', "$ndsp%", $nalog, $snalogom, $nxt[11], $nxt[6], $gtd);
    22172232                                $pdf->RowIconv($row);
     
    22452260                        $sum+=$snalogom;
    22462261                        $sumnaloga+=$nalog;
    2247                        
     2262
    22482263                        $row=array( "$nxt[0] $nxt[1] / $nxt[2]", $nxt[10], $nxt[8], $nxt[3], $cena, $stoimost, '--', "$ndsp%", $nalog, $snalogom, $nxt[11], $nxt[6], $nxt[7]);
    22492264                        $pdf->RowIconv($row);
  • web/include/doc.s.agent.php

    r81eced7 rf2cee48  
    2727                global $tmpl;
    2828                doc_menu(0,0);
    29                
     29
    3030                $sklad=rcv('sklad');
    3131                settype($sklad,'int');
     
    4040                $tmpl->AddText("</table>");
    4141        }
    42        
     42
    4343        function Service()
    4444        {
     
    5858                else if($opt=='ep')
    5959                {
    60                         $this->Edit();                 
     60                        $this->Edit();
    6161                }
    6262                else if($opt=='acost')
     
    9999                else $tmpl->msg("Неверный режим!");
    100100        }
    101                
     101
    102102// Служебные функции класса
    103103        function Edit()
    104104        {
    105                 global $tmpl;           
     105                global $tmpl;
    106106                doc_menu();
    107107                $pos=rcv('pos');
     
    115115                        $this->PosMenu($pos, $param);
    116116                }
    117                
     117
    118118                if($param=='')
    119119                {
     
    123123                        if(mysql_errno())       throw new MysqlException("Выборка информации об агенте не удалась");
    124124                        $nxt=@mysql_fetch_row($res);
    125                        
     125
    126126                        $pagent_name='';
    127                        
     127
    128128                        if(!$nxt)       $tmpl->AddText("<h3>Новая запись</h3>");
    129129                        else if($nxt[26]>0)
     
    138138                        <input type=hidden name=pos value=$pos>
    139139                        <tr class=lin0><td align=right width=20%>Наименование
    140                         <td><input type=text name='pos_name' value='$nxt[1]'> 
     140                        <td><input type=text name='pos_name' value='$nxt[1]'>
    141141                        <tr class=lin1><td align=right>Тип:
    142142                        <td>");
     
    149149                        {
    150150                                $tmpl->AddText("<label><input type='radio' name='type' value='0'>Физическое лицо</label><br>
    151                                 <label><input type='radio' name='type' value='1' checked>Юридическое лицо</label>");   
     151                                <label><input type='radio' name='type' value='1' checked>Юридическое лицо</label>");
    152152                        }
    153153                        $tmpl->AddText("
     
    157157                        if((($pos!=0)&&($nxt[0]==0))||($group==0)) $i=" selected";
    158158                        $tmpl->AddText("<option value='0' $i>--</option>");
    159                        
     159
    160160                        $res=mysql_query("SELECT * FROM `doc_agent_group`");
    161161                        while($nx=mysql_fetch_row($res))
    162162                        {
    163163                                $i="";
    164                                
     164
    165165                                if((($pos!=0)&&($nx[0]==$nxt[0]))||($group==$nx[0])) $i=" selected";
    166166                                $tmpl->AddText("<option value='$nx[0]' $i>$nx[1]</option>");
    167167                        }
    168                        
     168
    169169                        $ext='';
    170170                        $rights=getright('doc_agent_ext',@$_SESSION['uid']);
    171171                        if(! $rights['write']) $ext='disabled';
    172                                
     172
    173173                        $tmpl->AddText("</select>
    174174                        <tr class=lin1><td align=right>Адрес электронной почты (e-mail)<td><input type=text name='email' value='$nxt[3]'>
     
    199199                                $s='';
    200200                                if($nxt[21]==$nx[0])    $s='selected';
    201                                 $tmpl->AddText("<option value='$nx[0]' $s>$nx[1]</option>");                           
     201                                $tmpl->AddText("<option value='$nx[0]' $s>$nx[1]</option>");
    202202                        }
    203203                        $dish_checked=$nxt[25]?'checked':'';
     
    219219                                        matchContains:1,
    220220                                        cacheLength:10,
    221                                         maxItemsToShow:15, 
     221                                        maxItemsToShow:15,
    222222                                        formatItem:agliFormat,
    223223                                        onItemSelect:agselectItem,
     
    225225                                });
    226226                        });
    227                        
     227
    228228                        function agliFormat (row, i, num) {
    229229                                var result = row[0] + \"<em class='qnt'>тел. \" +
     
    231231                                return result;
    232232                        }
    233                        
     233
    234234                        function agselectItem(li) {
    235235                                if( li == null ) var sValue = \"Ничего не выбрано!\";
     
    242242
    243243                        <tr class=lin1><td><td><input type=submit value='Сохранить'>
    244                        
     244
    245245                        </table></form>");
    246246
     
    261261                        <tr class=lin1><td>Дополнительно:
    262262                        <td><label><input type='checkbox' name='set_def' value='1'>Установить по умолчанию</label>
    263                         <tr class=lin0><td colspan=2 align=center>             
     263                        <tr class=lin0><td colspan=2 align=center>
    264264                        <input type='submit' value='Сохранить'>
    265265                        </table>
     
    272272                        {
    273273                                $tmpl->AddText("<img src='img/t/$nxt[0].$nxt[1]'><br>");
    274                         }                       
     274                        }
    275275                }
    276276                else if($param=='h')
     
    292292                else if($param=='g')
    293293                {
    294                         $res=mysql_query("SELECT `id`, `name` , `desc` , `pid` 
     294                        $res=mysql_query("SELECT `id`, `name` , `desc` , `pid`
    295295                        FROM `doc_agent_group`
    296296                        WHERE `id`='$group'");
     
    312312                        <td>Описание:
    313313                        <td><textarea name='desc'>$nxt[2]</textarea>
    314                         <tr class=lin0><td colspan=2 align=center>             
     314                        <tr class=lin0><td colspan=2 align=center>
    315315                        <input type='submit' value='Сохранить'>
    316316                        </table>
     
    318318                }
    319319                else $tmpl->msg("Неизвестная закладка");
    320                
     320
    321321        }
    322322        function ESave()
    323323        {
    324                 global $tmpl, $CONFIG; 
     324                global $tmpl, $CONFIG;
    325325                doc_menu();
    326326                $pos=rcv('pos');
     
    331331                {
    332332                        //$this->PosMenu($pos, $param);
    333                        
     333
    334334                }
    335335
     
    340340                        if(mysql_error())       throw new Exception("Невозможно получить данные агента!");
    341341                        $ag_info=@mysql_fetch_assoc($res);
    342                        
     342
    343343                        $log_text='';
    344344                        $log_start='U_MOT';
    345                        
     345
    346346                        $pos_name=rcv('pos_name');
    347347                        $type=rcv('type');
     
    376376                        }
    377377                        else $p_agent='NULL';
    378                        
     378
    379379                        settype($g,'int');
    380                         settype($bik,'int');
    381380                        settype($responsible,'int');
    382381                        settype($dishonest,'int');
    383                        
     382
    384383                        if($pos_name!=$ag_info['name'])         $log_text.="name: ( {$ag_info['name']} => $pos_name ), ";
    385384                        if($type!=$ag_info['type'])             $log_text.="type: ( {$ag_info['type']} => $type ), ";
     
    392391                        if($inn!=$ag_info['inn'])               $log_text.="inn: ( {$ag_info['inn']} => $inn ), ";
    393392                        if($rs!=$ag_info['rs'])                 $log_text.="rs: ( {$ag_info['rs']} => $rs ), ";
    394                         if($ks!=$ag_info['ks'])                 $log_text.="ks: ( {$ag_info['ks']} => $ks ), ";                 
     393                        if($ks!=$ag_info['ks'])                 $log_text.="ks: ( {$ag_info['ks']} => $ks ), ";
    395394                        if($okevd!=$ag_info['okevd'])           $log_text.="okevd: ( {$ag_info['okevd']} => $okevd ), ";
    396395                        if($okpo!=$ag_info['okpo'])             $log_text.="okpo: ( {$ag_info['okpo']} => $okpo ), ";
     
    408407                        if(!$ag_info['p_agent'])        $ag_info['p_agent']='NULL';
    409408                        if($p_agent!=$ag_info['p_agent'])       $log_text.="p_agent: ( {$ag_info['p_agent']} => $p_agent ), ";
    410                        
     409
    411410                        if( (!preg_match('/^\w+([-\.\w]+)*\w@\w(([-\.\w])*\w+)*\.\w{2,8}$/', $email)) && ($email!='') )
    412411                        {
    413412                                $tmpl->msg("Неверный e-mail! Данные не сохранены!","err");
    414                         }       
     413                        }
    415414                        else if($pos)
    416415                        {
    417416                                $log_start='UPDATE';
    418                        
     417
    419418                                $sql_add='';
    420419                                $rights=getright('doc_agent_ext',@$_SESSION['uid']);
     
    431430                        }
    432431                        else
    433                         {       
     432                        {
    434433                                $log_start='CREATE';
    435                                
     434
    436435                                $sql_c=$sql_v='';
    437436                                $rights=getright('doc_agent_ext',@$_SESSION['uid']);
     
    450449                                else $tmpl->msg("Ошибка сохранения!".mysql_error(),"err");
    451450                        }
    452                        
     451
    453452                        doc_log($log_start.' agent', $log_text, 'AGENT', $pos);
    454453                }
     
    478477                                        else
    479478                                        {
    480                                                 $iminfo=getimagesize($_FILES['userfile']['tmp_name']);                                         
     479                                                $iminfo=getimagesize($_FILES['userfile']['tmp_name']);
    481480                                                switch ($iminfo[2])
    482481                                                {
     
    502501                                }
    503502                        }
    504                        
     503
    505504                        //mysql_query("INSERT INTO `doc_base_img` (`pos_id`, `img_id`, `default`) VALUES ('$pos', '$img_id', '$set_def')");
    506                
     505
    507506                }
    508507                else if($param=='g')
     
    514513                        if($group)
    515514                                $res=mysql_query("UPDATE `doc_agent_group` SET `name`='$name', `desc`='$desc', `pid`='$pid' WHERE `id` = '$group'");
    516                         else 
     515                        else
    517516                                $res=mysql_query("INSERT INTO `doc_agent_group` (`name`, `desc`, `pid`)
    518                                 VALUES ('$name', '$desc', '$pid')"); 
     517                                VALUES ('$name', '$desc', '$pid')");
    519518                        if($res) $tmpl->msg("Сохранено!");
    520519                        else $tmpl->msg("Ошибка!".mysql_error(),"err");
    521520                }
    522521                else $tmpl->msg("Неизвестная закладка");
    523         }       
    524        
     522        }
     523
    525524        function draw_level($select, $level)
    526525        {
     
    535534                        if($nxt[0]==0) continue;
    536535                        $item="<a href='' title='$nxt[2]' onclick=\"EditThis('/docs.php?l=agent&mode=srv&opt=pl&g=$nxt[0]','list'); return false;\" >$nxt[1]</a>";
    537        
     536
    538537                        if($i>=($cnt-1)) $r.=" IsLast";
    539        
     538
    540539                        $tmp=$this->draw_level($select, $nxt[0]); // рекурсия
    541540                        if($tmp)
     
    551550                return $ret;
    552551        }
    553        
    554        
     552
     553
    555554        function draw_groups($select)
    556555        {
     
    570569                {
    571570                        $res=mysql_query("SELECT `desc` FROM `doc_agent_group` WHERE `id`='$group'");
    572                         $g_desc=mysql_result($res,0,0);         
     571                        $g_desc=mysql_result($res,0,0);
    573572                        if($g_desc) $tmpl->AddText("<h4>$g_desc</h4>");
    574573                }
    575        
    576                 $sql="SELECT `doc_agent`.`id`, `doc_agent`.`group`, `doc_agent`.`name`, `doc_agent`.`tel`, `doc_agent`.`email`, `doc_agent`.`type`, `doc_agent`.`fullname`, `doc_agent`.`pfio`, `users`.`name`, `doc_agent`.`dishonest` 
     574
     575                $sql="SELECT `doc_agent`.`id`, `doc_agent`.`group`, `doc_agent`.`name`, `doc_agent`.`tel`, `doc_agent`.`email`, `doc_agent`.`type`, `doc_agent`.`fullname`, `doc_agent`.`pfio`, `users`.`name`, `doc_agent`.`dishonest`
    577576                FROM `doc_agent`
    578577                LEFT JOIN `users` ON `doc_agent`.`responsible`=`users`.`id`
     
    606605                        $tmpl->AddText("<br>");
    607606                        $sl=($page-1)*$lim;
    608        
     607
    609608                        $res=mysql_query("$sql LIMIT $sl,$lim");
    610609                }
     
    624623                <a href='/docs.php?l=agent&mode=search'><img src='/img/i_find.png' alt=''> Расширенный поиск</a>");
    625624        }
    626        
     625
    627626        function ViewListS($group=0,$s)
    628627        {
     
    632631                $tmpl->AddText("<table width=100% cellspacing=1 cellpadding=2><tr>
    633632                <th>№<th>Название<th>Телефон<th>e-mail<th>Дополнительно");
    634                        
     633
    635634                $sql="SELECT `doc_agent`.`id`, `doc_agent`.`group`, `doc_agent`.`name`, `doc_agent`.`tel`, `doc_agent`.`email`, `doc_agent`.`type`, `doc_agent`.`fullname`, `doc_agent`.`pfio`, `doc_agent`.`dishonest` FROM `doc_agent`";
    636635
     
    643642                        $sf=1;
    644643                }
    645                
     644
    646645                $sqla=$sql."WHERE (`doc_agent`.`name` LIKE '%$s%' OR `doc_agent`.`fullname` LIKE '%$s%') AND (`doc_agent`.`name` NOT LIKE '$s%' AND `doc_agent`.`fullname` NOT LIKE '$s%') ORDER BY `doc_agent`.`name` LIMIT 30";
    647646                $res=mysql_query($sqla);
     
    652651                        $sf=1;
    653652                }
    654                
     653
    655654                $tmpl->AddText("</table><a href='/docs.php?l=agent&mode=srv&opt=ep&pos=0&g=$group'><img src='/img/i_add.png' alt=''> Добавить</a>");
    656                
     655
    657656                if($sf==0)
    658657                        $tmpl->msg("По данным критериям записей не найдено!");
    659658        }
    660        
     659
    661660        function Search()
    662661        {
     
    691690                        <td><input type=text name='kont'>
    692691                        <td><input type=text name='pasp_num'>
    693                        
     692
    694693                        <tr>
    695694                        <td colspan=5 align=center><input type='submit' value='Найти'>
     
    709708                        $kont=rcv('kont');
    710709                        $pasp_num=rcv('pasp_num');
    711                        
     710
    712711                        $sql="SELECT `doc_agent`.`id`, `doc_agent`.`group`, `doc_agent`.`name`, `doc_agent`.`tel`, `doc_agent`.`email`, `doc_agent`.`type`, `doc_agent`.`fullname`, `doc_agent`.`pfio`
    713712                        FROM `doc_agent` WHERE 1 ";
    714                        
     713
    715714                        if($name)       $sql.="AND (`doc_agent`.`name` LIKE '%$name%' OR `doc_agent`.`fullname` LIKE '%$name%')";
    716715                        if($mail)       $sql.="AND `doc_agent`.`email` LIKE '%$mail%'";
     
    723722
    724723                        $sql.=" ORDER BY `doc_agent`.`name`";
    725                        
     724
    726725                        $tmpl->AddText("<table width=100% cellspacing=1 cellpadding=2><tr>
    727726                        <th>№<th>Название<th>Телефон<th>e-mail<th>Дополнительно");
    728                        
     727
    729728                        $res=mysql_query($sql);
    730729                        echo mysql_error();
     
    738737                }
    739738        }
    740        
     739
    741740        function DrawTable($res,$s)
    742741        {
     
    746745                {
    747746                        $nxt[2]=SearchHilight($nxt[2],$s);
    748                         $i=1-$i;               
     747                        $i=1-$i;
    749748                        if($nxt[5]) $info=$nxt[7];
    750749                        else $info=$nxt[6];
     
    754753                        $tmpl->AddText("<tr class='lin$i pointer' align='right' $red>
    755754                        <td><a href='/docs.php?l=agent&mode=srv&opt=ep&pos=$nxt[0]'>$nxt[0]</a><td align=left>$nxt[2]<td>$nxt[3]<td>$nxt[4]<td>$info<td>$nxt[8]");
    756                 }       
    757         }
    758        
     755                }
     756        }
     757
    759758        function PosMenu($pos, $param)
    760759        {
     
    763762                if($param=='')  $param='v';
    764763                $sel[$param]="class='selected'";
    765                
     764
    766765                $tmpl->AddText("<ul class='tabs'>
    767766                <li><a {$sel['v']} href='/docs.php?l=agent&amp;mode=srv&amp;opt=ep&amp;pos=$pos'>Основные</a></li>
    768767                <li><a {$sel['h']} href='/docs.php?l=agent&amp;mode=srv&amp;opt=ep&amp;param=h&amp;pos=$pos'>История</a></li>
    769                
     768
    770769                </ul>");
    771770        }
    772        
     771
    773772};
    774773
  • web/include/doc.zayavka.php

    r81eced7 rf2cee48  
    3333                settype($this->doc,'int');
    3434        }
    35        
     35
    3636        function DopHead()
    3737        {
     
    4141                if(!isset($this->dop_data['delivery_date']))    $this->dop_data['delivery_date']='';
    4242                $delivery_checked=@$this->dop_data['delivery']?'checked':'';
    43                 $tmpl->AddText("Кладовщик:<br><select name='kladovshik'>");     
     43                $tmpl->AddText("Кладовщик:<br><select name='kladovshik'>");
    4444                $res=mysql_query("SELECT `id`, `name`, `rname` FROM `users` WHERE `worker`='1' ORDER BY `name`");
    4545                if(mysql_errno())       throw new MysqlException("Не удалось получить имя кладовщика");
     
    6060                $delivery=rcv('delivery');
    6161                $delivery_date=rcv('delivery_date');
    62                
     62
    6363                settype($kladovshik, 'int');
    6464                $delivery=$delivery?'1':'0';
     
    7070                ( '{$this->doc}' ,'delivery_date','$delivery_date')");
    7171        }
    72        
     72
    7373        function DocApply($silent=0)
    7474        {
     
    7676                $res=mysql_query("SELECT `doc_list`.`id`, `doc_list`.`date`, `doc_list`.`type`, `doc_list`.`sklad`, `doc_list`.`ok`
    7777                FROM `doc_list` WHERE `doc_list`.`id`='{$this->doc}'");
    78                 if( !($nx=@mysql_fetch_row($res) ) )    throw new MysqlException('Ошибка выборки данных документа при проведении!');   
     78                if( !($nx=@mysql_fetch_row($res) ) )    throw new MysqlException('Ошибка выборки данных документа при проведении!');
    7979                if( $nx[4] && ( !$silent) )             throw new Exception('Документ уже был проведён!');
    8080                if($silent)     return;
     
    8989                FROM `doc_list` WHERE `doc_list`.`id`='{$this->doc}'");
    9090                if(!$res)                               throw new MysqlException('Ошибка выборки данных документа!');
    91                 if(! ($nx=@mysql_fetch_row($res)))      throw new Exception('Документ не найден!');     
     91                if(! ($nx=@mysql_fetch_row($res)))      throw new Exception('Документ не найден!');
    9292                if(!$nx[4])                             throw new Exception('Документ НЕ проведён!');
    9393                $tim=time();
     
    103103                        $tmpl->ajax=1;
    104104                        $tmpl->AddText("
    105                         <div onclick=\"window.location='/doc.php?mode=print&amp;doc={$this->doc}&amp;opt=komplekt'\">Накладная на комплектацию</div>                   
    106                         <div onclick=\"window.location='/doc.php?mode=print&amp;doc={$this->doc}&amp;opt=schet_pdf'\">Счёт</div>               
    107                         <div onclick=\"ShowPopupWin('/doc.php?mode=print&amp;doc={$this->doc}&amp;opt=schet_email'); return false;\">Счёт PDF по e-mail</div>                   
    108                         <div onclick=\"ShowPopupWin('/doc.php?mode=print&amp;doc={$this->doc}&amp;opt=schet_ue'); return false;\">Счёт в у.е.</div>     
     105                        <div onclick=\"window.location='/doc.php?mode=print&amp;doc={$this->doc}&amp;opt=komplekt'\">Накладная на комплектацию</div>
     106                        <div onclick=\"window.location='/doc.php?mode=print&amp;doc={$this->doc}&amp;opt=schet_pdf'\">Счёт</div>
     107                        <div onclick=\"ShowPopupWin('/doc.php?mode=print&amp;doc={$this->doc}&amp;opt=schet_email'); return false;\">Счёт PDF по e-mail</div>
     108                        <div onclick=\"ShowPopupWin('/doc.php?mode=print&amp;doc={$this->doc}&amp;opt=schet_ue'); return false;\">Счёт в у.е.</div>
    109109                        <div onclick=\"window.location='/doc.php?mode=print&amp;doc={$this->doc}&amp;opt=csv_export'\">Экспорт в CSV</div>");
    110110                }
     
    148148                        $tmpl->ajax=1;
    149149                        $tmpl->AddText("
    150                         <div onclick=\"window.location='/doc.php?mode=morphto&amp;doc={$this->doc}&amp;tt=t2'\">Реализация</div>
    151                         <div onclick=\"window.location='/doc.php?mode=morphto&amp;doc={$this->doc}&amp;tt=2'\">Реализация (старый метод)</div>
     150                        <div onclick=\"window.location='/doc.php?mode=morphto&amp;doc={$this->doc}&amp;tt=t2'\">Реализация (все товары)</div>
     151                        <div onclick=\"window.location='/doc.php?mode=morphto&amp;doc={$this->doc}&amp;tt=d2'\">Реализация (неотгруженные)</div>
     152                        <div onclick=\"window.location='/doc.php?mode=morphto&amp;doc={$this->doc}&amp;tt=2'\">Реализация (устарело)</div>
    152153                        <div onclick=\"window.location='/doc.php?mode=morphto&amp;doc={$this->doc}&amp;tt=6'\">Приходный кассовый ордер</div>
    153154                        <div onclick=\"window.location='/doc.php?mode=morphto&amp;doc={$this->doc}&amp;tt=4'\">Приход средств в банк</div>
     
    159160                        $dd=$new_doc->CreateFromP($this);
    160161                        $new_doc->SetDopData('cena',$this->dop_data['cena']);
     162                        $new_doc->SetDopData('platelshik',$this->doc_data['agent']);
     163                        $new_doc->SetDopData('gruzop',$this->doc_data['agent']);
     164                        $new_doc->SetDopData('received',0);
     165                        header("Location: doc.php?mode=body&doc=$dd");
     166                }
     167                else if($target_type=='d2')
     168                {
     169                        $new_doc=new doc_Realizaciya();
     170                        $dd=$new_doc->CreateFromPDiff($this);
     171                        $new_doc->SetDopData('cena',$this->dop_data['cena']);
     172                        $new_doc->SetDopData('platelshik',$this->doc_data['agent']);
     173                        $new_doc->SetDopData('gruzop',$this->doc_data['agent']);
     174                        $new_doc->SetDopData('received',0);
    161175                        header("Location: doc.php?mode=body&doc=$dd");
    162176                }
     
    256270                }
    257271        }
    258        
     272
    259273        function Service()
    260274        {
     
    279293                        (`type`, `agent`, `date`, `sklad`, `user`, `altnum`, `subtype`, `p_doc`, `sum`, `nds`, `firm_id`)
    280294                        VALUES ('$target_type', '{$this->doc_data[2]}', '$tm', '{$this->doc_data[7]}', '$uid', '$altnum', '{$this->doc_data[10]}', '{$this->doc}', '$sum', '{$this->doc_data[12]}', '{$this->doc_data[17]}')");
    281                        
     295
    282296                        $r_id= mysql_insert_id();
    283297
    284298                        if(!$r_id) return 0;
    285                        
     299
    286300                        doc_log("CREATE", "FROM {$this->doc_name} {$this->doc_name}", 'doc', $r_id);
    287                        
     301
    288302                        mysql_query("REPLACE INTO `doc_dopdata` (`doc`,`param`,`value`)
    289303                        VALUES ('$r_id','cena','{$this->dop_data['cena']}')");
     
    314328                                if($nxt[4]<$nxt[1])
    315329                                {
    316                                        
     330
    317331                                        if(!$new_id)
    318332                                        {
     
    324338                                                VALUES ('$target_type', '{$this->doc_data[2]}', '$tm', '{$this->doc_data[7]}', '$uid', '$altnum', '{$this->doc_data[10]}', '{$this->doc}', '$sum', '{$this->doc_data[12]}', '{$this->doc_data[17]}')");
    325339                                                $new_id= mysql_insert_id();
    326                                                
     340
    327341                                                mysql_query("REPLACE INTO `doc_dopdata` (`doc`,`param`,`value`)
    328342                                                VALUES ('$new_id','cena','{$this->dop_data['cena']}')");
     
    361375                        $res=mysql_query("SELECT `adres`, `tel` FROM `doc_agent` WHERE `id`='{$this->doc_data[2]}'");
    362376                        $agent_data=mysql_fetch_row($res);
    363                        
     377
    364378                        $dt=date("d.m.Y",$this->doc_data[5]);
    365379                        $tmpl->AddText("
     
    414428                        $sumcost = sprintf("%01.2f", $sum);
    415429                        $summass = sprintf("%01.3f", $summass);
    416                        
     430
    417431                        if($this->doc_data[12])
    418432                        {
     
    444458                                $tmpl->AddText("<img src='{$CONFIG['site']['doc_shtamp']}' alt='Место для печати'>");
    445459                        $tmpl->AddText("<p align='right'>Масса товара: <b>$summass</b> кг.<br></p>");
    446                 }               
    447         }
    448        
     460                }
     461        }
     462
    449463        function SendEMail()
    450464        {
     
    452466                global $CONFIG;
    453467                $email=rcv('email');
    454                
     468
    455469                if($email=='')
    456470                {
     
    466480                        <textarea name='comm'></textarea><br>
    467481                        <input type='submit' value='&gt;&gt;'>
    468                         </form>");     
     482                        </form>");
    469483                }
    470484                else
     
    475489                        $tmpl->msg("Сообщение отправлено!","ok");
    476490                }
    477                
    478         }
    479        
     491
     492        }
     493
    480494        function PrintSchetUE($coeff)
    481495        {
    482496                global $tmpl, $CONFIG, $uid;
    483                
     497
    484498                if($coeff==0) $coeff=1;
    485499
     
    498512                        $res=mysql_query("SELECT `adres`, `tel` FROM `doc_agent` WHERE `id`='{$this->doc_data[2]}'");
    499513                        $agent_data=mysql_fetch_row($res);
    500                        
     514
    501515                        $dt=date("d.m.Y",$this->doc_data[5]);
    502516                        $tmpl->AddText("
     
    504518                        <table width=800>
    505519                        <tr><td align=center>
    506                        
     520
    507521                        Счёт действителен в течение трёх банковских дней.<br>
    508522                        Внимание! Оплата данного счёта означает согласие с условиями поставки товара. Уведомление об оплате обязательно,
     
    510524                        самовывозом, при наличии доверенности и паспорта.<br>
    511525                        <b>Выполняйте заказы через наш сайт http://{$CONFIG['site']['name']} - экономьте своё и наше время!<br>
    512                         При заказе через сайт предоставляются скидки!</b><br>                   
     526                        При заказе через сайт предоставляются скидки!</b><br>
    513527                        1 у.е. = $coeff руб. Курс действителен на дату выписки счёта.
    514528                        <h3>Образец заполнения платёжного поручения</h3>
     
    553567                        $sumcost = sprintf("%01.2f", $sum);
    554568                        $summass = sprintf("%01.3f", $summass);
    555                        
     569
    556570                        if($this->doc_data[12])
    557571                        {
     
    580594                        }
    581595                        $tmpl->AddText("<hr>");
    582                        
     596
    583597                        if($CONFIG['site']['doc_shtamp'])
    584598                                $tmpl->AddText("<img src='{$CONFIG['site']['doc_shtamp']}' alt='Место для печати'>");
    585599                        $tmpl->AddText("<p align=right>Масса товара: <b>$summass</b> кг.<br></p>");
    586                 }               
    587         }
    588        
     600                }
     601        }
     602
    589603        function PrintPDF($to_str=0)
    590604        {
     
    592606                require('fpdf/fpdf_mysql.php');
    593607                global $tmpl, $CONFIG, $uid;
    594                
     608
    595609                $res=mysql_query("SELECT `adres`, `tel` FROM `doc_agent` WHERE `id`='{$this->doc_data[2]}'");
    596610                $agent_data=mysql_fetch_row($res);
    597                
     611
    598612                $res=mysql_query("SELECT `name`, `bik`, `rs`, `ks` FROM `doc_kassa` WHERE `ids`='bank' AND `num`='{$this->doc_data[16]}'");
    599613                $bank_data=mysql_fetch_row($res);
    600                
     614
    601615                $dt=date("d.m.Y",$this->doc_data[5]);
    602                
     616
    603617                if(!isset($coeff))      $coeff=1;
    604618                if($coeff==0) $coeff=1;
    605619                if(!$to_str) $tmpl->ajax=1;
    606                
     620
    607621                $pdf=new FPDF('P');
    608622                $pdf->Open();
     
    613627                $pdf->SetFont('Arial','',10);
    614628                $pdf->SetFillColor(255);
    615                
     629
    616630                if(@$CONFIG['site']['doc_header'])
    617631                {
     
    621635                        if($size[2]!=IMAGETYPE_JPEG)    throw new Exception("Файл изображения не в jpeg формате");
    622636                        if($size[0]<800)                throw new Exception("Разрешение изображения слишком мало! Допустимя ширина - не менее 800px");
    623                         $width=190;                             
     637                        $width=190;
    624638                        $offset_y=($size[1]/$size[0]*$width)+14;
    625                         $pdf->Image($header_img,8,10, $width); 
     639                        $pdf->Image($header_img,8,10, $width);
    626640                        $pdf->Sety($offset_y);
    627641
    628642                }
    629                
     643
    630644                $str = "Внимание! Оплата данного счёта означает согласие с условиями поставки товара. Уведомление об оплате обязательно, иначе не гарантируется наличие товара на складе. Товар отпускается по факту прихода денег на р/с поставщика, самовывозом, при наличии доверенности и паспорта. Система интернет-заказов для постоянных клиентов доступна на нашем сайте http://{$CONFIG['site']['name']}.";
    631645                $str = iconv('UTF-8', 'windows-1251', $str);
     
    636650                $str = iconv('UTF-8', 'windows-1251', $str);
    637651                $pdf->Cell(0,5,$str,0,1,'C',0);
    638                
     652
    639653//              $str="При оформлении заказа через сайт {$CONFIG['site']['name']} предоставляется значительная скидка!";
    640654//              $pdf->SetFont('','U',12);
    641655//              $str = iconv('UTF-8', 'windows-1251', $str);
    642656//              $pdf->Cell(0,8,$str,0,1,'C',0);
    643                
     657
    644658                $str='Образец заполнения платёжного поручения:';
    645659                $str = iconv('UTF-8', 'windows-1251', $str);
    646660                $pdf->SetFont('','',11);
    647661                $pdf->Cell(0,5,$str,0,1,'C',0);
    648                
     662
    649663                $old_x=$pdf->GetX();
    650664                $old_y=$pdf->GetY();
     
    652666                $table_c=110;
    653667                $table_c2=15;
    654                
     668
    655669                $pdf->SetFont('','',12);
    656670                $str=$bank_data[0];
     
    665679                $ty=$pdf->GetY();
    666680                $pdf->Cell($table_c,10,'',1,1,'L',0);
    667                
     681
    668682                $pdf->lMargin=$old_x+1;
    669683                $pdf->SetX($tx+1);
     
    684698                $str = iconv('UTF-8', 'windows-1251', $str);
    685699                $pdf->Cell($table_c2,10,$str,1,1,'L',0);
    686                
     700
    687701                $pdf->lMargin=$old_x+$table_c+$table_c2;
    688702                $pdf->SetY($old_y);
     
    696710                $str = iconv('UTF-8', 'windows-1251', $str);
    697711                $pdf->Cell(0,15,$str,1,1,'L',0);
    698                
     712
    699713                $pdf->lMargin=$old_margin;
    700714                $pdf->SetY($old_y+30);
    701                
    702                
     715
     716
    703717                $pdf->SetFont('','',16);
    704718                $str='Счёт № '.$this->doc_data[9].', от '.$dt;
    705                 $str = iconv('UTF-8', 'windows-1251', $str);   
     719                $str = iconv('UTF-8', 'windows-1251', $str);
    706720                $pdf->Cell(0,5,$str,0,1,'L',0);
    707721                $pdf->SetFont('','',8);
    708722                $str='Поставщик: '.unhtmlentities($this->firm_vars['firm_name'].', '.$this->firm_vars['firm_adres'].', тел:'.$this->firm_vars['firm_telefon']);
    709                 $str = iconv('UTF-8', 'windows-1251', $str);   
     723                $str = iconv('UTF-8', 'windows-1251', $str);
    710724                $pdf->MultiCell(0,4,$str,0,1,'L',0);
    711725                $str="Покупатель: ".unhtmlentities($this->doc_data[3].", адрес: $agent_data[0], телефон: $agent_data[1]");
    712                 $str = iconv('UTF-8', 'windows-1251', $str);   
     726                $str = iconv('UTF-8', 'windows-1251', $str);
    713727                $pdf->MultiCell(0,4,$str,0,1,'L',0);
    714                
     728
    715729                $pdf->Ln(3);
    716730                $pdf->SetFont('','',11);
    717                 $str = iconv('UTF-8', 'windows-1251', str_replace("<br>",", ",unhtmlentities($this->doc_data[4])));     
     731                $str = iconv('UTF-8', 'windows-1251', str_replace("<br>",", ",unhtmlentities($this->doc_data[4])));
    718732                $pdf->MultiCell(0,5,$str,0,1,'L',0);
    719                
     733
    720734                $pdf->Ln(3);
    721                
     735
    722736                $t_width=array(8,110,20,25,0);
    723737                $pdf->SetFont('','',12);
    724738                $str='№';
    725                 $str = iconv('UTF-8', 'windows-1251', $str);   
     739                $str = iconv('UTF-8', 'windows-1251', $str);
    726740                $pdf->Cell($t_width[0],5,$str,1,0,'C',0);
    727741                $str='Наименование';
    728                 $str = iconv('UTF-8', 'windows-1251', $str);   
     742                $str = iconv('UTF-8', 'windows-1251', $str);
    729743                $pdf->Cell($t_width[1],5,$str,1,0,'C',0);
    730744                $str='Кол-во';
    731                 $str = iconv('UTF-8', 'windows-1251', $str);   
     745                $str = iconv('UTF-8', 'windows-1251', $str);
    732746                $pdf->Cell($t_width[2],5,$str,1,0,'C',0);
    733747                $str='Цена';
    734                 $str = iconv('UTF-8', 'windows-1251', $str);   
     748                $str = iconv('UTF-8', 'windows-1251', $str);
    735749                $pdf->Cell($t_width[3],5,$str,1,0,'C',0);
    736750                $str='Сумма';
    737                 $str = iconv('UTF-8', 'windows-1251', $str);   
     751                $str = iconv('UTF-8', 'windows-1251', $str);
    738752                $pdf->Cell($t_width[4],5,$str,1,0,'C',0);
    739753                $pdf->Ln();
    740                
     754
    741755                $pdf->SetFont('','',9);
    742                
     756
    743757                $res=mysql_query("SELECT `doc_group`.`printname`, `doc_base`.`name`, `doc_base`.`proizv`, `doc_list_pos`.`cnt`, `doc_list_pos`.`cost`, `doc_base_dop`.`mass`
    744758                FROM `doc_list_pos`
     
    758772                        $cost = sprintf("%01.2f р.", $nxt[4]);
    759773                        $smcost = sprintf("%01.2f р.", $sm);
    760                        
     774
    761775                        $name=$nxt[0].' '.$nxt[1];
    762776                        if($nxt[2]) $name.='('.$nxt[2].')';
     
    765779                        $rough_lines=ceil($pdf->GetStringWidth($name)/$t_width[1]);
    766780
    767                         if( $pdf->h <= ($pdf->GetY()+15 + $rough_lines*5 ) ) $pdf->AddPage();                   
    768 
    769                        
     781                        if( $pdf->h <= ($pdf->GetY()+15 + $rough_lines*5 ) ) $pdf->AddPage();
     782
     783
    770784                        // Вывод наименования и расчёт отступов
    771785                        $old_x=$pdf->GetX();
    772786                        $old_y=$pdf->GetY();
    773                         $pdf->SetX($pdf->GetX()+$t_width[0]);                   
     787                        $pdf->SetX($pdf->GetX()+$t_width[0]);
    774788                        $pdf->MultiCell($t_width[1],5,$name,1,'L');
    775789                        $line_height=$pdf->GetY()-$old_y;
    776790                        $pdf->SetX($old_x);
    777791                        $pdf->SetY($old_y);
    778                        
    779                        
     792
     793
    780794
    781795                        $pdf->Cell($t_width[0],$line_height,$i,1,0,'R');
     
    784798                        //$pdf->MultiCell($t_width[1],5,$str,1,'L');
    785799                        $pdf->Cell($t_width[2],$line_height,$nxt[3],1,0,'C');
    786                         $str = iconv('UTF-8', 'windows-1251', $cost);   
     800                        $str = iconv('UTF-8', 'windows-1251', $cost);
    787801                        $pdf->Cell($t_width[3],$line_height,$str,1,0,'R');
    788                         $str = iconv('UTF-8', 'windows-1251', $smcost); 
     802                        $str = iconv('UTF-8', 'windows-1251', $smcost);
    789803                        $pdf->Cell($t_width[4],$line_height,$str,1,0,'R');
    790804                        $pdf->Ln($line_height);
    791805                }
    792                
     806
    793807                $cost = num2str($sum);
    794808                $sumcost = sprintf("%01.2f", $sum);
    795809                $summass = sprintf("%01.3f", $summass);
    796        
    797                
     810
     811
    798812                if($pdf->h<=($pdf->GetY()+60)) $pdf->AddPage();
    799                
     813
    800814                $delta=$pdf->h-($pdf->GetY()+55);
    801815                if($delta>17) $delta=17;
    802                
     816
    803817                if($CONFIG['site']['doc_shtamp'])
    804818                {
    805819                        $shtamp_img=str_replace('{FN}', $this->doc_data['firm_id'], $CONFIG['site']['doc_shtamp']);
    806                         $pdf->Image($shtamp_img, 4,$pdf->GetY()+$delta, 120);   
    807                 }
    808                
     820                        $pdf->Image($shtamp_img, 4,$pdf->GetY()+$delta, 120);
     821                }
     822
    809823                $pdf->SetFont('','',8);
    810824                $str="Масса товара: $summass кг.";
    811                 $str = iconv('UTF-8', 'windows-1251', $str);   
     825                $str = iconv('UTF-8', 'windows-1251', $str);
    812826                $pdf->Cell(0,6,$str,0,0,'L',0);
    813                
     827
    814828                if($this->doc_data[12])
    815829                {
     
    818832                        $pdf->SetFont('','',12);
    819833                        $str="Итого: $sumcost руб.";
    820                         $str = iconv('UTF-8', 'windows-1251', $str);   
     834                        $str = iconv('UTF-8', 'windows-1251', $str);
    821835                        $pdf->Cell(0,7,$str,0,1,'R',0);
    822836                        $str="В том числе НДС ".$this->firm_vars['param_nds']."%: $nds руб.";
    823                         $str = iconv('UTF-8', 'windows-1251', $str);   
     837                        $str = iconv('UTF-8', 'windows-1251', $str);
    824838                        $pdf->Cell(0,5,$str,0,1,'R',0);
    825                        
     839
    826840                        $pdf->SetFont('','',8);
    827841                        $str="Всего $i наименований, на сумму $sumcost руб. ($cost)";
    828                         $str = iconv('UTF-8', 'windows-1251', $str);   
     842                        $str = iconv('UTF-8', 'windows-1251', $str);
    829843                        $pdf->Cell(0,4,$str,0,1,'L',0);
    830844                        $str="В том числе НДС ".$this->firm_vars['param_nds']."%: $nds руб.";
    831                         $str = iconv('UTF-8', 'windows-1251', $str);   
     845                        $str = iconv('UTF-8', 'windows-1251', $str);
    832846                        $pdf->Cell(0,4,$str,0,1,'L',0);
    833                        
     847
    834848                }
    835849                else
     
    841855                        $pdf->SetFont('','',10);
    842856                        $str="Итого: $sumcost руб.";
    843                         $str = iconv('UTF-8', 'windows-1251', $str);   
     857                        $str = iconv('UTF-8', 'windows-1251', $str);
    844858                        $pdf->Cell(0,5,$str,0,1,'R',0);
    845859                        $str="НДС ".$this->firm_vars['param_nds']."%: $nds_p руб.";
    846                         $str = iconv('UTF-8', 'windows-1251', $str);   
     860                        $str = iconv('UTF-8', 'windows-1251', $str);
    847861                        $pdf->Cell(0,4,$str,0,1,'R',0);
    848862                        $str="Всего: $cost2 руб.";
    849                         $str = iconv('UTF-8', 'windows-1251', $str);   
     863                        $str = iconv('UTF-8', 'windows-1251', $str);
    850864                        $pdf->Cell(0,4,$str,0,1,'R',0);
    851                        
     865
    852866                        $pdf->SetFont('','',8);
    853867                        $str="Всего $i наименований, на сумму $sumcost руб. ($cost)";
    854                         $str = iconv('UTF-8', 'windows-1251', $str);   
     868                        $str = iconv('UTF-8', 'windows-1251', $str);
    855869                        $pdf->Cell(0,4,$str,0,1,'L',0);
    856870                        $str="Кроме того, НДС ".$this->firm_vars['param_nds']."%: $nds_p, Всего $cost2 руб.";
    857                         $str = iconv('UTF-8', 'windows-1251', $str);   
     871                        $str = iconv('UTF-8', 'windows-1251', $str);
    858872                        $pdf->Cell(0,4,$str,0,1,'L',0);
    859873                }
    860                
     874
    861875                $res=mysql_query("SELECT `rname`, `tel`, `email` FROM `users` WHERE `id`='{$this->doc_data[8]}'");
    862876                $name=@mysql_result($res,0,0);
     
    864878                $tel=@mysql_result($res,0,1);
    865879                $email=@mysql_result($res,0,2);
    866                
     880
    867881                $pdf->SetAutoPageBreak(0,10);
    868882                $pdf->SetY($pdf->h-18);
     
    870884                $pdf->SetFont('','',10);
    871885                $str="Исп. менеджер $name";
    872                 $str = iconv('UTF-8', 'windows-1251', $str);   
     886                $str = iconv('UTF-8', 'windows-1251', $str);
    873887                $pdf->Cell(0,4,$str,0,1,'R',0);
    874888                $str="Контактный телефон: $tel";
    875                 $str = iconv('UTF-8', 'windows-1251', $str);   
     889                $str = iconv('UTF-8', 'windows-1251', $str);
    876890                $pdf->Cell(0,4,$str,0,1,'R',0);
    877891                $str="Электронная почта: $email";
    878                 $str = iconv('UTF-8', 'windows-1251', $str);   
     892                $str = iconv('UTF-8', 'windows-1251', $str);
    879893                $pdf->Cell(0,4,$str,0,1,'R',0);
    880894
     
    944958                        $mass_p=num2str($summass,'kg',3);
    945959                        $summass = sprintf("%01.3f", $summass);
    946                        
     960
    947961                        $res=mysql_query("SELECT `name` FROM `users` WHERE `id`='$uid'");
    948962                        if(mysql_errno())       throw new MysqlException("Не удалось получить имя пользователя");
    949963                        $vip_name=@mysql_result($res,0,0);
    950                        
     964
    951965                        $res=mysql_query("SELECT `name` FROM `users` WHERE `id`='{$this->doc_data['user']}'");
    952966                        if(mysql_errno())       throw new MysqlException("Не удалось получить имя автора");
     
    967981                }
    968982        }
    969        
     983
    970984        function CSVExport()
    971985        {
    972986                global $tmpl;
    973987                global $uid;
    974                
     988
    975989                $dt=date("d.m.Y",$this->doc_data[5]);
    976                
     990
    977991                if($coeff==0) $coeff=1;
    978992                if(!$to_str) $tmpl->ajax=1;
    979                
    980                 header("Content-type: 'application/octet-stream'"); 
     993
     994                header("Content-type: 'application/octet-stream'");
    981995                header("Content-Disposition: attachment; filename=zayavka.csv;");
    982996                echo"PosNum;ID;Name;Proizv;Cnt;Cost;Sum\r\n";
    983                
     997
    984998                $res=mysql_query("SELECT `doc_base`.`id`, `doc_group`.`printname`, `doc_base`.`name`, `doc_base`.`proizv`, `doc_list_pos`.`cnt`, `doc_list_pos`.`cost`
    985999                FROM `doc_list_pos`
  • web/include/reports/revision_act.php

    r81eced7 rf2cee48  
    2626                else            return "Акт сверки взаимных расчетов";
    2727        }
    28        
     28
    2929
    3030        function Form()
     
    4646                Агент-партнёр:<br>
    4747                <input type='hidden' name='agent_id' id='agent_id' value=''>
    48                 <input type='text' id='ag' name='agent_name' style='width: 400px;' value=''><br>               
     48                <input type='text' id='ag' name='agent_name' style='width: 400px;' value=''><br>
    4949                <p class='datetime'>
    5050                Дата от:<br><input type='text' id='datepicker_f' name='date_st' value='1970-01-01' maxlength='10'><br>
     
    5656                {
    5757                        if($CONFIG['site']['default_firm']==$nx[0]) $s=' selected'; else $s='';
    58                         $tmpl->AddText("<option value='$nx[0]' $s>$nx[1]</option>");           
    59                 }               
     58                        $tmpl->AddText("<option value='$nx[0]' $s>$nx[1]</option>");
     59                }
    6060                $tmpl->AddText("</select><br>
    6161                Подтип документа (оставьте пустым, если учитывать не требуется):<br>
    6262                <input type='text' name='subtype'><br>
    6363                <label><input type='radio' name='opt' value='html'>Выводить в виде HTML</label><br>
    64                 <label><input type='radio' name='opt' value='pdf' checked>Выводить в виде PDF</label><br>               
     64                <label><input type='radio' name='opt' value='pdf' checked>Выводить в виде PDF</label><br>
    6565                <button type='submit'>Сформировать отчет</button></form>
    66                
     66
    6767                <script type='text/javascript'>
    68                
     68
    6969                $(document).ready(function(){
    7070                        $(\"#ag\").autocomplete(\"/docs.php\", {
     
    7676                        matchContains:1,
    7777                        cacheLength:10,
    78                         maxItemsToShow:15,       
     78                        maxItemsToShow:15,
    7979                        formatItem:agliFormat,
    8080                        onItemSelect:agselectItem,
     
    8282                        });
    8383                        $.datepicker.setDefaults( $.datepicker.regional[ 'ru' ] );
    84                        
     84
    8585                        $( '#datepicker_f' ).datepicker({showButtonPanel: true  });
    8686                        $( '#datepicker_f' ).datepicker( 'option', 'dateFormat', 'yy-mm-dd' );
     
    101101                        document.getElementById('agent_id').value=sValue;
    102102                }
    103                
    104                 </script>");   
     103
     104                </script>");
    105105        }
    106        
     106
    107107        function Make($opt='html')
    108108        {
     
    127127                        $pdf->AddPage('P');
    128128                }
    129                
     129
    130130                $firm_id=rcv('firm_id');
    131131                $subtype=rcv('subtype');
     
    133133                $date_end=strtotime(rcv('date_end'))+60*60*24-1;
    134134                $agent_id=rcv('agent_id');
    135                
     135
    136136                settype($firm_id,'int');
    137137                if($firm_id)
     
    147147                if(mysql_num_rows($res)==0)     throw new Exception("Не указан агент $agent_id!");
    148148                list($agent, $fn, $dir_fio)=mysql_fetch_row($res);
    149                
     149
    150150                $sql_add='';
    151151                if($firm_id>0) $sql_add.=" AND `doc_list`.`firm_id`='$firm_id'";
    152152                if($subtype!='') $sql_add.=" AND `doc_list`.`subtype`='$subtype'";
    153                
     153
    154154                $res=mysql_query("SELECT `doc_list`.`id`, `doc_list`.`type`, `doc_list`.`date`, `doc_list`.`sum`, `doc_list`.`altnum`, `doc_types`.`name`
    155155                FROM `doc_list`
     
    177177                {
    178178                        $firm_vars['firm_name']=unhtmlentities($firm_vars['firm_name']);
    179                         $agent['fullname']=unhtmlentities($agent['fullname']); 
     179                        $agent['fullname']=unhtmlentities($agent['fullname']);
     180                        $fn=unhtmlentities($fn);
     181                        $dir_fio=unhtmlentities($dir_fio);
    180182                        $pdf->SetFont('Arial','',16);
    181183                        $str = iconv('UTF-8', 'windows-1251', $this->getName());
    182                         $pdf->Cell(0,6,$str,0,1,'C',0);                 
    183                        
     184                        $pdf->Cell(0,6,$str,0,1,'C',0);
     185
    184186                        $str="от {$firm_vars['firm_name']}\nза период с ".date("d.m.Y",$date_st)." по ".date("d.m.Y",$date_end);
    185187                        $pdf->SetFont('Arial','',10);
     
    187189                        $pdf->MultiCell(0,4,$str,0,'C',0);
    188190                        $pdf->Ln(2);
    189                         $str="Мы, нижеподписавшиеся, директор {$firm_vars['firm_name']} {$firm_vars['firm_director']} c одной стороны, и директор $fn $dir_fio, с другой стороны, составили настоящий акт сверки о том, что состояние взаимных расчетов по данным учёта следующее:";                   
    190                         $str = iconv('UTF-8', 'windows-1251', $str);   
     191                        $str="Мы, нижеподписавшиеся, директор {$firm_vars['firm_name']} {$firm_vars['firm_director']} c одной стороны, и директор $fn $dir_fio, с другой стороны, составили настоящий акт сверки о том, что состояние взаимных расчетов по данным учёта следующее:";
     192                        $str = iconv('UTF-8', 'windows-1251', $str);
    191193                        $pdf->Write(5,$str,'');
    192                        
     194
    193195                        $pdf->Ln(8);
    194196                        $y=$pdf->GetY();
     
    197199                        $t_width=array(17,44,17,17,17,44,17,0);
    198200                        $t_text=array('Дата', 'Операция', 'Дебет', 'Кредит', 'Дата', 'Операция', 'Дебет', 'Кредит');
    199                        
     201
    200202                        $h_width=$t_width[0]+$t_width[1]+$t_width[2]+$t_width[3];
    201203                        $str1=iconv('UTF-8', 'windows-1251', "По данным {$firm_vars['firm_name']}");
    202204                        $str2=iconv('UTF-8', 'windows-1251', "По данным $fn");
    203                                                
     205
    204206                        $pdf->MultiCell($h_width,5,$str1,0,'L',0);
    205207                        $max_h=$pdf->GetY()-$y;
     
    224226                }
    225227                $pr=$ras=0;
    226                 $f_print=false;         
     228                $f_print=false;
    227229                while($nxt=mysql_fetch_array($res))
    228230                {
    229                         $deb=$kr="";                           
     231                        $deb=$kr="";
    230232                        if( ($nxt[2]>=$date_st) && (!$f_print) )
    231233                        {
     
    244246                                if($pr) $pr=sprintf("%01.2f", $pr);
    245247                                if($ras)$ras=sprintf("%01.2f", $ras);
    246                                
     248
    247249                                if($opt=='html')
    248250                                {
     
    313315                                if($kr) $kr=sprintf("%01.2f", $kr);
    314316                                $dt=date("d.m.Y",$nxt[2]);
    315                                
     317
    316318                                if($opt=='html')        $tmpl->AddText("<tr><td>$dt<td>$nxt[5] N$nxt[4]<td>$deb<td>$kr<td><td><td><td>");
    317319                                else if($opt=='pdf')
     
    330332                        }
    331333                }
    332                
     334
    333335                $razn=$pr-$ras;
    334336                $razn_p=abs($razn);
    335337                $razn_p=sprintf("%01.2f", $razn_p);
    336                
     338
    337339                $pr=sprintf("%01.2f", $pr);
    338340                $ras=sprintf("%01.2f", $ras);
    339                
     341
    340342                if($opt=='html')
    341343                {
     
    353355                        $pdf->Ln();
    354356                }
    355                
     357
    356358                if($pr>$ras)
    357359                {
     
    367369                if($pr) $pr=sprintf("%01.2f", $pr);
    368370                if($ras)$ras=sprintf("%01.2f", $ras);
    369                
     371
    370372                if($opt=='html')
    371373                {
     
    382384                        директор<br> ____________________________ ($dir_fio)<br><br>м.п.<br>
    383385                        </table>");
    384                        
     386
    385387                }
    386388                else if($opt=='pdf')
     
    400402                        else    if($razn<0)     $str="задолженность в пользу ".$firm_vars['firm_name']." $razn_p руб.";
    401403                        else                    $str="переплат и задолженностей нет!";
    402                        
     404
    403405                        $str=iconv('UTF-8', 'windows-1251', $str);
    404406                        $pdf->Write(4,$str);
     
    411413                        $pdf->lMargin=$x;
    412414                        $pdf->setX($x);
    413                        
     415
    414416                        $pdf->setY($y);
    415417                        $pdf->MultiCell(0,5,$str,0,'L',0);
     
    417419                        $pdf->Output('akt_sverki.pdf','I');
    418420                }
    419                
    420                
     421
     422
    421423        }
    422        
     424
    423425        function Run($opt)
    424426        {
    425427                if($opt=='')            $this->Form();
    426                 else if(($opt=='html')||($opt=='pdf'))  $this->Make($opt);     
     428                else if(($opt=='html')||($opt=='pdf'))  $this->Make($opt);
    427429        }
    428430};
Note: See TracChangeset for help on using the changeset viewer.