1 (изменено: Stasweb, 27-12-2019 15:31:38)

Тема: Добавление функций складу

Здравствуйте!
Пытаюсь добавить вывод минимального количества товаров на складе в "Товары на складе"
Добавил в /templates/pages/register/stocklist.html

                <table class="table   table-responsive-sm   table-sm  table-hover ">
                    <tr>
                        <th>Название</th>
                        <th>Артикул</th>
                        <th>Категория</th>
                        <th>Ед.</th>
                        <th  class="text-right  " >Кол.   </th>
                        <th  class="text-right  " >Мин. кол   </th>
                        <th  class="text-right  " >На сумму  </th>
                        <th    > </th>
                    </tr>
                    <tr zippy="itemlist">

                        <td zippy="itemname"></td>

                        <td zippy="code" class=" text-nowrap"></td>
                        <td zippy="cat_name"></td>
                        <td zippy="msr"></td>

                        <td zippy="qty" class="text-right  "></td>
                        <td zippy="minqty" class="text-right  "></td>
                        <td zippy="amount" class="text-right  "></td>
                        <td  >  <a zippy="show" title="Детальная информация"><i class="fa fa-eye"></i></a>   </td>
                    </tr>
                </table>

В файле /app/pages/register/stocklist.php

    public function itemlistOnRow($row) {
        $item = $row->getDataItem();

        $row->add(new Label('itemname', $item->itemname));
        $row->add(new Label('code', $item->item_code));
        $row->add(new Label('msr', $item->msr));

        $row->add(new Label('qty', H::fqty(Item::getQuantity($item->item_id,  $this->filter->searchstore->getValue()))));
    $row->add(new Label('minqty', H::fqty(Item::getQuantity($item->item_id,  $this->filter->searchstore->getValue()))));
        $row->add(new Label('amount', round(Item::getAmount($item->item_id,  $this->filter->searchstore->getValue()))));
    
        $row->add(new Label('cat_name', $item->cat_name));
        $row->add(new ClickLink('show'))->onClick($this, 'showOnClick');
    }

добавил строку

$row->add(new Label('minqty', H::fqty(Item::getQuantity($item->item_id,  $this->filter->searchstore->getValue()))));

но в панели Товары на складе показывается количество товара как и в qty а не минимальное.
Подскажите как сделать чтоб показывал минимальное количество

При этом функция в

 public function oncsv($sender) {
        $list = $this->itempanel->itemlist->getDataSource()->getItems(-1, -1, 'itemname');
        $csv = "";

        foreach ($list as $st) {

            $csv .= $st->itemname . '|';
            $csv .= $st->item_code . '|';

            $csv .= $st->msr . '|';
            $csv .= $st->cat_name . '|';
            $csv .= H::fqty($st->qty) . '|';
        $csv .= H::fqty($st->minqty) . '|';

            $csv .= "\n";
        }
        $csv = mb_convert_encoding($csv, "windows-1251", "utf-8");


        header("Content-type: text/csv");
        header("Content-Disposition: attachment;Filename=stockslist.csv");
        header("Content-Transfer-Encoding: binary");

        echo $csv;
        flush();
        die;
    }

}

Работает

2

Re: Добавление функций складу

ну  там  вы  там  выводите  количество  вместо минимального оно  и  показывает

$row->add(new Label('minqty',  $item->minqty));

3

Re: Добавление функций складу

support пишет:

ну  там  вы  там  выводите  количество  вместо минимального оно  и  показывает

$row->add(new Label('minqty',  $item->minqty));

Да все работает, Спасибо!
Подскажите а как от нолей избавится 2.000

4

Re: Добавление функций складу

Так же подскажите, как увеличить пагинацию

$this->itempanel->itemlist->setPageSize(100);
$this->itempanel->add(new \Zippy\Html\DataList\Paginator('pag', $this->itempanel->itemlist));

setPageSize(100) не срабатывает

5

Re: Добавление функций складу

Stasweb пишет:
support пишет:

