Re: Файлы по ОКОФ

2007-10-02 Пенетрантность Fanis

On 1 окт, 22:47, Sergey Mereutsa [EMAIL PROTECTED] wrote:
 А что такое этот самый ОКОФ?

Классификатор основных средств - здания, сооружения, транспортные
средства и пр.
Если в твоем предприятии есть комп, то он учтен под кодом 143020201
ЭВМ общего назначения - это как минимум - но можно уточнить и как
143020232 Машины перфорационные для подготовки и обработки
перфокарт :-
Суть проблемы - бухгалтер пишет компьютер - в кодах ОКОФ оного нет.
Посему необходимо иметь словарь слов (ЭВМ), которые есть в ОКОФ и
синонимов (компьютер), которые ссылаются на слова. Но лучше иметь
справочник типовых образцов основных средств, у которых однозначно
определены и коды ОКОф и группы амортизации.
Если бухгалтер неправильно определил код и группу амортизации, то он
нарушает налоговый учет - санкции могут быть весьма и весьма
неприятными. Я год назад писал в одном заводе финансовый анализ -
выявил в учете ОС кучу переплат и недоплат. И еще кое-чего (теневые
дела), из-за которых меня попросили удалиться надолго. Правда,
оплатили по полной :-
Короче говоря, эта тема требует от программера полного погружения как
в бухучет, так и абсолютного понимания кодирования.
Фанис




Re: Файлы по ОКОФ

2007-10-02 Пенетрантность Fanis

On 2 окт, 08:15, Alexander A. Venikov [EMAIL PROTECTED] wrote:
 вышла новая версия, если можно так выразиться, и как бухгалтерам и
 программистам выкручиваться - ХЕЗ. А кого из инициаторов это волновало? ИМХО
 никого.

Здесь можно решить построением stable_version - хранит все дела от
2002 года, и отображается для средств, введенных до 2007 года и
введение таблицы okof_groups_by697 - здесь уже добавляются группы
амортизации  для средств, введенных с1 января 2007 года. Это решено,
но вот только для Паруса-Бюджет.
С 1С не работал - но вполне реально и это
Фанис




Re: Файлы по ОКОФ

2007-10-02 Пенетрантность Fanis

On 2 окт, 08:15, Alexander A. Venikov [EMAIL PROTECTED] wrote:
 вышла новая версия, если можно так выразиться, и как бухгалтерам и
 программистам выкручиваться - ХЕЗ. А кого из инициаторов это волновало? ИМХО
 никого.

Здесь можно решить построением stable_version - хранит все дела от
2002 года, и отображается для средств, введенных до 2007 года и
введение таблицы okof_groups_by697 - здесь уже добавляются группы
амортизации  для средств, введенных с1 января 2007 года. Это решено,
но вот только для Паруса-Бюджет.
С 1С не работал - но вполне реально и это
Фанис




Re[2]: Файлы по ОКОФ

2007-10-02 Пенетрантность Sergey Mereutsa

Привет!

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

Ой... Понял, ухожу, ухожу :)




-- 
Best regards,
 Sergeymailto:[EMAIL PROTECTED]




Re: Файлы по ОКОФ

2007-10-02 Пенетрантность Alexander A. Venikov


Hello, Fanis!
You wrote  on Tue, 02 Oct 2007 00:40:02 -0700:

F С 1С не работал - но вполне реально и это
Твои сообщения идут по два раза.
--
Удач
Alexander A. Venikov, Tobolsk, Russia 





Файлы по ОКОФ

2007-10-01 Пенетрантность Fanis

