Re: Файлы по ОКОФ
On 1 окт, 22:47, Sergey Mereutsa [EMAIL PROTECTED] wrote: А что такое этот самый ОКОФ? Классификатор основных средств - здания, сооружения, транспортные средства и пр. Если в твоем предприятии есть комп, то он учтен под кодом 143020201 ЭВМ общего назначения - это как минимум - но можно уточнить и как 143020232 Машины перфорационные для подготовки и обработки перфокарт :- Суть проблемы - бухгалтер пишет компьютер - в кодах ОКОФ оного нет. Посему необходимо иметь словарь слов (ЭВМ), которые есть в ОКОФ и синонимов (компьютер), которые ссылаются на слова. Но лучше иметь справочник типовых образцов основных средств, у которых однозначно определены и коды ОКОф и группы амортизации. Если бухгалтер неправильно определил код и группу амортизации, то он нарушает налоговый учет - санкции могут быть весьма и весьма неприятными. Я год назад писал в одном заводе финансовый анализ - выявил в учете ОС кучу переплат и недоплат. И еще кое-чего (теневые дела), из-за которых меня попросили удалиться надолго. Правда, оплатили по полной :- Короче говоря, эта тема требует от программера полного погружения как в бухучет, так и абсолютного понимания кодирования. Фанис
Re: Файлы по ОКОФ
On 2 окт, 08:15, Alexander A. Venikov [EMAIL PROTECTED] wrote: вышла новая версия, если можно так выразиться, и как бухгалтерам и программистам выкручиваться - ХЕЗ. А кого из инициаторов это волновало? ИМХО никого. Здесь можно решить построением stable_version - хранит все дела от 2002 года, и отображается для средств, введенных до 2007 года и введение таблицы okof_groups_by697 - здесь уже добавляются группы амортизации для средств, введенных с1 января 2007 года. Это решено, но вот только для Паруса-Бюджет. С 1С не работал - но вполне реально и это Фанис
Re: Файлы по ОКОФ
On 2 окт, 08:15, Alexander A. Venikov [EMAIL PROTECTED] wrote: вышла новая версия, если можно так выразиться, и как бухгалтерам и программистам выкручиваться - ХЕЗ. А кого из инициаторов это волновало? ИМХО никого. Здесь можно решить построением stable_version - хранит все дела от 2002 года, и отображается для средств, введенных до 2007 года и введение таблицы okof_groups_by697 - здесь уже добавляются группы амортизации для средств, введенных с1 января 2007 года. Это решено, но вот только для Паруса-Бюджет. С 1С не работал - но вполне реально и это Фанис
Re[2]: Файлы по ОКОФ
Привет! Короче говоря, эта тема требует от программера полного погружения как в бухучет, так и абсолютного понимания кодирования. Ой... Понял, ухожу, ухожу :) -- Best regards, Sergeymailto:[EMAIL PROTECTED]
Re: Файлы по ОКОФ
Hello, Fanis! You wrote on Tue, 02 Oct 2007 00:40:02 -0700: F С 1С не работал - но вполне реально и это Твои сообщения идут по два раза. -- Удач Alexander A. Venikov, Tobolsk, Russia
Файлы по ОКОФ
Привет! 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: Файлы по ОКОФ
Привет! ниже все это рубится на слова А что такое этот самый ОКОФ? -- Best regards, Sergeymailto:[EMAIL PROTECTED]
Re: Файлы по ОКОФ
Hello, Sergey! You wrote to Fanis on Mon, 1 Oct 2007 19:47:00 +0300: SM А что такое этот самый ОКОФ? Общероссийский Классификатор Основных Фондов, не к ночи будь помянут... Сейчас вышла новая версия, если можно так выразиться, и как бухгалтерам и программистам выкручиваться - ХЕЗ. А кого из инициаторов это волновало? ИМХО никого. -- Удач Alexander A. Venikov, Tobolsk, Russia