ну  там  вы  там  выводите  количество  вместо минимального оно  и  показывает

$row->add(new Label('minqty',  $item->minqty));

Да все работает, Спасибо!
Подскажите а как от нолей избавится 2.000

$row->add(new Label('minqty',  H:fqty($item->minqty)));

6

Re: Добавление функций складу

Stasweb пишет:

Так же подскажите, как увеличить пагинацию

$this->itempanel->itemlist->setPageSize(100);
$this->itempanel->add(new \Zippy\Html\DataList\Paginator('pag', $this->itempanel->itemlist));

setPageSize(100) не срабатывает

что значит не  срабатывает? а  сколько  выводит? может  у вас  меньше  1000 записей?
попробуйте  например  5  поставить и посмотрите  сраьботает или  нет

7

Re: Добавление функций складу

support пишет:
Stasweb пишет:

Так же подскажите, как увеличить пагинацию

$this->itempanel->itemlist->setPageSize(100);
$this->itempanel->add(new \Zippy\Html\DataList\Paginator('pag', $this->itempanel->itemlist));

setPageSize(100) не срабатывает

что значит не  срабатывает? а  сколько  выводит? может  у вас  меньше  1000 записей?
попробуйте  например  5  поставить и посмотрите  сраьботает или  нет

Все срабатывает, кэш был, спасибо.

8

Re: Добавление функций складу

Хочу перенести одну функцию с новой версии на старую, мне необходима функция списания сканером штрих кодов, в новой версии она реализована и работает отлично а вот в станрой ее нет. Я заменил у себя файлы с новой версии 
/templates/pages/doc/goodsissue.html
/app/pages/doc/goodsissue.php
после этого стало доступно поле для сканера, при сканировании товара выдал ошибку

Call to undefined method App\Helper::fa()
230
/app/pages/doc/goodsissue.php

строка 230 у меня

$row->add(new Label('price', H::fa($item->price)));

как я понял по ошибке что моя версия не может вызвать метод Helper::fa() подскажите пожалуйста, как исправить ошибку, есть ли вообще возможность подключить эту функцию к старой версии
https://s8.hostingkartinok.com/uploads/images/2019/12/3bb15c7c58042f9fdad97edaee77a723.jpg

9

Re: Добавление функций складу

Ошибку решил, добавил в файл /app/helper.php

    /**
    * форматирование  сумм    с копейками
    * 
    * @param mixed $am
    * @return mixed
    */
    public static function fa($am) {
        if (strlen($am) == 0)     return '';
        
        $common = System::getOptions("common");
        if ($common['amdigits'] ==1) {
            return number_format($am, 2  , '.', '');
        }
        if ($common['amdigits'] == 5) {
            $am = round($am*20)/20;
            return number_format($am, 2  , '.', '');
        }
    
        return round($am);
      
    }

Теперь при сканировании товар добавляет но пишет что товара нет на складе хотя при просмотре склада он есть, подскажите где проходит проверка товара на складе.
Спасибо!

10

Re: Добавление функций складу

Проверяется в  App]\ntity\Item   метод  getQuantity

Не  думаю  что  это  хорошая  идея  брать  документ  с  новой  версии

11

Re: Добавление функций складу

support пишет:

Проверяется в  App]\ntity\Item   метод  getQuantity

Не  думаю  что  это  хорошая  идея  брать  документ  с  новой  версии

Могут быть проблемы? Просто у меня много что переделано уже в этой версии.
В новой версии у меня почему-то в списании на производство не видит товары, подскажите с чем это связанно (Вводишь название товара в ТМЦ но он не выпадает хотя товар есть), базу подключил от старой версии, может-ли не работать из за того что база от старой версии.

12

Re: Добавление функций складу

ну  в  новой  переделаны   платежи и для   поддержки  сканера  сделан  автоматический  подбор  по  партиям
ну  и учет  копеек потому  там  у  вас  и не  бвыло  форматирования  сумм  вывода

а  шо  там такого  вы  попеределывали?  сомневаюсь  что  что то  критичное