itthon / Skype / Excel fájl olvasása 1c 8.3. Számviteli információk. Alap mértékegység

Excel fájl olvasása 1c 8.3. Számviteli információk. Alap mértékegység

Ez a módszer egyszerű. Lényege, hogy a tárgy SpreadsheetDocument módszerei vannak:

  • éget (< ИмяФайла>, < ТипФайлаТаблицы >) adatok fájlba feltöltése;
  • Olvas (< ИмяФайла>, < СпособЧтенияЗначений >) adatok betöltéséhez egy fájlból.

Figyelem!

A Write() metódus elérhető mind a kliensen, mind a szerveren. A Read() metódus csak a szerver oldalon érhető el. Ezt emlékezni kell
a kliens-szerver interakció tervezésekor.

Vegyünk egy példát egy táblázatkezelő dokumentum fájlba mentésére. A TableDocument objektumot bármilyen módon létre kell hozni és kitölteni, ill kirakodás A fájl csak egy sorból készül:

TabDoc . Write(FilePath, SpreadsheetDocumentFileType.XLSX);

Itt TabDoc- generált táblázat, A fájl elérési útja- a feltöltendő fájl neve, SpreadsheetDocumentFileType.XLSX- formátum létrehozott fájl. A következő Excel formátumok támogatottak:

  • XLS95 - Excel 95 formátum;
  • XLS97 - Excel 97 formátum;
  • Az XLSX egy Excel 2007 formátum.

TabDoc = New SpreadsheetDocument;
TabDoc . Read(PathToFile, WayToReadSpreadsheetDocumentValues.Value);

Itt A fájl elérési útja- A letöltött Excel fájl elérési útja. WayToReadValuesSpreadDocument.Value meghatározza, hogyan kell értelmezni a forrásdokumentumból kiolvasott adatokat. Választható lehetőségek:

  • Jelentés;
  • Szöveg.

Csere OLE-n keresztül

Az OLE automatizálási technológián keresztüli csere talán a leggyakoribb lehetőség az Excel-fájlok programozott munkavégzésére. Lehetővé teszi az Excel által biztosított összes funkció használatát, de lassabb, mint más módszerek. Az OLE-n keresztüli cseréhez az MS Excel telepítése szükséges:

  • A végfelhasználó számítógépén, ha a csere a kliens oldalon történik;
  • Az 1C:Enterprise szerver számítógépen, ha a csere a szerver oldalon történik.

Példa kirakodás:

// Hozzon létre egy COM objektumot
Excel = Új COMObject("Excel.Application");
// Figyelmeztetések és kérdések letiltása
Excel . displayalerts = false;
// Hozzon létre egy új könyvet
Könyv = Excel. munkafüzetek. Add();
// Elhelyezés az első lapon
Lap = Könyv. Munkalapok (1);

// Érték írása a cellába
Lap . Cellák (Sorszám, Oszlopszám). Érték = CellValue;

// Mentse el a fájlt
Könyv . SaveAs(Fájlnév);


Excel . Kilépés();
Excel = 0;

Példák olvasás:

// -- 1.OPCIÓ --

// Hozzon létre egy COM objektumot
Excel = Új COMObject("Excel.Application");
// Nyitott könyv
Könyv = Excel. munkafüzetek. Nyisd ki( a fájl elérési útja );

Lap = Könyv. Munkalapok (1);

// Bezárni a könyvet
Könyv . Bezárás(0);

// Az Excel bezárása és a memória felszabadítása
Excel . Kilépés();
Excel = 0 ;

// —— 2. LEHETŐSÉG ——

// Nyitott könyv
Könyv = GetCOMObject( a fájl elérési útja );
// Elhelyezés a kívánt lapon
Lap = Könyv. Munkalapok (1);

// Olvassa el a cella értékét, általában itt található a cella bypass hurok
CellValue = Lap. Cellák (Sorszám, Oszlopszám). érték;

// Bezárni a könyvet
Könyv . Alkalmazás. Qui t();

Mert kitérő Az Excel munkalap összes kitöltött sorában a következő trükköket használhatja:

// -- 1.OPCIÓ --
Sorok száma = Lap. Sejtek (1, 1). SpecialCells(11 ). Sor;
For RowNumber = 1 Sorok száma szerint Hurok
CellValue = Lap. Cellák (Sorszám, Oszlopszám). érték;
EndCycle;

// —— 2. LEHETŐSÉG ——
Sorszám = 0 ;
Míg a True Loop
LineNumber = Sorszám + 1 ;
CellValue = Lap. Cellák (Sorszám, Oszlopszám). érték;
Ha NEM ValueFilled(CellValue) Akkor
elvetél;
EndIf;
EndCycle;

Ahelyett, hogy egymás után végigmenne a lap összes vonalán, megteheti kiírja az összes adatot egy tömbbeés dolgozz vele. Ez a megközelítés gyorsabb lesz, ha nagy mennyiségű adatot olvas:

TotalColumns = Lap. Sejtek (1, 1). SpecialCells(11 ). Oszlop;
TotalRows = Lap. Sejtek (1, 1). SpecialCells(11 ). Sor;

Vidék = Lap. Tartomány(Lap. Cellák(1 , 1 ), List. Cells(Összes sor, Összes oszlop));
Adat = Terület. érték. kirak();

Az alábbi táblázat felsorolja a legkeresettebb tulajdonságokat és módszereket az Excel OLE-n keresztüli használatához:

