Expert Software Company : News

luni, 11 aprilie 2011

TVA

http://chat.mfinante.ro/ANAFI.nsf/SKWebInternetPortal?OpenView&Start=1&Count=30&Expand=3.5#3.5

FORMULARE FISCALE

http://www.anaf.ro/public/wps/portal/ANAF/AsistentaContribuabili/formulare

Declaratia 301

Conform art. 153.1 alin. (1) lit. a), persoana impozabila care are sediul activitatii economice in Romania, neinregistrata si care nu are obligatia sa se inregistreze conform art. 153 si care nu este deja inregistrata conform lit. b) sau c) sau alin. (2), care efectueaza o achizitie intracomunitara taxabila in Romania, trebuie sa se inregistreze in scopuri de TVA inainte de efectuarea achizitiei intracomunitare, daca valoarea achizitiei intracomunitare respective depaseste plafonul pentru achizitii intracomunitare in anul calendaristic in care are loc achizitia intracomunitara.
Astfel, achizitia produselor din Bulgaria este o achizitie intracomunitara de bunuri si
- la un plafon de achizitii sub 10.000 euro, societatea plateste TVA in tara furnizorului ( in Romania nu colecteaza TVA la vanzare), nu are obligatia de a se inregistra in ROI, de a depune Decontul special de TVA si de a plati TVA in tara;
- la un plafon de achizitii mai mare decat 10.000 euro, societatea trebuie sa se inregistreze in scopuri TVA pentru achizitii intracomunitare (nu devine platitoare de TVA in Romania), sa se inregistreze in ROI, achizitioneaza marfa fara TVA din tara furnizorului, intocmeste Decontul special de taxa- Declaratia 301 si plateste TVA in Romania aferenta achizitiei (fara a colecta TVA la vanzare). In acest caz societatea este obligata sa intocmeasca si sa depuna la organele fiscale competente, pana la data de 15 inclusiv a lunii urmatoare Declaratia 390 "Declaratie recapitulativa privind livrarile/achizitiile/ prestarile intracomunitare".

* ROI = Registrul Operatorilor Intracomunitari

PackMeta.prg

****************************************************************************
*
* PROGRAM NAME: PackMeta.prg
*
* AUTHOR: Richard A. Schummer, August 1996
*
* COPYRIGHT © 1996 All Rights Reserved.
* Richard A. Schummer
* 42759 Flis Dr.
* Sterling Heights, MI 48314-2850
* RSchummer@CompuServe.com
*
* Free for the use by all FoxPro developers around the world!
*
* SYSTEM: Common Utilities
*
* PROGRAM DESCRIPTION:
* This program packs all the Visual Class Libraries and Forms
* that are contained in a selected project file. This PACK
* removes all the "memo bloat" that naturally occurs during
* a development cycle.
*
* Error not handled includes File in Use (usually caused by
* a Form running or instantiation of a Visual Class).
*
* CALLED BY:
* DO PackMeta.prg
*
* SAMPLE CALL:
* DO PackMeta.prg
*
* INPUT PARAMETERS:
* None
*
* OUTPUT PARAMETERS:
* None
*
* DATABASES ACCESSED:
* None
*
* GLOBAL VARIABLES REQUIRED:
* None
*
* GLOBAL PROCEDURES REQUIRED:
* None
*
* DEVELOPMENT STANDARDS:
* Version 3.0 compliant
*
* TEST INFORMATION:
* None
*
* SPECIAL REQUIREMENTS/DEVICES:
* None
*
* FUTURE ENHANCEMENTS:
* 1) Possibly include Reports and Menus as well. These are not as big
* a problem for the developer so they were not included in this
* version
*
* LANGUAGE/VERSION:
* Visual FoxPro 3.0b or higher
*
****************************************************************************
*
* C H A N G E L O G
*
* Date SE Version Description
* ---------- ---------------------- ------- -----------------------------
* 08/11/1996 Richard A. Schummer 1.0 Created program
* --------------------------------------------------------------------------
* 12/08/1996 Richard A. Schummer 1.0 Added documentation to meet
* development standards
* --------------------------------------------------------------------------
* 03/08/1997 Richard A. Schummer 1.1 Handle error of File Open,
* Count of skipped files, chged
* some var names to conform to
* development standards.
* --------------------------------------------------------------------------
*
****************************************************************************


****************************************************************************
*--- [mustapha] added here my personal trick
*--- close all tables,project and libraries before packing
Close All
Clear All
Set Classlib To
****************************************************************************

#INCLUDE FoxPro.h && constants for messagebox

#Define ccMESSAGE_CAPTION "Pack Metadata Process Message"
#Define ccTOOL_VERSION "1.1.0"

