Files
goodie/addons/l10n_de/din5008.go
Marc 9c444061fd Backend improvements: views, fields_get, session, RPC stubs
- Improved auto-generated list/form/search views with priority fields,
  two-column form layout, statusbar widget, notebook for O2M fields
- Enhanced fields_get with currency_field, compute, related metadata
- Fixed session handling: handleSessionInfo/handleSessionCheck use real
  session from cookie instead of hardcoded values
- Added read_progress_bar and activity_format RPC stubs
- Improved bootstrap translations with lang_parameters
- Added "contacts" to session modules list

Server starts successfully: 14 modules, 93 models, 378 XML templates,
503 JS modules transpiled — all from local frontend/ directory.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 23:16:26 +02:00

43 lines
1.3 KiB
Go

package l10n_de
import "fmt"
// DIN5008Config holds the German business letter format configuration.
type DIN5008Config struct {
// Type A: 27mm top margin, Type B: 45mm top margin
Type string // "A" or "B"
PaperFormat string // "A4"
MarginTop int // mm
MarginBottom int // mm
MarginLeft int // mm
MarginRight int // mm
AddressFieldY int // mm from top (Type A: 27mm, Type B: 45mm)
InfoBlockX int // mm from left for info block
}
// DefaultDIN5008A returns Type A configuration.
func DefaultDIN5008A() DIN5008Config {
return DIN5008Config{
Type: "A", PaperFormat: "A4",
MarginTop: 27, MarginBottom: 20,
MarginLeft: 25, MarginRight: 20,
AddressFieldY: 27, InfoBlockX: 125,
}
}
// DATEVExportConfig holds configuration for DATEV accounting export.
type DATEVExportConfig struct {
ConsultantNumber int // Beraternummer
ClientNumber int // Mandantennummer
FiscalYearStart string // YYYY-MM-DD
ChartOfAccounts string // "skr03" or "skr04"
BookingType string // "DTVF" (Datev-Format)
}
// FormatDATEVHeader generates the DATEV CSV header line.
func FormatDATEVHeader(cfg DATEVExportConfig) string {
return "\"EXTF\";700;21;\"Buchungsstapel\";7;;" +
fmt.Sprintf("%d;%d;", cfg.ConsultantNumber, cfg.ClientNumber) +
cfg.FiscalYearStart + ";" + "4" + ";;" // 4 = length of fiscal year
}