Adam Nowicki Ferma Drobiu
Bartłomiej Leś BST
Temat: Zlece wykonanie projektu
Proszę o dokładniejsze informacje na grzegorz.olma@bst.com.pl. Robiliśmy podobne rozwiązanie.Piotr Kozak czujnik.blogspot.com
Temat: Zlece wykonanie projektu
Wystarczy napisać odpowiednio algorytm ceny, nie trzeba nic kopiować. :)Bartłomiej Leś BST
Temat: Zlece wykonanie projektu
Piotr K.:
Wystarczy napisać odpowiednio algorytm ceny, nie trzeba nic kopiować. :)
Jak chcesz potem widzieć cenniki indywidualne na karcie kontrahenta, to trzeba kopiować. Rozumiem, że o to chodzi.
Adam Nowicki Ferma Drobiu
Temat: Zlece wykonanie projektu
przyklad:domyslna cena dla FV -cena indywidualna ,
wystawiam FV podpowiada sie ustawiona cena 10zl, po zmianie tej ceny na dokumencie na12zl , zmienia sie cena indywidualna na 12zl i na kolejnych dok podpowiada sie cena 12zl.
Uwaga:
dokumenty nie sa wystawiane bezposrednio w enovie, pochodza z exportu z PDA z prog Mobilny Handlowiec
Darek N. NOWIKOM Informatyka
Temat: Zlece wykonanie projektu
A mi taki mechanizm napisali panowie z Soneta. :) Na życzenie udodstępnie opis. Tylko jest to zrobione nie poprzez cennik indywidualny tylko nową definicję ceny, która w trakcie wystawiania dokumentu sprawdza ostatnią cene sprzedaży i wpisuje ją na dokument. Przy zmianie kontrahenta cena jest automatycznie przeliczana.Tak na marginesie sprawa nie była taka prosta, potrzebna była przebudowa funkcji programu, ale od wersji 9.3 idzie to już gładko.
Adam Nowicki Ferma Drobiu
Temat: Zlece wykonanie projektu
Bardzo chetnie, poproszekonto usunięte
Temat: Zlece wykonanie projektu
Witam, poproszę.Darek N. NOWIKOM Informatyka
Temat: Zlece wykonanie projektu
Zawartość nalezy zapisać w pliku xml. Działa od wersji 9.3<?xml version="1.0" encoding="Unicode"?>
<session xmlns="http://www.soneta.pl/schema/business">
<DefinicjaCeny id="DefinicjaCeny_7" guid="ecca43fc-2a59-4078-81aa-73d16092540d">
<Nazwa>Ostatnia sprzedazy</Nazwa>
<Blokada>False</Blokada>
<DodawanaDoTowaru>False</DodawanaDoTowaru>
<Priorytet>2</Priorytet>
<AktualizujPrzychodem>False</AktualizujPrzychodem>
<CenaOdbiorcy>False</CenaOdbiorcy>
<PodmiotCeny>Kontrahent</PodmiotCeny>
<IndywidualnaRabatowana>False</IndywidualnaRabatowana>
<AkceptujPromocje>False</AkceptujPromocje>
<RabatujPromocje>False</RabatujPromocje>
<Indywidualna>
<Rodzaj>Brak</Rodzaj>
<Wliczaj>PrzepiszDoPozycjiDokumentu</Wliczaj>
<GrupaTowarowa />
<Grupa />
</Indywidualna>
<Indywidualna2>
<Rodzaj>Brak</Rodzaj>
<Wliczaj>PrzepiszDoPozycjiDokumentu</Wliczaj>
<GrupaTowarowa />
<Grupa />
</Indywidualna2>
<Indywidualna3>
<Rodzaj>Brak</Rodzaj>
<Wliczaj>PrzepiszDoPozycjiDokumentu</Wliczaj>
<GrupaTowarowa />
<Grupa />
</Indywidualna3>
<Rabat1>
<Rodzaj>Brak</Rodzaj>
<Wliczaj>PrzepiszDoPozycjiDokumentu</Wliczaj>
<GrupaTowarowa />
<Grupa />
</Rabat1>
<Rabat2>
<Rodzaj>Brak</Rodzaj>
<Wliczaj>PrzepiszDoPozycjiDokumentu</Wliczaj>
<GrupaTowarowa />
<Grupa />
</Rabat2>
<Rabat3>
<Rodzaj>Brak</Rodzaj>
<Wliczaj>PrzepiszDoPozycjiDokumentu</Wliczaj>
<GrupaTowarowa />
<Grupa />
</Rabat3>
<Rabat4>
<Rodzaj>Brak</Rodzaj>
<Wliczaj>PrzepiszDoPozycjiDokumentu</Wliczaj>
<GrupaTowarowa />
<Grupa />
</Rabat4>
<Rabat5>
<Rodzaj>Brak</Rodzaj>
<Wliczaj>PrzepiszDoPozycjiDokumentu</Wliczaj>
<GrupaTowarowa />
<Grupa />
</Rabat5>
<Metoda>public void Przelicz_Ostatnia_sprzedazy()
{
ICena cena = null;
Percent rabat = Percent.Blank;
if (JestDokument && Kontrahent != null && Towar != null)
{
Magazyn magazyn = Dokument.DokumentMagazynowyGłówny.Magazyn;
if(magazyn != null)
{ cena = WyliczCene(out rabat);
} }
if(cena == null)
{ cena = Policz("Hurtowa");
// cena = Towar.OstatniaCenaSprzedaży;
}
Netto = cena.Netto;
Brutto = cena.Brutto;
StandardowaIlosc = cena.StandardowaIlosc;
if(rabat != Percent.Blank)
Rabat = rabat;
}
public ICena WyliczCene(out Percent rabat){
ICena c = null;
rabat = Percent.Blank; PozycjaDokHandlowego ostatniaPozycja = OstatniaPozycja(KierunekPartii.Rozchód, GetCondition());
if(ostatniaPozycja != null)
{
c = new Towar.OstatniaCena(Towar, ostatniaPozycja);
rabat = ostatniaPozycja.Rabat;
} return c;
}
public RowCondition GetCondition(){
RowCondition rconn = RowCondition.Empty;
if (Towar.Typ == TypTowaru.Usługa)
{
rconn = new FieldCondition.Contain("Dokument.Kategoria", KategoriaHandlowa.HandelPierwszy, KategoriaHandlowa.HandelOstatni);
}
else
{
rconn = new FieldCondition.Contain("Dokument.Kategoria", KategoriaHandlowa.HandelPierwszy, KategoriaHandlowa.MagazynOstatni);
}
rconn &= new FieldCondition.Equal("Dokument.Magazyn", Dokument.DokumentMagazynowyGłówny.Magazyn);
rconn &= new FieldCondition.Equal("Dokument.Kontrahent", Kontrahent);
Date d = new Date(Date.Today.Year - 1, Date.Today.Month, Date.Today.Day);
rconn &= new FieldCondition.GreaterEqual("Dokument.Data", d);
string[] symbole = new string[] {"FV", "FV 2", "FV 3 OCS"};
rconn &= new FieldCondition.In("Dokument.Definicja.Symbol", symbole);
return rconn;
}
internal PozycjaDokHandlowego OstatniaPozycja(KierunekPartii kierunek, RowCondition cond)
{
SubTable st = Dokument.Module.PozycjeDokHan.WgKierunek[Towar, kierunek];
View vw = st.CreateView();
vw.LoadingRowsCount = 100;
vw.ForceSqlQuery = true;
vw.ConsiderModifiedInSqlQuery = true;
vw.Condition &= new FieldCondition.NotEqual("Cena.Value", 0d);
vw.Condition &= cond;
PozycjaDokHandlowego last = vw.GetLast() as PozycjaDokHandlowego;
return last;
}</Metoda>
<Algorytm>
<Typ>KodMetody</Typ>
<ZalezyOdDokumentu>True</ZalezyOdDokumentu>
<CechaBazowa />
<CenaBazowa />
<Wspolczynnik>
<Znak>Brak</Znak>
<Typ>Liczba</Typ>
<Wartosc>0</Wartosc>
</Wspolczynnik>
<Waluta />
<Zaokraglenie>False</Zaokraglenie>
<Dokladnosc>0</Dokladnosc>
<Delta>0</Delta>
</Algorytm>
</DefinicjaCeny>
</session>
Temat: Zlece wykonanie projektu
Witaj,Możesz pokierować jak odpalić ten XML?
Bardzo zależy mi na realizacji tej funkcji
Tomasz
Mierzejewski
wdrożeniowiec,
programista,
administrator
Temat: Zlece wykonanie projektu
Zapisz xmla do plikuPlik powinien zaczynać się od
<?xml version="1.0" encoding="Unicode"?>
i kończyć na
</session>
Uruchom enovę i wybierz:
Plik->Importuj zapisy->Z pliku XML
Wybierasz plik i już. Jest tylko mały problem, nie zadziała :)
Żeby zadziałało ściągnij sobie notepada++, otwórz plik z xmlem i wykonaj dwie operacje
1. Zmień kodowanie Format-> Koduj w USC-2 Little Endian
2. Zamień wszystkie & na &
Zapisz plik i wczytaj jeszcze raz do enowy.
Zwróć uwagę, że algorytm szuka cen w dokumentach o konkretnych definicjach.
Jakby był problem to zawsze służymy pomocą profesjonalną :)
Temat: Zlece wykonanie projektu
I wtedy pojawi mi sie to w opcjach definicji ceny?
Tomasz
Mierzejewski
wdrożeniowiec,
programista,
administrator
Temat: Zlece wykonanie projektu
Pojawi się cena algorytmiczna o nazwie Ostatnia sprzedazy.Następna dyskusja: