Финансы без пpоблем: Пеpеговоpный Пункт II (http://hdru.com/cgi-bin/pp2/YaBB.cgi)
>> Пpедложения по усовеpшенствованию, сообщения об ошибках >> Extra.e
(Message started by: Boris, Kiev. на 18.02.06 в 20:08:58)

Заголовок: Extra.e
Прислано пользователем Boris, Kiev. на 18.02.06 в 20:08:58
Было бы неплохо, если бы можно было задать лимит числовых значений экстрапараметров, которые будут сохранены в extra.e

Сегодня, если явно задан "0", то в extra.e экстрапараметр не пропишется, т.е. очистка реализована, но как правило обращать в "0" - это лишнее телодвижение в ф-к, а если бы дать возможность настройщику задавать циферь, то это было бы лучше, да и честно лопатить файлы-коэффициенты не хочется.

Прошу поддержать.

Заголовок: Re: Extra.e
Прислано пользователем Valery на 18.02.06 в 22:08:09
Мы, при переходе в новый год, уже много лет используем такую процедуру.
Предварительно:
1.Очищаем полученный acnt.a3p от не нужных в новом году  с/счетов.
1. Переименовываем полученный  extra.e  в extra.b
3.Пропускаем  этот extra.b через отчетную форму, в которой последовательно пропускаются (ч-з соответствующие нужные #счета)  все имена экстрапараметров. Здесь и задается числовое ограничение (например in -0.001..0.001). Все остальное отсекается как по числовым значенииям, так и по наименованиям уже отсутствующих с/счетов.
4.Полученный из этой формы  фаил переименовываем в extra.b.

Процедура занимает несколько минут.


Заголовок: Re: Extra.e
Прислано пользователем Boris, Kiev. на 19.02.06 в 09:13:41

on 02/18/06 в 22:08:09, Valery wrote:
Мы, при переходе в новый год, уже много лет используем такую процедуру.
Предварительно:
1.Очищаем полученный acnt.a3p от не нужных в новом году  с/счетов.
1. Переименовываем полученный  extra.e  в extra.b
3.Пропускаем  этот extra.b через отчетную форму, в которой последовательно пропускаются (ч-з соответствующие нужные #счета)  все имена экстрапараметров. Здесь и задается числовое ограничение (например in -0.001..0.001). Все остальное отсекается как по числовым значенииям, так и по наименованиям уже отсутствующих с/счетов.
4.Полученный из этой формы  фаил переименовываем в extra.b.

Процедура занимает несколько минут.



Спасибо за совет,
Какой объем Вашего extra.e?

А по существу предложенного, может быть Вы бы  и отказались от своей суперпроцедуры вовсе?


Заголовок: Re: Extra.e
Прислано пользователем Valery на 19.02.06 в 13:49:07

on 02/19/06 в 09:13:41, Boris, Kiev. wrote:
Какой объем Вашего extra.e?

Объем доходил до 30 мгб.  И примерно до 30 имен э/параметров.  Объем здесь наверно не так выжен, просто дольше идет процедура создания нового, отредактированного по заданным ограничениям extra.

on 02/19/06 в 09:13:41, Boris, Kiev. wrote:
А по существу предложенного, может быть Вы бы  и отказались от своей суперпроцедуры вовсе?

Эта процедура - своего рода ревизия прошлого года в части э/пар.  Да и информацию о наименованиях  надо же где-то держать. Вот она там и собирается и в течение года дозаносятся новые э/пар.  Кстати написана она еще на операторах однопользов. версии от 95 года.   Мы предполагали что все так и делают...
Конечно,  если будет что-то подобное от разработчика,  будем применять.  (А может просто что -то подобное нашему выложить в Руководстве пользовавтеля? Тогда и  вопросы в этой части наверно не возникнут )

Заголовок: 95год...
Прислано пользователем Boris, Kiev. на 19.02.06 в 18:00:36

on 02/19/06 в 13:49:07, Valery wrote:
....Кстати написана она еще на операторах однопользов. версии от 95 года.  


Порадуйте, подскажите ссылку на версию локала от 95 года, на которой Вы сделали форму по чтению extra.*, pls. и хоть одну процедуру аналогичную loadtxt(СЕРВЕР 3.20 от 27.03.01)


Еще пару слов:
Чем меньше объем помощи продукта, тем лучше для меня.
Если идти альпийскими тропами, то на каком-то шаге начнет тошнить.
Если можно малой кровью реализовать предложения, упрощающие процесс, то это надо делать, а не расширять руководство пользователя.

По поводу Ваших удалений и ревизий, всё нормально, но опять же об этом мог бы и сервер позаботиться системно. (Нет объекта, не может быть и его экстрапараметра.)

Заголовок: Re: Extra.e
Прислано пользователем Valery на 19.02.06 в 22:39:40
Радую...
Версия 4000 (опытная модефикация ultra от 29.1195)
Ниже  фрагмент обработки  числового э/параметра по 01сч.
*************************************
#01  
B1='D0101'    имя э/параметра
A1=[GET#,B1]
!A1IN-0.0001..0.0001  ПРОПУСТИМ МЕЛКИЕ ЗНАЧЕНИЯ
GOTO                                                       MD010101
!
C1=A1
C7=''
!C1<0    ПРЕОБРАЗОВАНИЕ - В +
C7='-'
C1=C1*(-1)
!
C2=[TR C1]     ВЫДЕЛЯЕМ ЦЕЛУЮ ЧАСТЬ
!C2<0  БЕРЕМ ТОЛЬКО ЦЕЛАЯ ЧАСТЬ =0
GOTO                                                       MD01010101
!
!C2>0  БЕРЕМ ТОЛЬКО ЦЕЛАЯ ЧАСТЬ =0
GOTO                                                       MD01010101
!
C4='-'
D1=[SN C1,15,13]    ЧИСЛО В СТРОКУ (15/13) ПРИ ЦЕЛОЙ ЧАСТИ =0
*ОПРЕДЕЛЯЕМ КОЛ. НУЛЕЙ ПОСЛЕ ТОЧКИ
C3='0001'
D2=10
C1=[CP D1,3,1]
C1=[VL C1]
!C1=0
C3='0002'
D2=100
!
C1=[CP D1,3,2]
C1=[VL C1]
!C1=0
C3='0003'
D2=1000
!
C1=[CP D1,3,3]
C1=[VL C1]
!C1=0
C3='0004'
D2=10000
!
*     ^^^^^^^^^^^C3
*     ^^^^^^^^^^^D2
D4=[CP D1,3,13]  ВЫРЕЗАЕМ ДРОБНУЮ ЧАСТЬ С 13 СИМВОЛАМИ
D3=[VL D4]*D2 ИЗ ДРОБНОЙ ЧАСТИ СТРОКИ ПОЛУЧАЕМ ЦЕЛОЕ ЧИСЛО И УМНОЖАЕМ ЕГО
*НА 10...... ДО ДОВЕДЕНИЯ ВСЕГО ЧИСЛА ДО 14 ЗНАЧАЩИХ ЦИФР
D3=[SN D3,14,0]  И ПЕРЕВОДИМ ЕГО В СТРОКУ С 14 СИМВОЛАМИ
D3=[CP D3,1,1]+'.'+[CP D3,2,13] И ВСТАВЛЯЕМ ТОЧКУ МЕЖДУ 1-М И 2-М СИМВОЛАМИ
GOTO                                                       MD01010102
*............... *обработка чисел > 1
:                                                          MD01010101
!
C4='+'
D1=[SN C1,15,4]     ЧИСЛО В СТРОКУ (10/4) ПРИ ЦЕЛОЙ ЧАСТИ >0
D5=[CP D1,1,10]       ВЫДЕЛЯЕМ СТРОКУ С ЦЕЛОЙ ЧАСТЬЮ = 10 СИМВОЛАМ
D6=[CP D1,12,4]       ВЫДЕЛЯЕМ СТРОКУ С ДРОБНОЙ ЧАСТЬЮ = 4 СИМВОЛАМ
D7=D5+D6      СКЛАДЫВАЕМ ЦЕЛЫЕ И ДРОБНЫЕ СТРОКИ 10+4=14
!
!C1 IN 1..9.99999   ОПРЕДЕЛЯЕМ КОЛ.НУЛЕЙ  В НАЧАЛЕ ЦЕЛОЙ ЧАСТИ СТРОКИ
C3='0000'
D2=10000000000
!C1IN 10..99.99999
C3='0001'
D2=1000000000
!C1IN 100..999.99999
C3='0002'
D2=100000000
!C1IN 1000..9999.99999
C3='0003'
D2=10000000
!C1IN 10000..99999.99999
C3='0004'
D2=1000000
!C1IN 100000..999999.99999
C3='0005'
D2=100000
!C1IN 1000000..9999999.99999
C3='0006'
D2=10000
!C1IN 10000000..99999999.99999
C3='0007'
D2=1000
!C1IN 100000000..999999999.99999
C3='0008'
D2=100
!C1IN 1000000000..9999999999.99999
C3='0009'
D2=10
!
D3=[VL D7]*D2   ИЗ ПОЛУЧЕННОЙ СТРОКИ ПОЛУЧАЕМ ЦЕЛОЕ ЧИСЛО И УМНОЖАЕМ ЕГО
*НА 10...... ДО ДОВЕДЕНИЯ ВСЕГО ЧИСЛА ДО 15 ЗНАЧАЩИХ ЦИФР
D3=[SN D3,15,0]  И ПЕРЕВОДИМ ЕГО В СТРОКУ С 15 СИМВОЛАМИ
D3=[CP D3,1,1]+'.'+[CP D3,2,13] И ВСТАВЛЯЕМ ТОЧКУ МЕЖДУ 1-М И 2-М СИМВОЛАМИ
*...............
:                                                          MD01010102
C5='E'
C8='N='
C9=[N1#]
C0=B1
D0=C0+''+C9+''+C8+C7+D3+C5+C4+C3
D8=[PS 'E',D0]+5
D0=[CP D0,1,D8]
*ПРЕОРАЗОВАНИЕ СТРОКИ В ОГРАНИЧЕННУЮ ДЛИНУ
!D8=10
^^^^^^^^D0
!D8=11
^^^^^^^^^D0
!D8=12
^^^^^^^^^^D0
!D8=13
^^^^^^^^^^^D0
!D8=14
^^^^^^^^^^^^D0
!D8=15
^^^^^^^^^^^^^D0
!D8=16
^^^^^^^^^^^^^^D0
!D8=17
^^^^^^^^^^^^^^^D0
!D8=18
^^^^^^^^^^^^^^^^D0
!D8=19
^^^^^^^^^^^^^^^^^D0
!D8=20
^^^^^^^^^^^^^^^^^^D0
!D8=21
^^^^^^^^^^^^^^^^^^^D0
!D8=22
^^^^^^^^^^^^^^^^^^^^D0
!D8=23
^^^^^^^^^^^^^^^^^^^^^D0
!D8=24
^^^^^^^^^^^^^^^^^^^^^^D0
!D8=25
^^^^^^^^^^^^^^^^^^^^^^^D0
!D8=26
^^^^^^^^^^^^^^^^^^^^^^^^D0
!D8=27
^^^^^^^^^^^^^^^^^^^^^^^^^D0
!D8=28
^^^^^^^^^^^^^^^^^^^^^^^^^^D0
!D8=29
^^^^^^^^^^^^^^^^^^^^^^^^^^^D0
!D8=30
^^^^^^^^^^^^^^^^^^^^^^^^^^^^D0
!D8=31
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^D0
!D8=32
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^D0
!D8=33
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^D0
!D8=34
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^D0
!D8=35
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^D0
!D8=36
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^D0
!D8=37
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^D0
!D8=38
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^D0
!D8=39
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^D0
!D8=40
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^D0
!D8=41
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^D0
!D8=42
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^D0
!D8=43
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^D0
!D8=44
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^D0
!D8=45
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^D0
!D8=46
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^D0
!D8=47
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^D0
!D8=48
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^D0
!D8=49
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^D0
!D8=50
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^D0
!
* вышестоящая строка может добавляется в фаил
:                                            MD010101
#
*****************************
Высылаю как есть (подсказки не редактировались, но убирать не стал)
Конечно,  с учетом современных операторов в ФБП,  выглядит примитивно (это же 95 год), но работает безотказно.  

Заголовок: Re: 95год...
Прислано пользователем Valery на 19.02.06 в 23:25:51

on 02/19/06 в 18:00:36, Boris, Kiev. wrote:
По поводу Ваших удалений и ревизий, всё нормально, но опять же об этом мог бы и сервер позаботиться системно. (Нет объекта, не может быть и его экстрапараметра.)

Конечно мог бы. Но это уже один из вариантов получения результата.  Главное здесь, что процедура перехода в новый год (в части очистки extra) НИ ГДЕ НЕ УПОМИНАЕТСЯ в руководстве пользователя. Можно было бы как-то расширить  раздел "токости и трюки", выделив его в отдельный блок помощи. А помещаемые там примеры  должны быть более информативны в части пояснений ( с расчетом на среднестатического пользователя).    Ну а в принципе я только "за", если появиться что-то понятное и простое для использования и можно будет задавать пределы сохраняемых числовых значений в э/пар.  Но, думается это не так просто для разработчика...  

Заголовок: Re: Extra.e
Прислано пользователем Aleksey на 20.02.06 в 09:44:51
У меня такая форма очистки extra.b в новом году (перед этим, конечно, удаляются ненужные счета из acnt.a3p):

* Загрузка и очистка extra.b
S='C:\FBP\2005\EXTRA.B'
loadtxt S
A0=[Ged 'lt.N']
A2=[Intsn A0]
A1=[Ged 'lt.overflow']
If A1=0
  Загрузка прошла успешно. Загружено ^^^^A2 записей.
  Call Proceed
*Else
*   Ошибка: загружаемый файл содержал недопустимые строки!
EndIf
***
STOP
***
:Proceed
For II=1 To A0
    S1=[Ged 'lt.'+[Intsn II]
    P0=[Ps ' ',S1]+1
    AC=[Cp S1,P0,[Length S1]-P0]
    P1=[Ps ' ',AC]-1
    AC=[Cp AC,1,P1]
    If [Ex *AC]=1
     Printstr S1+[Ch 10]+[Ch 13]
    EndIf
EndFor
Return

Заголовок: проще, быстрее и  системнее
Прислано пользователем Boris, Kiev. на 20.02.06 в 09:57:05

on 02/19/06 в 22:39:40, Valery wrote:
Радую...
Версия 4000 (опытная модефикация ultra от 29.1195)
Ниже  фрагмент обработки  числового э/параметра по 01сч.
*************************************
#01  
B1='D0101'    имя э/параметра
A1=[GET#,B1]
...


Одним словом - геморрой.(Извините - конечно - 95год)
К тому же, ведь Вы в самом начале говорили о форме, в свою очередь просил же порадовать с чтением файла, а Вы выписали эту копию 95 года с индивидуальным обходом каждого экстрапараметра и сбросом в отчет и ..., чтобы окончательно запутать того среднестатистического пользователя?
Короче порадовали наоборот.:'(

Посмею покритиковать Ваш "подход" 95-года, т.к. наверное, при условии, что в локале  95-года по F2 записывались все экстрапараметры <>0(извините, искать соответствующую версию не буду, может Аркадий подтвердит, что этот фрагмент у него не изменялся), то рекомендовал бы в 95 году обратить Ваше детище в ф-к с принудительным обращением неугодных в откровенный "0", тогда никакого геморроя с формированием extra не будет.  
В свою очередь мой меньший геморрой моего решения в необходимости модификации этого ф-к, т.к. по "ходу пьесы" приходится рожать новые индексы(опять же параметрические в том числе) экстрапарметров и на обход которых может уходить всё больше времени.
А вот при решении этой задачи сервером системно(см.первое сообщение) освободит нас напрочь от этих недугов.

Вы говорите сложно для сервера, пожалуйста покажите в чем-же сложность такой обработки, которую мы с Вами худо ли бедно устраиваем, просто серверу - это сделать - проще, быстрее и  системнее.
По моим соображениям - это может вылиться в два if(a)
Один при сбросе extra.e по директиве Q - на предмет лимита числовых значений, второй при чтении extra.b на предмет соответствия объектам плана счетов.

Правда по второму условию можно было бы с  возможной трансформацией extra.b и автоматической перезагрузкой.

Повторюсь, всё это можно сегодня и без участия сервера, но предлагаю, т.к. эти вещи отношу к системе.

Заголовок: Re: Extra.e
Прислано пользователем IBZ на 20.02.06 в 10:07:29
Тут я целиком на стороне Бориса. Я даже считаю, что должен существовать целый ряд функций работы с  э/параметрами, равно как и дисковыми параметрами [ged]. Например цикл по всем параметрам. Если я не ошибаюсь такие планы в HD были, но почему-то не воплощены.

С уважением, Игорь.  

Заголовок: для порядка побухтеть надо.
Прислано пользователем Boris, Kiev. на 20.02.06 в 10:42:07

on 02/20/06 в 09:44:51, Aleksey wrote:
У меня такая форма очистки extra.b в новом году (перед этим, конечно, удаляются ненужные счета из acnt.a3p):

* Загрузка и очистка extra.b
S='C:\FBP\2005\EXTRA.B'
...


Неужели это из реального набора форм?
Неужели каждый год Вы ходите сюда и забиваете эту строку?
Наверное, здесь Вы хотели написать такой комментарий:
это для большей наглядности, но не для примера.  пишите у себя так: S=[dir0]+'EXTRA.B'

Или на худой конец:
S='C:\FBP\_CY_\EXTRA.B'    (_CY_ - current year)

Это к тому, что Ваш фрагмент, может быть бездумно скопирван некоторыми типами молодых людей, с которыми мне приходилось сталкиваться, а потом к Вам и нам будет претензия, возможно утрирую, но так для порядка побухтеть надо.
P.S
Да, и на диске С: данные ложить не советую.

Заголовок: Re: Extra.e
Прислано пользователем Konstantin на 20.02.06 в 11:22:43
Немного не по теме, но все же. Не всегда бывает удобна индексация данных в acnt.a3p, тем более, если в конце года его настолько нужно чистить. К примеру, - оправданно, наверное, держать в acnt.a3p индексы поставщиков, или индексы номенклатуры товара, -  срок их жизни явно больше года. В то же время, для остальных индексов можно применить такой подход. В ветви вопросе вводим уникальный индекс. Форма,  предлагающая его, имитирует работу сервера по штампованию операций. При старте просматривает все индексы находит старший и для подстраховки заносит его в extrd.dat. При разлистывании, опять же проверяет по списку индексов и подстрахуется extrd.dat. Откатов нет. Каждый раз берется больший индекс. В формате, к примеру SSSSNNNN (S-буква, N – число). Такой Индекс легко преобразовать в число, проверить старшинство, и потом обратно получить из числа (Об этом упоминал Александр из Киева, когда говорил, что штамп загнал в параметр счета). Штампы не использую, поскольку, - вдруг перештамповать придется, да и удобнее по каждому списку – свою индексацию и разрядность. Все. При разлистывании индексов, вместо циклов по субсчетам, они сканируются, формируется массив и проводится цикл по массиву. Конечно, что бы их почистить в конце года надо тоже написать процедуру в Ф-К, но это несложно. Преимущество - План счетов не трогается в этом случае ни на входе ни на выходе.

* Подпрограмма уникального индекса для отгрузок
**********************************************************************************************
:ENCODE (NM) на входе:nm – число от 0 до 6759999
LOCAL sn,lp,d1,d2,l1
if nm>6759999 sn='<6759999!!!';Return (SN);endif на выходе:sn-оно же в формате 'AA-0000'
lp=[tr nm/10000]
d1=[tr lp/26];d2=lp%26    d2=lp-d1*26
d1=[ch 65+d1];d2=[ch 65+d2]
sn=[strip'0000000'+[intsn nm];ll=[length sn];sn=[cp sn,ll-3,4];sn=d1+d2+'-'+sn
Return (SN)
**********************************************************************************************

: DECODE (SN) на вх.:sn – число в формате 'AA-0000';на выходе:nm – оно же в десятичном формате
LOCAL nm,d1,d2
if [type[vl[cp sn,4,1]] nm='error';return (nm);endif
d1=[hc sn,1]-65;d2=[hc sn,2]-65;nm=d1*26+d2;nm=nm*10000+[vl[cp sn,4,4]
Return (NM)      


Заголовок: Re: проще, быстрее и  системнее
Прислано пользователем Alexander, Kiev на 20.02.06 в 12:01:50

on 02/20/06 в 09:57:05, Boris, Kiev. wrote:
По моим соображениям - это может вылиться в два if(a)
Один при сбросе extra.e по директиве Q - на предмет лимита числовых значений, второй при чтении extra.b на предмет соответствия объектам плана счетов.

Ну да, два "if" позволят организовать диалог с оператором на предмет задания диапозона игнорируемых значений, а кому то надо определенные строки отфильтровать. По поводу эстров от ненужных счетов чет совсем не въехал. Ненужные счета появляются уже после перехода на новый год, так как в старом по ним еще движняк присутствует. А в новом их и удаляют, с последующей коррекцией extra.b. но никак не наоборот.
Если задача решается своими силами какие проблемы? Нет предела совершенству, так что, теперь латки клеить на каждую прихоть пользователя. Это я злой, потому как и мои пользователи мне мозги постоянно полощат своими новациями. И приходиться держать на пульсе столько вариантов сколько и пользователей. А принцип простой: деньги заплочены по сотоянию системы на момент ее приобретения. Ошибки устраняются бесплатно, все остальное на усмотрения производителя.

Заголовок: Re: Extra.e
Прислано пользователем Alexander, Kiev на 20.02.06 в 13:27:24

on 02/20/06 в 11:22:43, Konstantin wrote:
Немного не по теме, но все же. Не всегда бывает удобна индексация данных в acnt.a3p, тем более, если в конце года его настолько нужно чистить. К примеру, - оправданно, наверное, держать в acnt.a3p индексы поставщиков, или индексы номенклатуры товара, -  срок их жизни явно больше года. В то же время, для остальных индексов можно применить такой подход.....
Напротив, это наверное единственное, что интересно видеть и обсуждать. Имеются ввиду подходы и методы решения различных задач. Вы Константин совершенно верно заметили, что вести обработку связанных данных за счет субсчетов - кощунство. Каждый субсчет в неэкономном режиме это 2.5 Kb. памяти. Коль Вы упомянули мою ссылку по поводу запихивания штампа на цифровой параметр, хочу предостеречь. Это было сделано исключительно для конкретной ситуации, мне нужно была знать какая операция сидит сверху субсчета. Можно было бы использовать просто экстрапараметр, но я их принципиально для таких целей не использую. Поэтому следует иметь ввиду, там удалось втиснуться только за счет ограничения диапозона используемых символов A-Z. Цифровые символы в этот диапозон не входили, да и смысла нет, прямое преобразование компактней, если можно вообще говорить о компактости хранении чисел в их цифровых символах. :)

Заголовок: Re: для порядка побухтеть надо.
Прислано пользователем Aleksey на 21.02.06 в 11:04:31

on 02/20/06 в 10:42:07, Boris, Kiev. wrote:
Неужели это из реального набора форм?
Неужели каждый год Вы ходите сюда и забиваете эту строку?
... Ваш фрагмент, может быть бездумно скопирван некоторыми типами молодых людей, с которыми мне приходилось сталкиваться, а потом к Вам и нам будет претензия, возможно утрирую, но так для порядка побухтеть надо.
P.S
Да, и на диске С: данные ложить не советую.

В реальном наборе используется именно [dir 0], это отладочная версия с клиента, но это скорее вопрос стиля. Раз в год мне не трудно изменить одну цифру в одной форме. :)
В будущем буду добавлять текст "Текст программы должен использоваться исключительно в информационных целях. Автор не несет никакой ответственности в случае использования данного материала в иных целях. Автор не несет никакой ответственности за специфический, прямой или косвенный ущерб, вызванный данной публикацией или явившийся ее следствием..."
А почему плохо хранить данные на диске С?

Заголовок: Re: Extra.e
Прислано пользователем Aleksey на 21.02.06 в 11:14:20

on 02/20/06 в 11:22:43, Konstantin wrote:
Не всегда бывает удобна индексация данных в acnt.a3p, тем более, если в конце года его настолько нужно чистить. К примеру, - оправданно, наверное, держать в acnt.a3p индексы поставщиков, или индексы номенклатуры товара, -  срок их жизни явно больше года.

Но использование плана счетов дает преимущество использования 9 встроенных параметров, которые не занимают дополнительной памяти и удаляются вместе с удалением счета. С учетом того, что небольшая форма с директивой Kill может сама пройтись по acnt.a3p и проводится это раз в год, не вижу неудобства.

Заголовок: Re: Extra.e
Прислано пользователем Konstantin на 21.02.06 в 13:56:45

on 02/21/06 в 11:14:20, Aleksey wrote:
Но использование плана счетов дает преимущество использования 9 встроенных параметров, которые не занимают дополнительной памяти и удаляются вместе с удалением счета. С учетом того, что небольшая форма с директивой Kill может сама пройтись по acnt.a3p и проводится это раз в год, не вижу неудобства.


Спорить ни в коем случае не буду, просто предложил один из возможных подходов. Действительно, параметры не занимают доп.памяти и еще упоминалось про быстродействие алгоритмов на параметрах. Но, честно говоря, я до параметров еще не дошел, - пока хватало быстродействия. Так что, как и где индексировать, - вопрос стиля. К примеру, мне пришлось видеть настройку у одного уважаемого человека, где была одна ветвь и на ней по одной операции в месяц, а вся иерархия индексов поддерживалась в extrd.dat. Вот такой вот экстрим. Очень быстро, кстати. А до параметров может и у меня дойдет ход.

Заголовок: Re: Extra.e
Прислано пользователем Alexander, Kiev на 21.02.06 в 19:13:10
Основное преимущество использование субсчетов состоит в автоматическом построении оборотно сальдовой таблицы. Параметры последних очень сильное подспорье в организации складского учета и не только конечно. Быстрее они потому как не реализуют см. первый абзац и в свою очередь ограничены в возможностях анализа.
Константин, своим последним сообщением Вы меня сильно заинтриговали. Одна ветка дерева это уже не штатный клиент, про целый год в одном *.f3p слышал и даже могу представить. Одна операция в месяце + "очень быстро" это не просто экстрим, а супервиртуозность. Имя в студию!!!
Хочу снять шляпу.    

Заголовок: Re: Extra.e
Прислано пользователем Konstantin на 21.02.06 в 19:24:15
Данную настройку, в свое время, я видел у Анатолия Антоновича Анимицы. Видел только внешне, принцип он мне рассказал и показал, а подробности, естественно, только у него.

Заголовок: Re: Extra.e
Прислано пользователем Alexander, Kiev на 21.02.06 в 21:40:54
ААА похоже поза межами досягнення.
Ну хоть принципом поделитесь.

Заголовок: Re: Extra.e
Прислано пользователем Aleksey на 22.02.06 в 10:27:50

on 02/21/06 в 13:56:45, Konstantin wrote:
Но, честно говоря, я до параметров еще не дошел, - пока хватало быстродействия.

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

Заголовок: Re: Extra.e
Прислано пользователем IBZ на 22.02.06 в 12:08:47

on 02/22/06 в 10:27:50, Aleksey wrote:
Неужели никто больше не использует параметров? Я вижу только один их недостаток: минимальный период для анализа месяц, но часто более детального анализа и не требуется.


Главный  недостаток - их количество. Например, для нормального (в нашем представлении) учета оплаты труда со всеми отнесениями, справками и отчетами мы использовали под сотню э/параметров  ;)  Причем этот список открыт.

С уважением, Игорь

Заголовок: Re: для порядка побухтеть надо.
Прислано пользователем Boris, Kiev. на 22.02.06 в 15:42:35

on 02/21/06 в 11:04:31, Aleksey wrote:
А почему плохо хранить данные на диске С?


Т.к. корневой диск подвержен всяким негораздам, связанным с вирусами и сбоями установленных программ, как правило на диск С:. Это мнение с бородой, где-то даже читал, а совет этот еще с 1987-9 годов, когда винчестеры были  по 20-40Мб. Современные системные администраторы не возражали по этому замечанию.



Заголовок: Re: Extra.e
Прислано пользователем Valery на 22.02.06 в 15:50:42

on 02/22/06 в 12:08:47, IBZ wrote:
Главный  недостаток - их количество.
С уважением, Игорь

И главное их преимущество - не занимают памяти и быстро обрабатываются в ОФ и ФК. С учетом  этого их и используют. (Было время когда только они и были!)
Как легко по ним всякие выборки по с/с делать и т.п.  У нас, например, в основном на них организован учет НДС по 60 и 62сч.  Если тот или иной вид учета обеспечивается возможностью параметров, то конечно им предпочтение.  Практика показывает что учет на них легко осваивается обычными бухгалтерами...



Powered by YaBB 1 Gold - SP 1.3.2!
Forum software copyright й 2000-2004 Yet another Bulletin Board