Akció Kód Egy komment
Munka az alkalmazással
Alkalmazásablak láthatóságának beállítása Excel . látható= hamis;
A figyelmeztetés megjelenítési módjának beállítása (megjelenítés/nem kijelzés) Excel . Display Alerts= hamis;
Az alkalmazás bezárása Excel . Kilépés();
Munka könyvvel
Hozzon létre egy új könyvet Könyv = Excel. munkafüzetek. Hozzáadás();
Meglévő munkafüzet megnyitása Könyv = Excel. munkafüzetek. Open(Fájlnév);
Könyv mentése Könyv . Mentés másként(fájlnév);
könyvzárás Könyv . Bezárás(0);
Lappal dolgozni
Az aktuális lap beállítása Lap = Könyv. Munkalapok (SheetNumber);
Névbeállítás Lap . Név = Név;
Védelem beállítása Lap . Védje();
Védelem eltávolítása Lap . Védelem megszüntetése();
Az oldal tájolásának beállítása Lap . Oldal beállítása. Tájolás = 2; 1 - álló, 2 - fekvő
A bal oldali szegély beállítása Lap . Oldal beállítása. LeftMargin = Excel. Centimeters To Points (centiméter);
A felső határ beállítása Lap . Oldal beállítása. TopMargin = Excel. Centimeters To Points (centiméter);
A megfelelő szegély beállítása Lap . Oldal beállítása. RightMargin = Excel. Centimeters To Points (centiméter);
Az alsó határ beállítása Lap . Oldal beállítása. BottomMargin = Excel. Centimeters To Points (centiméter);
Munka sorokkal, oszlopokkal, cellákkal
Az oszlop szélességének beállítása Lap . Oszlopok(Oszlopszám). ColumnWidth = Szélesség;
Egy vonal eltávolítása Lap . Sorok(RowNumber). Töröl();
Oszlop törlése Lap . Oszlopok(Oszlopszám). töröl();
Egy cella törlése Lap . Cellák (Sorszám, Oszlopszám). Töröl();
Érték beállítása Lap . Cellák (Sorszám, Oszlopszám). Érték = Érték;
Cellák egyesítése Lap . Tartomány(Lap. Cellák(Sorszám, Oszlopszám), Lap. Cellák(Sorszám1, Oszlopszám1)). Összeolvad();
A betűtípus telepítése Lap . Cellák (Sorszám, Oszlopszám). Betűtípus. Név = FontName;
A betűméret beállítása Lap . Cellák (Sorszám, Oszlopszám). Betűtípus. Méret = FontSize;
Félkövér betűtípus beállítása Lap . Cellák (Sorszám, Oszlopszám). Betűtípus. Bátor = 1 ; 1 — félkövér betűtípus, 0 — normál
Dőlt betű beállítása Lap . Cellák (Sorszám, Oszlopszám). Betűtípus. Dőlt = 1 ; 1 - dőlt, 0 - normál
Aláhúzott betűtípus beállítása Lap . Cellák (Sorszám, Oszlopszám). Betűtípus. Aláhúzás = 2 ; 2 - aláhúzva, 1 - nem

Annak érdekében, hogy megtudja, melyik tulajdonságot kell megváltoztatni, vagy melyik metódust kell meghívni, használhatja makrók Excel. Ha rögzít egy makrót a szükséges műveletekkel, akkor a programkódot megtekintheti a rögzített makró VBA-jában.

COMSafeArray használata

Ha nagy mennyiségű adatot tölt ki az 1C-ből az Excelbe, az objektumot felgyorsíthatja COMSafeArray. A szintaxissegítő definíciója szerint a COMSafeArray egy objektumburkoló többdimenziós tömb SafeArray a COM-tól. Lehetővé teszi a SafeArray létrehozását és használatát a COM-objektumok közötti adatcseréhez. Egyszerűen fogalmazva, ez egy olyan értéktömb, amely az OLE technológiát használó alkalmazások közötti cserére használható.

// COMSafeArray létrehozása
ArrayCom = Új COMSafeArray("VT_Variant", TotalColumns, TotalRows);
// A COMSafeArray feltöltése
Mert Str = 0 sor összesen – 1 hurok
Mert Szám = 0 összesen oszlop – 1 ciklus
ArrayCom . SetValue(szám, Str, érték);
EndCycle;
EndCycle;
// Lapterület hozzárendelése excel értékeket a COMSafeArray-ből
Lap . Tartomány(Lap. Cellák(1 , 1 ), List. Cells(Összes sor, Összes oszlop)). Érték = ArrayCom;

Csere ADO-n keresztül

Az ADO-n keresztül cserélt Excel-fájl egy olyan adatbázis, amely SQL-lekérdezésekkel érhető el. Az MS Excel telepítése nem szükséges, de egy ODBC illesztőprogram szükséges, amelyen keresztül történik a hozzáférés. A használt ODBC illesztőprogramot a fájl kapcsolati karakterláncának megadása határozza meg. Általában a szükséges illesztőprogram már telepítve van a számítógépen.

Az ADO-n keresztüli csere észrevehetően gyorsabb, mint az OLE-n keresztüli csere, de kirakodáskor nincs mód az Excel funkcionalitására cellák díszítésére, oldalak jelölésére, képletek beállítására stb.

Példa kirakodás:


Kapcsolat = Új COMObject("ADODB.Kapcsolat");


Összetett . ConnectionString="

|DataSource=" + Fájlnév + ";
;
Összetett . nyisd ki(); // Kapcsolat megnyitása

// Hozzon létre egy COM objektumot a parancshoz
Parancs = Új COMObject("ADODB.Command");
Csapat