Private plFileOpened As Boolean && Indicates metadata open, changed to .F. in error routine
Local lnRecordsProcessed As Integer && Number of metadata files PACKed
Local lnRecordsSkipped As Integer && Number of metadata files not PACKed
Local lcSelectedCursor As String && Previously selected cursor
Local lcProjectFile As String && Project file selected by user
Local lcOldError As String && Save error routine

Local lnMsgRet As Integer, lnSubDir As Integer, lnIndex As Integer, ;
lcHomeDir As String, lcParentDir As String, lcMetaData As String

m.lcOldError = On("ERROR")

* ON ERROR for this program
On Error Do ErrorHandlerPR With Error(), Message(), Message(1), Program(), Lineno(), m.lcMetaData

m.lcSelectedCursor = Select()
m.lcProjectFile = Getfile( 'PJX', 'Select a Project File', 'Select')

If !Empty( m.lcProjectFile)
If Used( "ProjFile")
Use In ProjFile && So no "Alias in use" msg
Endif

Use (m.lcProjectFile) In Select(1) Again Noupdate Alias ProjFile Shared

If Type( "projfile.user") = "U"
=Messagebox("Project file selected is from prior version of FoxPro." + Chr(13) + ;
"Please select Visual FoxPro project.", MB_ICONEXCLAMATION + MB_OK, ccMESSAGE_CAPTION))

Use In ProjFile
Return
Endif
Else
Return
Endif

m.lnMsgRet = Messagebox("Are you sure you want to pack all the metadata files selected for the project?", ;
MB_ICONQUESTION + MB_YESNO + MB_DEFBUTTON1, ccMESSAGE_CAPTION)

If m.lnMsgRet = IDNO
Use In ProjFile
Return
Endif

Store 0 To m.lnRecordsProcessed, m.lnRecordsSkipped

Wait Window Padc("Processing project file...",78) Nowait

Select * From ProjFile Where Upper(Type) = "H" Into Cursor Query