Привет!
http://chishmy.ru/ - внизу страницы две ссылки на файлы проекта Turbo
и скрипта БД
Комментарий пока нет - я тут запарился на основной работе, писал по
вечерам до звонка от жены Сволочь! Опять допоздна и опять
нажрешься!! :-)))
Все ХП по поиску разбиты на куски - чтоб было понятно. А что непонятно
- допишу позднее.
В поиске используются словарь слов и синонимов, урезанных до корней.
В поиск можно передать as_string1024
ниже все это рубится на слова
CREATE OR ALTER PROCEDURE WORDS_COUNT(
AWORD VARCHAR(1024))
RETURNS (
SWORD VARCHAR(50))
AS
declare variable J INTEGER;
declare variable AJ INTEGER;
declare variable CLEN INTEGER;
begin
  AWORD=UPPER(AWORD);
  CLEN=CHAR_LENGTH(TRIM(AWORD));
  J=1;
  AJ=1;
  WHILE (J=CLEN) DO
  BEGIN
IF (SUBSTRING(AWORD FROM :J FOR 1) IN
('(',')','[',']','{','}','-',' ',',','.',';','/','\',':')) THEN
BEGIN
  SWORD=TRIM(SUBSTRING(AWORD FROM AJ FOR J-AJ));
  if (CHAR_LENGTH(SWORD)2) then
  SUSPEND;
  J=J+1;
  AJ=J;
END ELSE J=J+1;
  END
  if (AJJ) then
  BEGIN
SWORD=TRIM(SUBSTRING(AWORD FROM AJ FOR J-AJ));
if (CHAR_LENGTH(SWORD)2) then
SUSPEND;
EXIT;
  END
end

ниже поиск совпадения слова в словаре - решил тупо посредством
усечения слова в цикле
CREATE OR ALTER PROCEDURE SEEK_WORDS(
AWORD VARCHAR(50))
RETURNS (
WORD_ID INTEGER,
OKOF_COUNT INTEGER)
AS
declare variable SID INTEGER;
declare variable CCOUNT INTEGER;
declare variable IN_OKOF INTEGER;
declare variable CLEN INTEGER;
declare variable XWORD VARCHAR(50);
begin
  AWORD=UPPER(AWORD);
  CLEN=CHAR_LENGTH(TRIM(AWORD));
  WHILE (:cLEN=3) DO
  BEGIN
XWORD=SUBSTRING(:AWORD from 1 for :CLEN);
CCOUNT=0;
FOR select ID,IN_OKOF,OKOF_COUNT from WORDS
where sname=:XWORD into :SID,:IN_OKOF,:OKOF_COUNT DO
BEGIN
  if (IN_OKOF=0) then /*ЭТО СИНОНИМ*/
  BEGIN
SELECT FIRST(1) WORDS.ID,WORDS.OKOF_COUNT
FROM SYN_WORDS
LEFT JOIN WORDS ON SYN_WORDS.WORDS_ID=WORDS.ID
WHERE SYN_WORDS.SYN_ID=:SID AND WORDS.IN_OKOF=1
INTO :WORD_ID,:OKOF_COUNT;
if (WORD_ID IS NOT NULL) then
BEGIN
  CCOUNT=CCOUNT+1;
  suspend;
END
  END ELSE
  BEGIN
WORD_ID=SID;
CCOUNT=CCOUNT+1;
suspend;
  END
END
if (CCOUNT0) then EXIT;
clen=clen-1;
  end
end

Собственно, пока достаточно.
Фанис



Re: Файлы по ОКОФ

2007-10-01 Пенетрантность Sergey Mereutsa

Привет!

 ниже все это рубится на слова

А что такое этот самый ОКОФ?


-- 
Best regards,
 Sergeymailto:[EMAIL PROTECTED]




Re: Файлы по ОКОФ

2007-10-01 Пенетрантность Alexander A. Venikov


Hello, Sergey!
You wrote to Fanis on Mon, 1 Oct 2007 19:47:00 +0300:

SM А что такое этот самый ОКОФ?
Общероссийский Классификатор Основных Фондов, не к ночи будь помянут... Сейчас 
вышла новая версия, если можно так выразиться, и как бухгалтерам и 
программистам выкручиваться - ХЕЗ. А кого из инициаторов это волновало? ИМХО 
никого.

--
Удач
Alexander A. Venikov, Tobolsk, Russia