// Parancsszöveg hozzárendelése táblázat létrehozásához
Csapat . parancsszöveg= "TÁBLÁZAT LÉTREHOZÁSA [1. lap] (1. oszlop char(255), 2. oszlop dátuma, 3. oszlop int, 4. oszlop lebegés)";
Csapat . végrehajt(); // Parancsvégrehajtás

// Parancsszöveg hozzárendelése táblázatsor hozzáadásához
Csapat . parancsszöveg= "INSERT INTO [Sheet1] (1. oszlop, 2. oszlop, 3. oszlop, 4. oszlop) értékek ('abvgdeo', '2017-08-11', '12345', '12345,6789')";
Command.Execute(); // Parancsvégrehajtás

// A parancs törlése és a kapcsolat bezárása
parancs = undefined;
Összetett . Bezárás();
Kapcsolat = Undefined;

Új lap létrehozásához és szerkezetének kialakításához használhatja az objektumokat ADOX.KatalógusÉs ADOX.Táblázat. Ebben az esetben a kód így fog kinézni:

// Hozzon létre egy COM objektumot a könyvvel való együttműködéshez
Könyv = Új COMObject("ADOX.Katalógus");
Könyv . ActiveConnection = Kapcsolat;

// Hozzon létre egy COM-objektumot, amely a munkalap adatstruktúrájával működik
Táblázat = Új COMObject("ADOX.Tábla");
asztal . Név = "1. lap" ;
asztal . Oszlopok. Append("Oszlop1" , 202 );
asztal . Oszlopok. Append("2. oszlop" , 7 );
asztal . Oszlopok. Append("Oszlop3" , 5 );
asztal . Oszlopok. Append("4. oszlop" , 5 );

// Hozzon létre egy lapot a könyvben a leírt szerkezettel
Könyv . táblázatok. hozzáfűz(tábla);
táblázat = undefined;
könyv = undefined;

A fenti példában a módszerben

asztal . Oszlopok. Mellékel("1. oszlop", 202);

a második paraméter az oszlop típusát adja meg. A paraméter nem kötelező, itt van néhány oszloptípus érték:

  • 5-adDouble;
  • 6 - adCurrency;
  • 7 - addDate;
  • 11 - adBoolean;
  • 202 - adVarWChar;
  • 203-adLongVarWChar.

Példa olvasás:

// Hozzon létre egy COM objektumot a kapcsolathoz
Kapcsolat = Új COMObject("ADODB.Kapcsolat");

// Kapcsolódási karakterlánc beállítása
Összetett . ConnectionString="
|Provider=Microsoft.ACE.OLEDB.12.0;
|DataSource=" + Fájlnév + ";
|Extended Properties=""Excel 12.0 XML;HDR=IGEN"";";
Összetett . nyisd ki(); // Kapcsolat megnyitása

// Hozzon létre egy COM objektumot a kijelölés fogadásához
Kijelölés = Új COMObject("ADODB.Rekordkészlet");
RequestText = "SELECT * FROM [Sheet1$]";

// Hajtsa végre a kérést
Minta . Open(QueryText, Connection);

// A kijelölés eredményének megkerülése
Miközben NEM mintavétel. EOF() Hurok
ColumnValue1 = Kijelölés. mezőket. Item ("1. oszlop"). érték ; // Hivatkozás oszlopnév szerint
2. oszlop értéke = kijelölés. mezőket. Tétel(0 ). érték; // Lekérés oszlopindex alapján
Minta . MoveNext();
EndCycle;

Minta . Bezárás();
Minta = undefined;
Összetett . Bezárás();
Kapcsolat = undefined;

A kapcsolati karakterláncban a paraméter HDR meghatározza, hogy a lap első sora hogyan lesz érzékelve. Lehetséges opciók:

  • IGEN – az első sort az oszlopok neveként érzékeli. Az értékek név és oszlopindex alapján érhetők el.
  • NEM – Az első sor adatnak minősül. Az értékek csak oszlopindex segítségével érhetők el.

A megadott példákban csak néhány ADO objektumot vettünk figyelembe. Az ADO objektummodell a következő objektumokból áll:

  • kapcsolat;
  • parancs;
  • rekordkészlet;
  • rekord;
  • mezők;
  • Folyam;
  • hibák;
  • paraméterek;
  • tulajdonságait.

Feltöltés programozás nélkül

Az adatok 1C-ből Excelbe történő mentéséhez nem mindig tanácsos programozáshoz folyamodni. Ha Vállalati módban a felhasználó meg tudja jeleníteni a feltöltéshez szükséges adatokat, akkor ezek programozás nélkül is elmenthetők Excelbe.

Táblázat-dokumentum (például egy jelentés eredményének) mentéséhez meghívhatja a parancsot Megment vagy Mentés másként… főmenü.

A megnyíló ablakban ki kell választani a mentett fájl könyvtárát, nevét és formátumát.

A dinamikus listák (például egy elemlista) adatainak mentéséhez a következőket kell tennie:

  1. Az adatokat a paranccsal egy táblázatba írja ki Tovább ⇒ Lista megjelenítése...;
  2. Mentse el a táblázatkezelő dokumentumot a kívánt formátumban.

Konfiguráció: 1c számvitel

Konfigurációs verzió: 3.0.44.177

Megjelenés dátuma: 20.01.2017

Az 1C: Számviteli programban lehetővé vált az adatok rendszeres feltöltése és letöltése Excel táblázatos dokumentumokból, harmadik féltől származó feldolgozás és konfigurációs változtatások nélkül. A be- és kirakodás olyan egyszerű, hogy a tapasztalt felhasználók gyorsan beleszeretnek ebbe a kényelmes mechanizmusba, az új felhasználók pedig gyorsan elsajátítják.

