mojaSymfonia FORUM
https://forum.mix-soft.pl/

Import kontrahentów
https://forum.mix-soft.pl/viewtopic.php?f=4&t=4561
Strona 1 z 1

Autor:  ŁukaszM [ 2012-12-27, 18:23 ]
Tytuł:  Import kontrahentów

Witam,
Zostałem poproszony o napisanie mechanizmu importu danych kontrahentów i faktur ze sklepu internetowego do Symfonii FiK.
Zacząłem dziubać i eksperymentować na podstawie istniejących szablonów (*.AMS) i Waszego forum (dzięki za obszerne źródło wiedzy). Niestety wstępnie natknąłem się na pewną wątpliwość przy imporcie kontrahentów.
Kontrahentów można importować ale pytanie czy można ich aktualizować (poprzez import szablonem AMS bądź inny półautomatyczny sposób)?
Importując dane Symfonia robi powiązania z zewnętrznymi ID i je pamięta. Jednak zarówno w przypadku gdy istnieje już powiązanie lub tworzę powiązanie przy imporcie wskazując tożsame rekordy - Symfonia nie aktualizuje już danych. Jakby je ignoruje.
Pytanie brzmi więc - czy można w jakiś sposób aktualizować dane kontrahentów bazując na zbiorczym pliku wsadowym. Jeśli się da - poproszę w miarę możliwości o receptę lub wskazówki jak tego dokonać.
Nasuwa mi się analogiczne pytanie odnośnie dokumentów - faktur zakupu i sprzedaży. Czy można aktualizować dane. które są już w Symfonii - np w buforze.
Z góry dziękuję za pomoc i pozdrawiam.

Autor:  ŁukaszM [ 2012-12-27, 20:12 ]
Tytuł:  Re: Import kontrahentów

Dodam jeszcze, że oczywiście chodzi o aktualizowanie danych typu adres czy nr konta a nie np. numer NIP

Autor:  wrob [ 2012-12-28, 16:40 ]
Tytuł:  Re: Import kontrahentów

Kontrahentow mozna aktualizowac - szablon powinien pytac ze importowane dane sie roznia i pozwalac nadpisac, natomiast dokumenty w buforze to sie nie da importem - tylko oprogramowując modul itg

Autor:  ŁukaszM [ 2012-12-28, 20:03 ]
Tytuł:  Re: Import kontrahentów

Dziękuję bardzo za odpowiedź.
Z jakiegoś powodu Symfonia nie pyta o aktualizację. Czy istnieje jakieś ustawienie konfiguracji (np w szablonie), które owoduje takie zachowanie?
Na standardowym szablonie jest podobnie jak stworzonym przeze mnie. Trochę to dziwne. Nie znalazłem nic na ten temat w dokumentacji importu specjalnego.

Autor:  ŁukaszM [ 2012-12-31, 15:16 ]
Tytuł:  Re: Import kontrahentów

Bardzo proszę o podpowiedź - jak zrobić aby przy imporcie specjalnym kontrahentów system pytał o to czy aktualizować dane kontrahenta czy pozostawić bieżące.
Dziękuję z góry.

Autor:  krzysiek [ 2012-12-31, 17:06 ]
Tytuł:  Re: Import kontrahentów

Każdy profil importu ma przycisk Definicje i widze tam coś takiego jak opcja "POWIELONE_NAZWY" która ma 3 możliwe zachowania :0-zapisuje bez pytania; 1-pyta czy zapisać; 2-nie zapisuje. Domyślnie każdy import nowo założony ma 0.

Autor:  ŁukaszM [ 2013-01-04, 10:21 ]
Tytuł:  Re: Import kontrahentów

Niestety ta kontrolka zdaje się nie załatwiać sprawy.
Jeśli w pliku wsadowym są jakieś zmiany w danych typu nr rachunku lub zmiana adresu Symfonia i tak pomija je.
Jakby identyfikatory kontrahenta zostały już uzgodnione.
Bardzo proszę o pomoc w tej kwestii - teoretycznie szablon wygląda poprawnie logicznie ale coś tu nie gra.

