View previous topic :: View next topic |
Author |
Message |
kvb
Joined: 10 Jun 2002 Posts: 18 Location: Ковалько В.Б.
|
Posted: 07 May 2004 08:43 Post subject: Реестр счетов-фактур : SH_FACT->nnoper |
|
|
Ситуация :
В месяц выписывается порядка 2000 накладных на отгрузку
Учетная политика по оплате
Внешний модуль :
а) на основании накладных на отпуск в пакетном режиме
генерирует счета-фактуры в реестре продаж
б) анализирует оплату и генерирует в пакетном режиме записи в
книге продаж
в) генерирует в пакетном режиме авансовые счета-фактуры,
записи в книге покупок по авансовым счетам-фактурам и
сторнирующие записи в книге покупок
Проблема:
При добавлении в реестр новой счет-фактуры стандартными способами БЭСТ-4 использует внутренний счетчик порядковых номеров. Находиться : /ini/in_cash.dbf
После формирования счет-фактуры (пример)
/ini/in_cash.dbf
Поля Name Param1
Значение OPERSHFACT Aa@
/real/sh_fact.dbf
Поле Nnoper
Значение 34
Не подскажет ли кто секретные формулы преобразования
Aa@ в 34 и наоборот
P.S: Если не взирая ни на что не трогать внутренний счетчик, а при добавлении записей внешними средствами инкрементировать Sh_fact->nnoper - возникают коллизии :
nnoper увеличен а внутренний счетчик нет -> при добавлении стандартно в БЭСТ-4 новой счет-фактуры в нее пытаются попасть строки из счет-фактуры, сформированной внешними средствами.
Правда индексация вроде бы решает данную проблему - но это долго и не есть хорошо.
Заранее благодарен kvb@knp.kem.ru :roll |
|
Back to top |
|
|
Behemoth
Joined: 15 Mar 2002 Posts: 155 Location: Новиков Алексей Юрьевич Occupation: ПБОЮЛ Interests: Пермь
|
Posted: 07 May 2004 16:20 Post subject: |
|
|
Добрый день.
В свете тезиса "БЭСТ-4 - программа конструктор".
Функция IncStep() с параметром "OPERSHFACT" возвращает следующий номер NNOPER и обновляет поле в ini_cash. _________________ С уважением, Новиков Алексей. |
|
Back to top |
|
|
kvb
Joined: 10 Jun 2002 Posts: 18 Location: Ковалько В.Б.
|
Posted: 11 May 2004 07:33 Post subject: |
|
|
Спасибо !
Эта функция, безусловно, полезна !
Но в данной ситуации, модули, выполняющие работы с реестрами счетов-фактур и книгой продаж являются внешними exe-файлами - так удобнее.
Поэтому проблема остается открытой - необходимо знать сам алгоритм преобразования !!! Т.е. формулу ... |
|
Back to top |
|
|
integral
Joined: 19 Jul 2002 Posts: 378
Occupation: ОАО "Интеграл" инженер-программист Interests: Нефтекамск
|
Posted: 11 May 2004 09:19 Post subject: |
|
|
Можно попробовать использовать во внешней программе свой счетчик, начать с 9999999 и уменьшать его 9999998,9999997 и т.д.
Таким образом счетчик БЭСТа и ваш нескоро пересекутся. |
|
Back to top |
|
|
Яков
Joined: 04 Mar 2002 Posts: 618 Location: Яков Occupation: Экстремальная терапия бизнеса Interests: Владивосток
|
Posted: 11 May 2004 09:56 Post subject: Re: Реестр счетов-фактур : SH_FACT->nnoper |
|
|
kvb wrote: | Внешний модуль :
а) на основании накладных на отпуск в пакетном режиме
генерирует счета-фактуры в реестре продаж
б) анализирует оплату и генерирует в пакетном режиме записи в
книге продаж
в) генерирует в пакетном режиме авансовые счета-фактуры,
записи в книге покупок по авансовым счетам-фактурам и
сторнирующие записи в книге покупок
|
Продаёте, меняете или как?
Очень было бы интересно взглянуть на исходники. |
|
Back to top |
|
|
kvb
Joined: 10 Jun 2002 Posts: 18 Location: Ковалько В.Б.
|
Posted: 12 May 2004 05:10 Post subject: |
|
|
integral wrote: | Можно попробовать использовать во внешней программе свой счетчик, начать с 9999999 и уменьшать его 9999998,9999997 и т.д.
Таким образом счетчик БЭСТа и ваш нескоро пересекутся. |
Хорошая идея ! Но в этом случае после индексация внутренний счетчик принимает наибольшее значение из sh_fact->nnoper.
А вот когда свой счетчик уменьшаем с 0 до -9999999 , проблем абсолютно никаких нет - проверил - все корректно.
Спасибо !
Считаю тему закрытой ! |
|
Back to top |
|
|
Яков
Joined: 04 Mar 2002 Posts: 618 Location: Яков Occupation: Экстремальная терапия бизнеса Interests: Владивосток
|
Posted: 12 May 2004 10:00 Post subject: |
|
|
Можно счетчик БЭСТа поставить в 900000 пусть дальше считает.
И иметь незаполненный буфер, с текущего значения до 900000, который и можно использовать. |
|
Back to top |
|
|
|