Betöltés Excel 1C-ből: Számvitel 8.3 ed. 3.0

Például van egy ilyen Excel táblázatos dokumentumunk a cikkek és árak listájának betöltésére (kiskereskedelem és vásárlás).

Bejön.

Nyomja meg a tetején Nómenklatúra és árak - Letöltés. Itt van elrejtve a táblázatos dokumentumok be- és kirakodása.

A letöltés támogatja az xls (excel 97-2003 régi formátum) és az xlsx (új formátum), valamint az mxl és ods formátumokat. Most kiválasztjuk a fájlunkat a nómenklatúrával, és várjuk a letöltést.

A táblázatkezelő dokumentum az Excelben látott formában betöltődött, most hozzárendeljük az oszlopokat és eltávolítjuk a felesleget.

Kattintson Adja meg a kellékeketés válassza ki a kívánt elemet a listából.

Válassza ki a felesleges bejegyzéseket tartalmazó sort, nevezetesen a táblázat fejlécét, és nyomja meg a gombot Sor törlése.

Most eltávolítjuk a vételár oszlopot, vegye figyelembe feldolgozás 1n alkalommal csak 1 típusú árat képes kitölteni!!! Ezután megismételheti ezt a műveletet, és betöltheti a 2. típusú árat, az 1. terheléshez Kiskereskedelmi a 2. vásárláshoz.

Töltse ki az üres adatokat, Ár típusa, Állítsa be az árakat. Az Összes, Talált, Új, Ismétlődő gombok nagyban megkönnyítik a keresést és segítik a nómenklatúra összehasonlítását. Töltse ki és kattintson Letöltés amely után az adatok betöltődnek az 1C: Könyvelésbe.

Új pozíciók jelentek meg a cikklistában, kitöltve és hozzárendelt árakkal. Ha másik ártípust kell betöltenie, hajtsa végre újra az összes lépést, de válasszon egy másik árú oszlopot, az 1C megkeresi a már létrehozott pozíciókat, és nem próbálja meg megkettőzni, hanem egyszerűen hozzáad egy új ártípust.

Mint látható, a letöltés 2 cikk árbeállítási dokumentumot hozott létre, a Vételi árhoz és a Kiskereskedelmi árhoz. A különbség a feldolgozás között Letöltés Excelből 1C-be: Számvitel 8.3, Az a tény, hogy ez rendszeres feldolgozás, és hiba nélkül működik, figyelembe véve a dokumentum kitöltésének összes jellemzőjét.

Feltöltés Excelbe 1C-ből: Számvitel 8.3 kiadás. 3.0

Nagyon hasznos funkció A 3.0.44.177-es és újabb verziókban az 1C: Accounting 8.3-ból exportálják az Excelt, ez a feldolgozás segít létrehozni egy vállalati árlistát, vagy azonnal átadni a cikklistát a szállítóknak vagy a vevőknek az árakkal együtt.

Minden benne van az útmutatóban. Nómenklatúra - Nómenklatúra és árak - Feltöltés.

Pontban hangszórók, válassza ki azokat az oszlopokat, amelyeket be kell építeni az Excel dokumentumba. Kiválasztás a nómenklatúra csoportok, tulajdonságok, nevek stb. szerinti kiválasztására szolgál.

Az excelbe való feltöltéshez egy új oszlopot adunk hozzá, mégpedig az ÁFA kulcsot, úgy tűnik, nem igazán szükséges, de gyakoroljuk.

Eszik különböző módokon 1C-ben nyitni Excel fájlés fordítva. A kezdő felhasználók előnyben részesítik az egyszerűbb műveleteket, ha a dokumentumot más formátumba mentik vagy használnak speciális programok. De megér egy kis erőfeszítést és megtanulni, hogyan kell vele dolgozni szoftver eszközök adatok megtekintéséhez és feldolgozásához egyik programból a másikba. A jövőben ezek az alapvető programozási ismeretek lehetővé teszik a rutinfeladatok elkerülését.

Hogyan lehet megnyitni az Excel dokumentumokat 1C-ben és fordítva

A Microsoft Excel táblázatkezelője a funkcionalitás teljességét tekintve felülmúlja az 1C számviteli szoftvertermékeket. Ezért az 1C felhasználók szívesebben hajtanak végre néhány műveletet egy táblázatszerkesztőben, majd visszaküldik az adatokat a könyvelő programba. És ez nem meglepő, mert korábban sok cég könyvelését kizárólag Microsoft programok segítségével végezték. A vállalkozások üzleti folyamatainak automatizálásának jelenlegi szintjével azonban lehetetlen megtagadni a speciális programokat. A különböző alkalmazások közötti kommunikáció létrehozásához a következő egyszerű módszerek állnak rendelkezésre:

    Ha olyan szoftvertermék fájlokkal kell megküzdenie, amelyek nincsenek telepítve a jelenlegi számítógépére, a legegyszerűbb módja annak, hogy használja speciális alkalmazás az Excel táblázatok 1C formátumba konvertálásához és fordítva. Megtalálható az 1C termék weboldalán.

    Ha a számítógépen 1C és Excel is található, akkor manuálisan megnyithatja a fájlt a "natív" alkalmazásban, majd mentheti egy másik program formátumában. Ez a lehetőség általában mentéskor érhető el nyomtatott formában vagy elrendezés.

    Az 1C 7.7 felhasználói frissíthetnek az 1C 8 verzióra, amely továbbfejlesztett táblázatszerkesztővel rendelkezik.

Hogyan tud együttműködni az 1C és az Excel programozottan