Załączam plik szablonu i przykładowe dane wsadowe

Szablon:
Kod:
#format  "AMS"  //
#Disable  "0"  //poziom ostrzeżeń (1 - bez ostrzeżeń o pustych polach)
#POWIELONE_NAZWY  "1"  //0-zapisuje bez pytania; 1-pyta czy zapisać; 2-nie zapisuje

Section("Kontrahent", "Kontrahent")
{
  $klucz = [zewnID]
  $pozycja = [pozycja]
  $kod = [kodPocztowy]
  $skrot = [skrot]
  $nazwa = [nazwa]
  $imie = [imie]
  $nazwisko = [nazwisko]
  $miejscowosc= [miejscowosc]

   IF( EXIST( "dom") )
   {
      $ulica      = [ulica]
      $dom   = [dom]
      $lokal= [lokal]
   }
   ELSE
   {
      IF( REX([ulica], "-{*}({[0-9///-]##:b()|[A-Q]})(:b[//\\.,]|(m[,.]+)|():b{[0-9]##:b[A-Z]|()})|()$"))
      {
         $ulica      = @rex1
         $dom   = @rex2
         $lokal= @rex3
      }
      ELSE
         $ulica      = [ulica]
   }

  $kodpocz   = [kodPocztowy]
  $nip = [nip]
  $w_banku1 = [w_banku1]
  $rachunek1 = [rachunek1]
  $telefon1 = [telefon1]
  $telefon2 = [telefon2]
  $email = [email]
  $stronawww = [stronawww]
  $uwagi = [uwagi]
  $aktywny = [aktywny]
  Section( "kraj", "kraj")
  {
    $symbol = [symbol]
  }
}


Dane importowane:
Kod:
Kontrahent{
  zewnID = 4
  skrot = Firma1
  nazwa =  Firma 1
  miejscowosc = Kraków
  ulica = cicha 75B/1
  kodPocztowy = 00-091
  nip = 1111111111
  rachunek1 = 24234000090080244000000072
  telefon1 = 42123123
  telefon2 = 42234234
  email = firma1@gmail.com
  aktywny = 1
  kraj{
  symbol = PL
  }
}
Kontrahent{
  zewnID = 15
  skrot = Firma2
  nazwa = Firma 2
  miejscowosc = Warszawa
  ulica = Cicha 10 m.87
  kodPocztowy = 00-161
  nip = 22222222222
  rachunek1 =
  telefon1 = 22123123
  telefon2 = 22234234
  email = firma2@gmail.com
  aktywny = 1
  kraj{
  symbol = PL
  }
}


Tak jak pisałem wyżej, po zmianie np. ulicy w którymkolwiek kontrahencie - zmiany nie zapisują się przy ponownym imporcie.
Dziękuję z góry za pomoc.

Autor:  ŁukaszM [ 2013-01-04, 22:24 ]
Tytuł:  Re: Import kontrahentów

Na domiar zabawnych zachowań...
Odkryłem, że importując nie przez Firma->import specjalny ale przez Kartoteki->kontrahenci->Stali, a następnie operacjie->import danych (zmieniając $kod na #kodPocztowy) Symfonia faktycznie pyta o to czy nadpisać dane kontrahenta w systemie danymi z importowanego pliku ale za to nie zapisuje uzgodnień i co ciekawe zawsze pyta czy nadpisać dane bez względu na to czy dane w obu miejscach się od siebie różnią czy nie. Pomijam fakt, że w pliku wsadowym nie jest zapisana $pozycja kontrahenta bo to dana Syfonii FiK.
Gdzie tu sens i gdzie logika? Albo muszę popełniać jakiś dziwny błąd albo import nie działa w sensowny sposób :/

Strona 1 z 1 Strefa czasowa UTC+1godz. [letni]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/