16

Re: Проблема с учетом

С удалением тоже решил вопрос, теперь другой вопрос, при создании расходной накладной, если нажать кнопку сохранить оно товар не списывает, а можно ли сделать так что бы он его резервировал, что бы на складе к примеру отнималось это количество, но если документ удалить, что бы товар опять вернулся на склад.

17

Re: Проблема с учетом

товар  возвращается  на  склад  когда  документ просто  отменяется.    резервирование  проще  всего  делать  просто  вводя  документы  будущим  числом.  Там даже  виджжет  есть напомтинающий про такие  товары

18

Re: Проблема с учетом

support пишет:

товар  возвращается  на  склад  когда  документ просто  отменяется.    резервирование  проще  всего  делать  просто  вводя  документы  будущим  числом.  Там даже  виджжет  есть напомтинающий про такие  товары

Понял, только я создал менеджера к примеру, и он не может отменить расходную накладную которая проведена, но не закрыта, где нужно галочку поставить что бы у менеджера появился доступ к отмене?

19

Re: Проблема с учетом

если  в  профиле пользователя  не  стоит ограничение  то  в  общем журнале  может  отменить

а  что значит не  может  отменить?  нет  кнопки  или  что то  пишет?
в некоторых случаях отменять  может только  админ  в  некоторых нельзя  отменить  если  например  по накладной  уже  сделана  доставка.

надо  конкретно  смотреть

20

Re: Проблема с учетом

support пишет:

если  в  профиле пользователя  не  стоит ограничение  то  в  общем журнале  может  отменить

а  что значит не  может  отменить?  нет  кнопки  или  что то  пишет?
в некоторых случаях отменять  может только  админ  в  некоторых нельзя  отменить  если  например  по накладной  уже  сделана  доставка.

надо  конкретно  смотреть

Там просто менеджеру ограничили права ему дали доступ на редактирование и просмотр расходных накладных, но отменить расходную накладную можно только в общем журнале насколько я понял, я добавил права на просмотр общего журнала и теперь они могут отменять расходные накладные.

21

Re: Проблема с учетом

ну  отмена  документа  а  тем более  удаление  это редкая  операция
по  факуту  документ  фиксирует хозяйственную операцию - нельзя  просто  отменить  как  будто не  бвло  продажи или  закупки

22

Re: Проблема с учетом

support пишет:

ну  отмена  документа  а  тем более  удаление  это редкая  операция
по  факуту  документ  фиксирует хозяйственную операцию - нельзя  просто  отменить  как  будто не  бвло  продажи или  закупки

Это да, но я уже понял как стирать все под ноль по цепочке. И заодно я нашел функцию которая не работает, если зайти в категорию справочник, там выбрать контрагента и попробовать его удалить, то он не удаляется, в адресной строке формируется такая ссылка /index.php?q=p:5::customertable::customerlist::customerlist_2::delete_2 и открывается белая страница.

23

Re: Проблема с учетом

ну в  таких случаях следует смотреть лог

ошибку  я  уже  исправил

Зайдите  в файл app/entity/customer.php

и замените  функцию

    public function beforeDelete() {

           
        $sql = "  select count(*)  from  documents where   customer_id = {$this->customer_id}  ";
        $cnt = $conn->GetOne($sql);
        if ($cnt > 0)
            return "На  контрагента есть  ссылки  в  документах";
        return "";
    }

24

Re: Проблема с учетом

support пишет:

ну в  таких случаях следует смотреть лог

ошибку  я  уже  исправил

Зайдите  в файл app/entity/customer.php

и замените  функцию

    public function beforeDelete() {

           
        $sql = "  select count(*)  from  documents where   customer_id = {$this->customer_id}  ";
        $cnt = $conn->GetOne($sql);
        if ($cnt > 0)
            return "На  контрагента есть  ссылки  в  документах";
        return "";
    }

Ну с этим я разобрался, там эта функция 2 раза была написана, Еще нашел глюк с кнопкой выбора даты, к примеру если разделить кнопку выбора даты на верхнюю и нижнюю часть, то при нажатии на кнопку снизу, нижняя часть перекрывается окошком календаря и выходит как бы двойной клик с моментальным закрытием календаря, решил это просто подвинув окошко вниз что бы не перекрывало кнопку
.picker {
    margin-top: 20px;
}
Только вот не знаю что еще может затрагивать этот класс, или он относиться только к окошку календаря?
Еще есть один баг, если зайти в (журнал документов-продажи) нажать на глазик что бы просмотреть расходную накладную, там есть кнопка доставлено, если мы ее жмем и потом хотим так же перейти в просмотр любой другой расходной накладной, кнопки доставлено уже нет и появляется она только если заново перезайти в раздел, просто перезагрузка не помогает.

25

Re: Проблема с учетом

зайдите  в App\Pages\Register\ПДшые и в  updateStatusButtons()
добавте вначале
      $this->statuspan->statusform->bsend->setVisible(true);

26

Re: Проблема с учетом

support пишет:

зайдите  в App\Pages\Register\ПДшые и в  updateStatusButtons()
добавте вначале
      $this->statuspan->statusform->bsend->setVisible(true);

Не сработало.

27

Re: Проблема с учетом