Az 1C és az Excel közötti interakció programszinten hajtható végre a Microsoft által kifejlesztett OLE Automation technológia segítségével. Lehetővé teszi a COM-objektumok közvetlen elérését különféle programok script értelmezőiből. Egyszerűen fogalmazva, az OLE lehetővé teszi bizonyos munkák átvitelét egyik programból a másikba, majd az elvégzett munkát visszaküldi az eredeti alkalmazáshoz. Pontosan erre van szüksége a könyvelőknek a Microsoft Spreadsheet Editor alkalmazásból.

Nem kell programozónak lenned az OLE eszközök használatához. Bár a kódsorokkal való első ismerkedést hibák kísérik, az ellenőrzés segít ezek azonosításában, a megszerzett tapasztalatok pedig segítenek elkerülni őket a jövőben. Az alábbiakban felsoroljuk a legnépszerűbb parancsokat (ezeket listáknak nevezik), amelyek segítségével az Excel-adatokkal dolgozhat a számviteli programokban és fordítva.

Hogyan lehet programozottan megnyitni egy Excel fájlt 1C-ben

Tehát, ha mindkét program telepítve van a számítógépére, amelyek között adatcserét kíván létrehozni, akkor az interakciót programozottan megszervezheti. Ehhez mindkét alkalmazást le kell futtatnia, majd az OLE segítségével hozzáférést kell biztosítania az 1C-től az Excelhez:

  • Kivétel

    Report(ErrorDescription() + "Az Excel nincs telepítve erre a számítógépre!");

  • EndTry.

A táblázatszerkesztő elérése megtörtént, most a következő parancsok segítségével kell elérnie:

    konkrét dokumentum:

    • Könyv = Excel.WorkBooks.Open(PathToFile)

    • Lap = Book.WorkSheets(SheetNumber);

  • beleértve egy adott lapszámmal:

    beleértve egy konkrét lapnévvel:

    • Lap = Book.WorkSheets(Munkalapnév);

    • Érték = Lap.Cellák(Sorszám, Oszlopszám).Érték;

Ha egy fájl első oldaláról szeretne adatokat olvasni, használja a következő listákat:

    Excel = CreateObject("Excel.Application");

    Könyv = Excel.WorkBooks.Open(PathToFile);

    Lap = Book.WorkSheets(1);

    TotalColumns = Sheet.Cells(1,1).SpecialCells(11).Oszlop;

    TotalRows = Sheet.Cells(1,1).SpecialCells(11).Row;

    Sor esetén = 1 Sorok összesített ciklusa szerint

    • Oszlop esetén = 1 az összes oszlophurokkal

      Érték = Rövidített LP(lap.Cellák(sor,oszlop).Érték);

      EndCycle;

    EndCycle;

Ne feledje, hogy a fájl elérési útját teljes egészében meg kell írni. Mentéskor a dokumentumnév nem tartalmazhat olyan karaktereket, mint \, /, :, *, ?, ", >,< и |.

Hogyan lehet programozottan megnyitni egy 1C fájlt az Excel segítségével

Adatok Excelbe írásához a következőket kell tennie:

    vagy nyisson meg egy meglévő dokumentumot:

    • Book = Excel.WorkBooks.Open(PathToFile) - az Excel fájl 1C-ből történő olvasásával analógia szerint;

    vagy adj hozzá egy újat:

    • Könyv = Excel.WorkBooks.Add();

    egy új dokumentumban új lapot hozhat létre:

    • Lap = Book.Sheets.Add();

    és adjunk hozzá egy új értéket a cellához:

    • Lap.Cellák(Sorszám, Oszlopszám).Érték = Érték; (Az értékek OLE használatával történő írásának módszereit részletesen ismertetjük az interneten).

  • Book.SaveAs(PathToFile);

    Kivétel

    Report(ErrorDescription()+"A fájl nincs mentve!");

    EndTry.

Ha végzett a táblázatszerkesztővel, lépjen ki egy speciális paranccsal (Excel.Application.Quit();). Ez a módszer segít megtakarítani a számítógép erőforrásait a további munka során.

Veszélyek az 1C és az Excel közötti adatcsere során

Az 1C-t és az Excelt különböző cégek fejlesztették ki, és eltérő módon kezelik az adatokat. Ezért, amikor táblákat visz át egyik programból a másikba, ne feledje a következő "csapdákat":

    Különféle elválasztók törtszámokban. A Microsoft a decimális számokat vesszővel választja el. Ezért, amikor táblákat visz át egy számviteli programból, ne lepődjön meg a rengeteg dátumon és egyéb zavarokon. Csupán annyi, hogy egy könyvelő programban a törtek jelölésénél egy pont használható, amit a Microsoft táblázatszerkesztője dátumelválasztóként értelmez, és a 15,5-ből május 15. lesz. A számviteli adatok táblázatszerkesztőben való feldolgozásához az elválasztót vesszővel kell helyettesíteni.

    Amikor adatokat visz át az Excelből az 1C-be, előfordulhat, hogy azok az Excel-konstansok, amelyek nem szerepelnek a könyvelőprogramban, nem jelennek meg megfelelően. Ezek megfejtéséhez a táblázatszerkesztő Súgó vagy hibakeresési módba kell lépnie, és ellenőriznie kell a különböző állandók numerikus kifejezését.

Ha nagy mennyiségű adat cseréjét kell létrehoznia, vagy nem tud megszabadulni a hibáktól, forduljon segítségért a Setby szakembereihez. Programszinten segítünk problémái megoldásában és a munkájához szükséges parancsok kezelésében.

