Adam Nowicki

Adam Nowicki Ferma Drobiu

Temat: Zlece wykonanie projektu

Projekt mialby obejmowac funkcje kopiowania ceny z ostatniego dokumentu jako ceny indywidualnej

Temat: Zlece wykonanie projektu

Proszę o dokładniejsze informacje na grzegorz.olma@bst.com.pl. Robiliśmy podobne rozwiązanie.
Piotr Kozak

Piotr Kozak czujnik.blogspot.com

Temat: Zlece wykonanie projektu

Wystarczy napisać odpowiednio algorytm ceny, nie trzeba nic kopiować. :)

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

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.

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

Adam Nowicki Ferma Drobiu

Temat: Zlece wykonanie projektu

Bardzo chetnie, poprosze

konto usunięte

Temat: Zlece wykonanie projektu

Witam, poproszę.
Darek N.

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

Tomasz Mierzejewski wdrożeniowiec,
programista,
administrator

Temat: Zlece wykonanie projektu

Zapisz xmla do pliku
Plik 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

Tomasz Mierzejewski wdrożeniowiec,
programista,
administrator

Temat: Zlece wykonanie projektu

Pojawi się cena algorytmiczna o nazwie Ostatnia sprzedazy.

Następna dyskusja:

Wykonanie operacji moze byc...




Wyślij zaproszenie do