public function updateStatusButtons() {
        $this->statuspan->statusform->bsend->setVisible(true);

        $this->statuspan->statusform->bclose->setVisible(true);

        $state = $this->_doc->state;


        //новый     
        if ($state == Document::STATE_CANCELED || $state == Document::STATE_EDITED || $state == Document::STATE_NEW) {
            $this->statuspan->statusform->bsend->setVisible(true);
            $this->statuspan->statusform->ship_number->setVisible(true);
            $this->statuspan->statusform->inprocact->setVisible(true);

            $this->statuspan->statusform->bclose->setVisible(false);
            $this->statuspan->statusform->bcloseact->setVisible(false);
        } else {
            $this->statuspan->statusform->bsend->setVisible(false);
            $this->statuspan->statusform->ship_number->setVisible(false);
            $this->statuspan->statusform->bclose->setVisible(true);
            $this->statuspan->statusform->bcloseact->setVisible(true);
            $this->statuspan->statusform->inprocact->setVisible(true);
        }
        //отправлен
        if ($state == Document::STATE_INSHIPMENT) {

            $this->statuspan->statusform->bclose->setVisible(true);
            $this->statuspan->statusform->bsend->setVisible(false);
        }
        // в работе
        if ($state == Document::STATE_INPROCESS) {

            $this->statuspan->statusform->bcloseact->setVisible(true);
            $this->statuspan->statusform->inprocact->setVisible(false);
        }

        //закрыт
        if ($state == Document::STATE_CLOSED) {
            $this->statuspan->statusform->bsend->setVisible(false);
            $this->statuspan->statusform->bclose->setVisible(false);
            $this->statuspan->statusform->setVisible(false);
        }



        //прячем лишнее
        if ($this->_doc->meta_name == 'GoodsIssue') {

            $this->statuspan->statusform->bcloseact->setVisible(false);
            $this->statuspan->statusform->inprocact->setVisible(false);
        }
        if ($this->_doc->meta_name == 'ServiceAct') {

            $this->statuspan->statusform->bsend->setVisible(false);
            $this->statuspan->statusform->bclose->setVisible(false);
            $this->statuspan->statusform->ship_number->setVisible(false);
        }
    }

28

Re: Проблема с учетом

ну  там еще  зависит  от  типа  документа  и его состояния

29

Re: Проблема с учетом

support пишет:

ну  там еще  зависит  от  типа  документа  и его состояния

Вот в том и дело, создаю 2 одинаковые расходные накладные, в одной нажимаю отправить оно отправилась и потом я нажимаю на вторую накладную и так же хочу ее отправить, а кнопки то и нет.

30

Re: Проблема с учетом

у меня  вроде  работает
    public function updateStatusButtons() {

        $this->statuspan->statusform->bclose->setVisible(true);
        $this->statuspan->statusform->bsend->setVisible(true);

        $state = $this->_doc->state;


        //новый     
        if ($state == Document::STATE_CANCELED || $state == Document::STATE_EDITED || $state == Document::STATE_NEW) {
            $this->statuspan->statusform->bsend->setVisible(true);
            $this->statuspan->statusform->ship_number->setVisible(true);
            $this->statuspan->statusform->inprocact->setVisible(true);

            $this->statuspan->statusform->bclose->setVisible(false);
            $this->statuspan->statusform->bcloseact->setVisible(false);
        } else {
            $this->statuspan->statusform->bsend->setVisible(false);
            $this->statuspan->statusform->ship_number->setVisible(false);
            $this->statuspan->statusform->bclose->setVisible(true);
            $this->statuspan->statusform->bcloseact->setVisible(true);
            $this->statuspan->statusform->inprocact->setVisible(true);
        }
        //отправлен
        if ($state == Document::STATE_INSHIPMENT) {

            $this->statuspan->statusform->bclose->setVisible(true);
            $this->statuspan->statusform->bsend->setVisible(false);
        }
        // в работе
        if ($state == Document::STATE_INPROCESS) {

            $this->statuspan->statusform->bcloseact->setVisible(true);
            $this->statuspan->statusform->inprocact->setVisible(false);
        }

        //закрыт
        if ($state == Document::STATE_CLOSED) {
            $this->statuspan->statusform->bsend->setVisible(false);
            $this->statuspan->statusform->bclose->setVisible(false);
            $this->statuspan->statusform->setVisible(false);
        }



        //прячем лишнее
        if ($this->_doc->meta_name == 'GoodsIssue') {

            $this->statuspan->statusform->bcloseact->setVisible(false);
            $this->statuspan->statusform->inprocact->setVisible(false);
        }

        if ($this->_doc->meta_name == 'Invoice') {

            $this->statuspan->statusform->bcloseact->setVisible(false);
            $this->statuspan->statusform->inprocact->setVisible(false);
            $this->statuspan->statusform->bsend->setVisible(false);
            $this->statuspan->statusform->bclose->setVisible(false);
        }
        if ($this->_doc->meta_name == 'ServiceAct') {

            $this->statuspan->statusform->bsend->setVisible(false);
            $this->statuspan->statusform->bclose->setVisible(false);
            $this->statuspan->statusform->ship_number->setVisible(false);
        }
       
    }