Ebben a cikkben két nagyon fontos témát fogunk átgondolni Önnel, az elsőt, a másodikat természetesen adatok feltöltése 1-től excelbe. Meg kell jegyezni, hogy ezek a témák a felhasználók két fő közönségét érdeklik, ezek a következők:

  • Az 1C Enterprise rendszer felhasználói
  • 1C programozók

Az 1C felhasználók általában szeretnének rendelni pl adatátvitel excelből 1s-be sajátos portolási követelményeiknek megfelelően, míg az 1C programozók nagyobb valószínűséggel keresnek néhány magyarázatot vagy kódpéldákat. Ezen megfontolások alapján úgy döntöttünk, hogy az ebben a cikkben közölt információkat két részre osztjuk az 1C felhasználói és programozói számára.

1C betöltés Excelből és kirakás 1C-ből Excelbe egy hétköznapi felhasználó szemével 1C

Nagyon gyakran kiderül, hogy például egy vállalatnak vagy valamilyen cégnek van olyan dokumentációja, amelyet a számítógépen Excel-fájlokban tárolnak. És gyakran a felhasználóknak van kérdése, de hogyan adatok feltöltése vagy letöltése Excelből 1C-be. Természetesen nem nélkülözhetjük a programozási ismereteket, így ha Ön egyszerű felhasználó, akkor tőlünk kell megrendelnie az 1c szolgáltatásokat, mert minden 1c programozónk mindig meghallgatja Önt, kiválaszt egy speciálisan Önnek tervezett megoldást. , és biztosan segíteni fog.

Miért nincs univerzális feldolgozás az adatok Excelből az 1C-be történő betöltésére?

Válaszoljunk erre a kérdésre, és nézzük meg a főbb pontjait:

  1. Minden felhasználónak különböző Excel-fájljai vannak, az adatok, amelyekből az 1C-be szeretne átvinni, természetesen ezek a fájlok eltérő számú sorral és oszloppal rendelkeznek, és eltérő szemantikai terhelést is hordoznak.
  2. Minden felhasználó külön konfigurációval dolgozik, pl. A konfigurációk eltérőek lehetnek, ami az egyik konfigurációban működik, az nem fog működni egy másik konfigurációban frissítés nélkül.
  3. Az Excelből származó adatokat különböző objektumokra kell átvinni, ezért más kódra van szükség, mivel minden felhasználónak saját követelményei vannak.

Ezen okok miatt lehetetlen létrehozni univerzális feldolgozásÁltal adatok betöltése Excelből 1C-be.

Az adatok be- és kitöltése Excelből 1C-be valós fejlesztés példáján

Most pedig vessünk egy pillantást az általánosra hogyan történik az adatok be- és kitöltése az Excelből az 1C-ben, és hogy fog mindez kinézni a kész megoldásban?. Az alábbiakban egy valódi egyéni fejlesztésre mutatunk be példát, valamint az eredeti Excel fájlt.

Ebben a feldolgozásban először ki kell választani az Excel fájlt, majd a "Futtatás" gombra kell kattintani, ami után az Excelből a szükséges adatok betöltődnek a táblázatos részbe. A felhasználónak nincs más dolga, mint az „Átadás a foglaláshoz” gombra kattintani, amely után az adatok átkerült az Excelből az 1C-be.

Adatok feltöltése 1C-ből Excelbe körülbelül ugyanez történik, csak itt az írási feldolgozás bonyolultsága attól függ, hogy milyen adatokat kell kirakni az objektumból. Például megvan a "Nómenklatúra" kézikönyv, és fel akarjuk tölteni magának a cikknek a nevét és ennek a tételnek a mértékegységét, bár maga a tétel sokkal több részletet tartalmazhat, például cikktípus, cikktípus, teljes név stb.

Feldolgozásra van szükségem az adatok Excelből való betöltéséhez és/vagy eltávolításához, mit tegyek?

Nincs más dolga, mint felvenni a telefont és felhívni minket. Ezt követően szakembereink elvégzik az összes szükséges műveletet, hogy Ön pontosan azt kapja, amire szüksége van. Ha sürgős 1c frissítést kell végrehajtania, akkor hívjon minket, szívesen segítünk minden ügyfelünknek!

Adatok betöltése és eltávolítása Excelből 1C-be egy közönséges 1C programozó szemével

Kicsit feljebb sokat adtunk hasznos információ Az 1C felhasználók számára itt az ideje, hogy beszéljünk a kódírás technikai vonatkozásairól, valamint olyan információkat nyújtsunk az 1C programozóknak, amelyek nagyon hasznosak lesznek a kód írásakor. Tekintsük az Excel-lel való munkavégzéshez gyakran használt főbb funkciókat.

Kezdjük azzal, hogyan csatlakoztassuk az Excelt az 1C-hez, ez egy COM objektumon keresztül történik. A kód megfelelő működéséhez az Excelt telepíteni kell a számítógépre, különben semmi sem fog működni:

Miután csatlakoztattuk az Excelt, meg kell nyitnunk szükséges dokumentumot ahonnan az átutalás történik:

Most ki kell választanunk egy excel könyv lapját, a fenti ábrán azt látjuk, hogyan történik egy bizonyos számú lap kiválasztása. A lapszám a "Lapszám" változóban tárolódik:

Egy excel munkafüzet lapjainak számát a "Szám" mező segítségével tudhatjuk meg:

Ahhoz, hogy egy lap nevét egy bizonyos szám alatt kapja meg, hasonló sort kell írnia:

Miután befejeztük az Excellel való munkavégzéshez szükséges összes lépést, a folyamatot le kell zárni. Zárd be, különben lefagy:

