Strona 1 z 1
Zmiana ceny przy pomocy obiektów COM
: 24 lip 2018, 14:03
autor: rabies
Witam,
potrzebuje zmienić cenę towaru przy użyciu funkcji dodatkowych [JS], przy próbie utworzenia obiektu:
Kod: Zaznacz cały
rCena = rSesja.CreateObject("CDN.TwrCeny").Item("TwC_TwrID = "+Recordset.Fields(0).value+" AND TwC_TwCNumer = "+??cenaDetaliczna);
dostaję komunikat jak w załączniku.
w jaki sposób poprzez obiekty COM mogę się dostać do konkretnej ceny towaru?
--
Pozdrawiam
Re: Zmiana ceny przy pomocy obiektów COM
: 24 lip 2018, 20:37
autor: taszek
a skąd chcesz pobierać nową cenę?
Re: Zmiana ceny przy pomocy obiektów COM
: 25 lip 2018, 08:28
autor: rabies
Będę ją wyliczał na podstawie atrybutów i parametrów wejściowych.
--
Pozdrawiam.
Re: Zmiana ceny przy pomocy obiektów COM
: 25 lip 2018, 09:30
autor: taszek
Możesz np. tak to zrobić (ja podwyższam podaną marże dla zaznaczonych towarów dla wybranej ceny)
Kod: Zaznacz cały
[SQL]
@PAR ?@Hs200_NQ|Filtr:''@? PAR@
@PAR ?@R(select DfC_DfCId,Dfc_Nazwa from CDN.DefCeny where Dfc_Nieaktywna is null and Dfc_DfcID >1)|Cena|&Cena:hurtowa 1 @? @PAR
@PAR ?@N7|Marza|Podaj marżę w %:5 @? @RH(999999) PAR@
SELECT RPZ2_GIDNumer FROM CDN.RptZaznaczenia2
WHERE ??_NQFiltr
[JS]
var shell = new ActiveXObject ('WScript.Shell')
try\{
while ( !Recordset.EOF )
\{
var rTowar = Session.CreateObject("CDN.Towary").Item("Twr_TwrId = "+ Recordset.Fields("RpZ2_GIDNumer"))
var rCena = rTowar.Ceny.Item(??Cena-1).Wartosc
rCena = Math.round((rCena + rCena*??Marza/100)*100)/100
rTowar.Ceny.Item(??Cena-1).Wartosc = rCena
Session.Save()
Recordset.MoveNext()
\}
\}
catch(e)
\{
shell.Popup(e.description)
\}
Re: Zmiana ceny przy pomocy obiektów COM
: 27 lip 2018, 12:13
autor: rabies
Witam,
kod:
Kod: Zaznacz cały
rTowar.Ceny.Item(??cena-1).Wartosc = nowaCena;
działa, dzięki za podpowiedź jednak nie rozumiem dlaczego trzeba od id ceny odjąć 1, id Ceny w TwrCeny jak i DefCeny sie pokrywają a ID pobieram z DefCeny więc teoretycznie to -1 jest niepotrzebne a jednak musi być do poprawnego działania skryptu
--
Pozdrawiam
Re: Zmiana ceny przy pomocy obiektów COM
: 30 lip 2018, 08:18
autor: taszek
Wiąże się to z tym, że tablica w obiekcie cen numerowana jest od 0. Więc cena zakupu jest w Optimie jako 1, ale w tablicy już jako 0.
Re: Zmiana ceny przy pomocy obiektów COM
: 15 lis 2019, 09:24
autor: Adwin
Chciałbym powyższy skrypt zastosować na RO i ustalać cenę sprzedaży od marży...
ale wyskakuje mi nieprawidłowa nazwa kolumy TrN_TrNId :/
Da radę to jakoś ogarnąć?
Re: Zmiana ceny przy pomocy obiektów COM
: 24 lis 2019, 23:18
autor: Gabik
Do dokumentu RO będziesz potrzebował innego skryptu.
Musisz na obiekcie dokumentu dostać się do elementów i na nich ustawić odpowiednią cenę.
Kod: Zaznacz cały
var rPozycje = rRO.Elementy;
for (var i=0; i<rPozycje.Count ; i++ )
\{
rPozycje.Item(i).CenaT= nowaCena
\}