* Initialize home directory variable and get project file name
If !Eof()
m.lcHomeDir = Alltrim( HomeDir) + Iif(Rat("\", HomeDir) != Len(Alltrim(HomeDir)), "\","")
m.lcHomeDir = Upper(Strtran( m.lcHomeDir, Chr(0), ""))
Else
m.lcHomeDir = ""
Endif

Use In Query


****************************************************************************
*--- [mustapha] Again added here my personal trick
*--- packing the Visual Class Libraries,Forms, Reports and Menus
*--- "V" :forms .scx; "K" :classlib .vcx; "R" :report .frx; "M" :menu .mnx
Select * From ProjFile Where Type In ("V", "K", "R", "M") Into Cursor ProjTemp

* Only packing the Visual Class Libraries and Forms at this time.
* select * from projfile where type in ("V", "K") into cursor projtemp
****************************************************************************

If _Tally < 1
Wait Window "No object type(s) in project that you specified, press any key..."
Else
Scan
Scatter Memvar Memo

* Count subdirectories so actual directory name can be printed

m.lnSubDir = 0
m.lnIndex = 1

Do While .T.
Do Case
Case Substr(Name, m.lnIndex, 4) = "..\\"
lnSubDir = m.lnSubDir + 1
lnIndex = m.lnIndex + 4
Case Substr(Name, m.lnIndex, 3) = "..\"
lnSubDir = m.lnSubDir + 1
lnIndex = m.lnIndex + 3
Otherwise
Exit
Endcase
Enddo

* Process "calculated" fields, remember mNotes is based on parameter

Do Case
Case m.lnSubDir = 0 And Substr(Name,1,1) = "\" && Absolute directories
m.lcParentDir = Substr( m.lcHomeDir, 1, 2)
Case m.lnSubDir = 0 And Substr(Name,2,1) = ":" && Complete path
m.lcParentDir = ""
Case m.lnSubDir = 0 And Substr(Name,1,1) != "\" && Relative directories
m.lcParentDir = m.lcHomeDir
Otherwise && One or more parental directories
m.lcParentDir = Upper(Substr( m.lcHomeDir, 1, Rat("\", m.lcHomeDir, m.lnSubDir +1)))
Endcase

* m.mDirName was created during SCATTER (why it is not std name)
m.mDirName = m.lcParentDir + Upper(Substr(Name, m.lnIndex , Rat("\",Name) - m.lnIndex +1))
m.lcMetaData = m.mDirName + ShortNamePR( Name)
m.plFileOpened = .T.

Use (m.lcMetaData) In Select(1) Alias MetaData Exclusive

If m.plFileOpened
Select MetaData
Wait Window Padc("Packing: " + m.lcMetaData, 80) Nowait
Pack
Use
m.lnRecordsProcessed = m.lnRecordsProcessed + 1
Else
m.lnRecordsSkipped = m.lnRecordsSkipped + 1
Endif

Select ProjTemp

Endscan
Endif

Wait Clear

=Messagebox("Number of metadata tables packed was " + Alltrim(Str(lnRecordsProcessed)) + Chr(13) + ;
"Number of metadata tables skipped was " + Alltrim(Str(lnRecordsSkipped)), ;
MB_OK + MB_ICONINFORMATION, ccMESSAGE_CAPTION)

Use In ProjFile
Use In ProjTemp

Select (lcSelectedCursor)

On Error &lcOldError

Return


****************************************************************************
*
* PROCEDURE NAME: ShortNamePR
*
* PROCEDURE DESCRIPTION:
* This routine is called to truncate the directory information from the
* NAME field in the project file.
*
* INPUT PARAMETERS:
* tcFileName = The NAME field passed in as a parameter with possible
* directory information
*
* OUTPUT PARAMETERS:
* lcRetString = The filename with no directory or possilble NULL character
*
****************************************************************************
Procedure ShortNamePR
Lparameter tcFileName As String

Local lcRetString As String &&--- Value returned by the function

m.lcRetString = Upper(Substr( m.tcFileName, Rat("\", m.tcFileName) +1))

* Eliminate all Null characters from field passed to procedure.
* This removes the "box" character displayed in field during the report print preview.
Return Strtran( m.lcRetString, Chr(0), "")


****************************************************************************
*
* ErrorHandlerPR
*
* PROCEDURE DESCRIPTION:
* Custom error handler for the program.
* Main reason for this procedure is to capture the error of FoxUser.dbf in use
* by another session of FoxPro.
* All other errors get a messagebox which allows the user to cancel or continue the program.
*
* INPUT PARAMETERS (All Required):
* tnError = Error number from the FoxPro generated error
* tcMsg = Actual error message string related to the error
* tcMsg1 = FoxPro code that caused the error
* tcProg = Program name where the error occured
* tnLineno = Line number of the program where error occured
* tcMetadata = Name of metadata file being opened when error occurs
*
* OUTPUT PARAMETERS:
* None
*
****************************************************************************
Procedure ErrorHandlerPR
Lparameter tnError As Integer, tcMsg As String, tcMsg1 As String, tcProg As String, ;
tnLineno As Integer, tcMetadata As String

Local lcOldOnError As String, lnRetVal As Integer

m.lcOldOnError = On("ERROR")

On Error

Do Case
Case m.tnError = 3
m.plFileOpened = .F.
m.lnRetVal = Messagebox( "Metadata file (" + Lower( m.tcMetadata) + ;
") already in use, will not be packed during this run.", ;
MB_OK + MB_ICONEXCLAMATION, ccMESSAGE_CAPTION)
Otherwise
m.lnRetVal = Messagebox( m.tcMsg + "(VFP "+ Alltrim( Str( m.tnError)) + ")" + Chr(13) + ;
"in " + m.tcProg + " on line " + Alltrim( Str( m.tnLineno)) + Chr(13) + Chr(13) + ;
"Do you want to continue?", ;
MB_YESNO + MB_ICONEXCLAMATION, ccMESSAGE_CAPTION)

If m.lnRetVal = IDNO
Cancel
Endif
Endcase

On Error &lcOldOnError

Endproc
*--------------------------------------------------------------------

miercuri, 16 februarie 2011

ObjRef of the last control before click

*!* put this in init method of your baseform class
*!*
this.AddProperty([oLastObject], .NULL.)
this.BindLostFocus(this)


*!* create this method
*!* BindLostFocus
LPARAMETERS toObject
LOCAL lcBase, loControl, loPage
lcBase = UPPER(toObject.BaseClass)
DO CASE
CASE INLIST(lcBase, [FORM], [CONTAINER], [PAGE])
FOR EACH loControl IN toObject.Controls
IF PEMSTATUS(loControl, [LostFocus], 5)
BINDEVENT(loControl, [LostFocus], this, [LostFocusEvent])
ENDIF
ENDFOR
CASE lcBase == [PAGEFRAME]
FOR EACH loPage IN toObject.Pages
this.BindLostFocus(loPage)
ENDFOR
ENDCASE


*!* create this method
*!* LostFocusEvent
LOCAL ARRAY laEvents[1]
LOCAL loExc, lnCount, loObject
TRY
lnCount = AEVENTS(laEvents, 0)
IF lnCount > 0
this.oLastObject = laEvents[1]
ENDIF
CATCH TO loExc
THROW
ENDTRY

luni, 7 februarie 2011

Best Free Remote Access Software

a free option from www.mikogo.com. The service can be spotty and slower than teamviewer, but its hard to argue with free and no limitations.
Alternative"
yuuguu

duminică, 2 ianuarie 2011