Példa egy olyan függvényre, amely egyes cellákat tölt be Excelből 1C-be

Áttekintettük azokat az alapvető eljárásokat és funkciókat, amelyekkel minden 1C programozó találkozik az Excelből az 1C-be való adatok betöltéséhez szükséges feldolgozás írása során. Most ismerkedjünk meg részletesebben azzal a funkcióval, amely beolvassa az Excel fájl egyes celláit.

Úgy gondoljuk, hogy nincs további magyarázat adott kódot nem szükséges megadni, mivel ezeket a funkciókat fent részletesen megvizsgáltuk.

Példa egy függvényre, amely betölti az összes adatot az Excelből egy 1C táblázatos részbe

Olyan függvényt vettünk figyelembe, amely az egyes Excel cellákat jeleníti meg. De mi van akkor, ha egyszerre kell kirakni a teljes excel-lapot, és sorban megkerülni? Itt jön jól az alábbi kód:

Példa egy függvényre, amely adatokat tölt fel az 1C-ből az Excelbe

Fentebb sok érdekes dolgot elemeztünk, de nem érintettünk olyan témát, mint az adatok feltöltése az 1C-ből az Excelbe. Valójában a munka elve itt teljesen ugyanaz, kivéve, hogy programozottan hozunk létre egy új Excel fájlt, és programozottan írjuk le. Nos, ahhoz, hogy értéket írhassunk egy cellába, amint azt valószínűleg már sejtette, a Sheet.Cells (x, y) kifejezést kell a bal oldalra elhelyezni. Az alábbiakban bemutatunk egy példát az adatok 1C-ből Excelbe történő feltöltésére:

A legtöbb szervezet napi gyakorlatában a régimódi módszert alkalmazza a különféle számviteli műveletek nyilvántartására. szoftver excel innen irodai csomag Microsoft. Ez akkor fordul elő, ha egy vállalat a közelmúltban vált át az 1C rendszerre, és a jelentési szakaszok még nem lettek megfelelően hibakeresve, vagy a szállító inkább .xls formátumú pivot tábla formájában szeretne árlistát küldeni. Nem meglepő, hogy gyakran fel kell cserélni a pozíciók kézi megadását automatizált rendszer. Ez jelentősen csökkenti a nómenklatúra-dokumentumok kitöltésének idejét, és csökkenti a hibák számát, amit fontos figyelembe venni, ha több tucat vagy akár több száz tételről van szó.


Meg tudod oldani ezt a problémát különböző utak: egyes szervezetek inkább az informatikai osztályukra bízzák ezt a munkát, mások franchise cégnél dolgozó fejlesztőket alkalmaznak, de ez meglehetősen drága és sok időt vesz igénybe.


Sokkal jövedelmezőbb kiút ebből a helyzetből a megfelelő 1C konfiguráció használata, amely teljesen ingyenesen dolgozza fel az adatokat, és univerzális asszisztenssé válik az 1C dokumentumok és Excel táblázatok integrálásakor.


Ebben a részben segítünk kitalálni, hogyan állíthatja be az adatok betöltését .xls fájlból az 1C:Enterprise 8 alapján az 1C szoftverkonfigurációk egyikébe.


Az 1C: Enterprise 8 professzionális verziójának minden felhasználója már rendelkezik ilyen feldolgozással! Az ITS lemezen!

Típusfeldolgozás„DataFrom Spreadsheet Document.epf betöltése”, amely a következő részben található: „Technológiai támogatás”> „Módszertani támogatás 1C:Enterprise 8”> „Univerzális jelentések és feldolgozás”>

D:1CIts\EXE\EXTREPS\UNIREPS82\UploadFromTableDocument Letöltés


Felhívjuk figyelmét, hogy 2010 februárjától az ITS lemezen ezt a feldolgozást a 8.1-es platformon végzett konfigurációk esetén legyen egy másik szakaszban: „Technológiai támogatás” > „Módszertani támogatás 1C: Enterprise 8” > „1C platform: Enterprise 8.1” > „Univerzális jelentések és feldolgozás” > „Adatok betöltése táblázatos dokumentumból”.

D:1CIts\EXE\EXTREPS\UNIREPS81\UploadFromTableDocument Letöltés


Vannak kezdeti adatok:

  • Árlista Excelben "PriceOnlineKhimSnab.xls" - Microsoft iroda Excel 97-2003 (.xls)
  • Tipikus konfiguráció Enterprise Accounting Edition 2.0, kiadás 2.0.12.2, platform 8.2 (8.2.10.77)
  • Be kell tölteni az 1C-be az Excelből az áruk nevét és az árakat


Az árlistából le kell töltenie a nómenklatúra referenciakönyvét az 1C: Számvitel 8-ban.

Elindítjuk az 1C programot. A feldolgozás megkezdéséhez válassza a "Fájl"> "Megnyitás" menüpontot.

A megnyíló ablakban keresse meg a feldolgozó fájlt

Az ITS lemezen a \1CIts\EXE\EXTREPS\UNIREPS82\UploadFromTableDocument könyvtárban található.

Ha korábban másolta a feldolgozó fájlt a számítógépére, kiválaszthatja azt.


Megnyílik egy ablak


Felhívjuk figyelmét, hogy az adatbetöltés két szakaszban történik: 1. szakasz - a címtárak új elemeinek nevének betöltése és értékeinek beállítása a működés megkezdéséhez szükséges (mértékegység, áfakulcs, termék/szolgáltatás) jel). 2. szakasz - rakodási árak.

Címek betöltése

Állítsa be a "Letöltési módot" - Betöltés a "Könyvtár típusa" könyvtárba - Nómenklatúra

A „Táblázat” lapon

Megnyomjuk az ex1_b01.jpg "Fájl megnyitása" gombot, a megjelenő kiválasztó ablakban megkeressük azt a könyvtárat, amelyben Excelben megvan az az árlista, ahonnan az 1C-be tervezünk adatokat feltölteni.


Előfordulhat, hogy a fájl kezdetben nem jelenik meg. Állítsa be a fájl típusát " Excel lap(*.xls)"


Válassza ki fájlunkat



Megjelennek a nómenklatúra kártya adatai.

Paraméterek beállítása a címek letöltéséhez

Az 1C: Accounting 8. verziójú programban a tételkönyvtárak szerkezeti egységeinek felismerésére szeretnénk felhívni a figyelmet, mert ezen elemek azonosításának egyik kulcspontja a név. Ha kezdetben a pozíciók információs bázis nem töltötték ki, akkor nyomon kell követnie az ismétlődő pozíciókat, és ha vannak, törölnie kell őket.


Nehéz elkerülni a duplikált neveket, különösen azoknak az alkalmazottaknak, akik ezt a fajta feltöltést nem az adatok egyszeri bevitelére használják a listára, hanem az információk szisztematikus feltöltésére automatikus módban.


A dolgot bonyolítja, hogy a munkavállalónak különféle rövidítésekkel és egyéb rövidítésekkel, a név kettős elírásával és a különféle írásjelek használatával kell megküzdenie.


Ismételt használat és a letöltött információk jelentős tömbje esetén javasoljuk, hogy mást használjon szoftver az 1C:Enterprise 8 sorozatból például az 1C:Trade Management 8, 1C:Small Business Management 8 vagy 1C:Complex Automation 8, amelyek a "Cikk" paraméterrel rendelkeznek, amely biztosítja a raktárba betöltött fájlok felismerésének megbízhatóságát. adatkönyvtárakat sorol fel, és kizárja a névmásolásának lehetőségét.


Vonal " Alapegység mérések” - a „Betöltési mód” oszlopban válassza a „Telepítés”, az „Alapértelmezett érték” oszlopban válassza ki a mértékegységet (esetünkben db)


Az "ÁFA kulcs" sor - esetünkben az összes letöltött tételre 18% áfát állítunk be, ehhez a "Letöltési mód" oszlopban válassza a "Beállítás", az "Alapértelmezett érték" oszlopban a "18%" lehetőséget. .


Ha az áruk eltérő áfával érkeznek, ami a letölthető árlista külön oszlopában van feltüntetve, akkor a "Letöltés mód" oszlopban állítsa be a "Keresés" és a megfelelő árlista oszlop sorszámát a "Táblázat bizonylat oszlopában. "

"Szolgáltatás" sor - a "Letöltési mód" oszlopban válassza a "Telepítés", az "Alapértelmezett érték" oszlopban a "Nem" lehetőséget (esetünkben minden pozíció áru).


kérdeztük minimális értékeket az állománylista referenciakönyvének új elemei, amelyek lehetővé teszik a munka megkezdését. A hónap zárásához költségek felosztása, űrlap könyvelés és adóbevallás be kell állítani a "Nómenklatúracsoport" és a "Költségtétel" értékeket, az importált áruk esetében be kell állítani a "Származási ország" és a "Vámáru-nyilatkozat száma", de ez később megtehető csoportos feldolgozással.


Ha most készen áll ezeknek a részleteknek az értékeinek beállítására, akkor adja meg. Kattintson a "Letöltés" gombra a jobb alsó sarokban, kattintson az "Igen" gombra a kérdéshez



Ellenőrizzük az új elemek jelenlétét a készletlista könyvtár megfelelő csoportjában

Nyissa ki a termékkártyát, ellenőrizze az adatok betöltésének helyességét


Ha minden helyes, akkor folytathatja a második szakaszt - az árak betöltését az árlistából az Excelbe.


Ha a jövőben ezt az eljárást kívánja használni az adatok letöltéséhez ugyanazokkal a letöltési beállításokkal, javasoljuk, hogy mentse el az aktuális beállításokat. Ehhez nyomja meg az ex1_b03.jpg "Beállítások mentése" gombot, és egyértelműen nevezze el az aktuális beállítást, például "Terméknevek betöltése az Excel árlistájáról".


A mentett beállítások legközelebbi betöltésekor kattintson az ex1_b03.jpg "Beállítások visszaállítása" gombra, és válassza ki a kívántat a listából.

Árak betöltése

A "Vállalkozás könyvelése" Rev. 2.0-ban az árak beállítása a "Cikkárak beállítása" dokumentum segítségével történik.

Állítsa be a "Betöltési módot" - "Betöltés a táblázatos részhez".

A "Link" mezőben válassza a "Cikk árának beállítása" lehetőséget.


Itt kiválaszthatunk egy meglévő dokumentumot, amelybe új elemeket szeretnénk hozzáadni, vagy létrehozhatunk Újat (ajánlott), a dokumentumban jelezzük, hogy melyik „Ártípust” fogjuk feltölteni (példánkban „Kiskereskedelem”).


Kattintson az „OK” gombra, és egyelőre mentse üres dokumentum. Most válassza ki ezt az új mentett bizonylatot a naplóból a "Link" sorban. mezőben " táblázatos rész"Válassza ki a "Termékek" lehetőséget

Most mennie kell a "Táblázat" fülre

Válassza ki ismét Excelben az árlistánkat, ahonnan a neveket betöltöttük, és most töltjük be az árakat (lásd 5. pont).