Często przedsiębiorstwa równolegle z 1C prowadzą ewidencję w programie Microsoft Excel. Jest to możliwe np. gdy przejście na 1C z innych systemów nastąpiło całkiem niedawno, lub jeśli księgowy w systemie 1C nie ma odpowiednio skonfigurowanych raportów i wygodniej mu jest analizować dane w Excelu, lub może dostawcy wysyłają faktury czy cenniki w plikach Excel (wymiana informacji w formie elektronicznej poprzez pliki Excel jest bardzo powszechna w relacjach między organizacjami). W takich przypadkach pojawia się pytanie o potrzebę zautomatyzowania procesu i pozbycia się użytkowników monotonnego wprowadzania informacji do 1C. Aby napisać odpowiednie przetwarzanie, musisz zwrócić się do programistów 1C, a to jest dodatkowy koszt. Nie wszyscy wiedzą, że 1C od dawna opracował tak bezpłatne uniwersalne przetwarzanie, najważniejsze jest nauczenie się prawidłowego korzystania z niego. A ponieważ główną zasadą naszej firmy jest „Klient płaci tylko za faktycznie wykonaną pracę”, w tym artykule nauczymy Cię całkowicie bezpłatnie, jak korzystać z tego przetwarzania, aby załadować dane z pliku Excel do dowolnego programu 1C na 1C: Enterprise 8.2 i 1C platformy: Enterprise 8.1.

Skąd wziąć przetwarzanie w celu załadowania danych do 1C z programu Excel?

Uniwersalne przetwarzanie z 1C do ładowania danych z programu Excel nazywa się Ładowanie danych z arkusza kalkulacyjnego Document.epf i znajduje się na dysku ITS.

Dla 8.1 E: 1Cits\EXE\EXTREPS\UNIREPS81\UploadFromTableDocument lub pobierz

Za 8,2 E: 1Cits\EXE\EXTREPS\UNIREPS82\UploadFromTableDocument lub pobierz


Jak rozpocząć przetwarzanie w celu załadowania danych do 1C z programu Excel?

Aby rozpocząć przetwarzanie DataLoadFromSpreadsheetDocument.epf należy:
- Uruchom 1C w trybie 1C:Enterprise, czyli otwórz bazę danych, do której zamierzasz przesłać dane;
- Następnie kliknij Plik - Otwórz;

W wyświetlonym oknie wybierz plik LoadDataFromSpreadsheetDocument.epf, wzdłuż ścieżki, gdzie to przetwarzanie ty masz;

Tak wygląda samo przetwarzanie w celu załadowania danych z Excela:

Ładowanie nomenklatury książki referencyjnej z programu Excel

I wreszcie doszliśmy do najważniejszej rzeczy - jak pracować z tym przetwarzaniem. Przetwarzanie to umożliwia pobieranie danych zarówno w katalogach, jak iw dokumentach. W tym artykule opisujemy przykład wypełnienia podręcznika „Nomenklatura”, według ten przykład Dowiesz się, jak samodzielnie przesyłać dowolne katalogi w 1C. Przykład wypełniania dokumentów, na przykład pobieranie cenników w 1C, patrz.
Aby pobrać nomenklaturę, musisz:
- w polu „Typ katalogu” wybierz „Nomenklatura”;



- na karcie „Dokument arkusza kalkulacyjnego” kliknij przycisk „Otwórz plik”, jak pokazano na rysunku;


- w oknie, które się otworzy, wybierz plik, który zamierzasz przesłać, nie zapomnij ustawić właściwego typu pliku, w naszym przypadku „Arkusz Excela(*.xls)”;

Przetwarzanie wypełni tabelaryczną część zakładki „Dokument arkusza kalkulacyjnego”;

Przejdź do zakładki „Ustawienia” i wypełnij następujące dane, jak pokazano na rysunku;

Pole "Pierwszy wiersz danych dokumentu arkusza kalkulacyjnego" - tutaj musisz podać numer wiersza, z którego chcesz załadować dane, w naszym przypadku jest to 2 ;
Pole wyboru „nie twórz nowych elementów” służy do nie wczytywania nowych danych, można je wykorzystać podczas wypełniania dokumentów, aby nowe elementy katalogów, na przykład nomenklatura, nie były tworzone, ale były zastępowane tylko z bazy danych 1C. Ponieważ w naszym przypadku chcemy tylko załadować nowe pozycje, nie zaznaczaj.
Następnie musimy nacisnąć przycisk „Numeracja kolumn” - „Ręczna numeracja kolumn”, pozwoli nam to ręcznie wprowadzić numery kolumn, z których przetwarzanie odczyta dane i automatycznie je podmieni w wymaganych polach.
Teraz wpiszmy numery kolumn:
- w naszym przypadku pola "Nazwa" i "Imię i nazwisko" będą takie same i należy je wypełnić z 3 kolumny, ustawionej 3 w kolumnie „Nr kolumny dokumentu arkusza kalkulacyjnego”, „Tryb ładowania” - „Szukaj”;
- wyłącz linię "Kod", niech 1C sam generuje kody dla towarów;
- "Rodzic" - powiedzmy do przetwarzania, niech załaduje całą załadowaną nomenklaturę do "Nowego folderu", aby uniknąć bałaganu, a w przyszłości w razie potrzeby przeniesiemy ręcznie nomenklaturę do naszych folderów. Jeśli cała załadowana nomenklatura należy do określonego folderu, na przykład „Sprzęt”, można ją tutaj natychmiast określić. „Tryb pobierania” - „Zainstaluj”;
- "Podstawową jednostkę miary", zamontujemy również z istniejących, mamy ten kawałek. „Tryb pobierania” - „Zainstaluj”;
- "Stawka VAT" - będziemy mieli 18%, ustawimy też "Tryb pobierania" - "Instaluj";
- "Komentarz" - nie można zainstalować, ale wypełnimy wartość "Pobierz z Excela 20.09.2012", aby zapisać rodzaj historii tego, co i kiedy pobrałeś, "Tryb pobierania" - "Zainstaluj";
- "Serwis" - "Nie", ponieważ pobieramy produkt, "Tryb pobierania" - "Zainstaluj";
- "Artykuł" - należy wypełnić od 1 kolumny, wstawić 1 w kolumnie „Nr kolumny dokumentu arkusza kalkulacyjnego”, „Tryb ładowania” - „Szukaj”. I najważniejsze zaznacz pole "Pole wyszukiwania", w ten sposób mówimy przetwarzaniu, aby szukało nomenklatury według artykułu, a jeśli jej nie znajdzie, niech utworzy nową. Jeśli nie korzystasz z artykułu, zaznacz pole „Pole wyszukiwania” obok „Nazwa”, ale pamiętaj, że jeśli masz w bazie taką samą nomenklaturę, jak w momencie jej pobrania, różnią się tylko o co najmniej 1 znak, np. , kropka, przecinek lub litera , wówczas przetwarzanie uzna, że ​​są to dwie różne pozycje i utworzy nowy. Przetwarzanie wyszukiwań według nazwy tylko ściśle według dokładnego dopasowania.
Następnie kliknij przycisk „Załaduj” i sprawdź wyniki ładowania podręcznika nomenklatury z programu Excel.

W tym artykule rozważymy z Tobą dwa bardzo ważne tematy, pierwszy to, a drugi to oczywiście wgrywanie danych od 1s do excel. Należy zauważyć, że tematy te interesują dwie główne grupy odbiorców, są to:

  • Użytkownicy systemu 1C Enterprise
  • Programiści 1C

Na przykład użytkownicy 1C zwykle chcą zamówić transfer danych z Excela do 1s zgodnie z ich pewne wymagania do przeniesienia, podczas gdy programiści 1C częściej szukają wyjaśnień lub przykładów kodu. Na podstawie tych rozważań postanowiliśmy podzielić informacje podane w tym artykule na dwie części dla użytkowników i programistów 1C.

Ładowanie 1C z Excela i rozładowywanie z 1C do Excela oczami zwykłego użytkownika 1C

Bardzo często okazuje się, że na przykład przedsiębiorstwo lub jakaś firma posiada dokumentację, która jest przechowywana na komputerze w plikach Excela. I często użytkownicy mają pytanie, ale jak prześlij lub pobierz dane z Excela do 1C. Oczywiście nie można obejść się bez znajomości programowania, więc jeśli jesteś prostym użytkownikiem, musisz zamówić u nas usługi 1c, ponieważ absolutnie każdy z naszych programistów 1c zawsze Cię wysłucha, wybierz specjalnie zaprojektowane rozwiązanie tylko dla Ciebie i na pewno Ci pomoże.

Dlaczego nie ma uniwersalnego przetwarzania do ładowania danych z Excela do 1C?

Odpowiedzmy na to pytanie i spójrzmy na jego główne punkty:

  1. Każdy użytkownik ma inne pliki Excela, dane z których chce przenieść do 1C, oczywiście te pliki mają inną liczbę wierszy i kolumn, a także niosą inny ładunek semantyczny.
  2. Każdy użytkownik pracuje z osobną konfiguracją, tj. konfiguracje mogą być różne, co działa w jednej konfiguracji, nie będzie działać w innej konfiguracji bez aktualizacji.
  3. Dane z Excela muszą być przeniesione do różnych obiektów, dlatego potrzebny jest inny kod, ponieważ każdy użytkownik ma swoje wymagania.

Z tych powodów nie można stworzyć uniwersalnego przetwarzania dla ładowanie danych z Excela do 1C.

Jak dane są ładowane i rozładowywane z Excela do 1C na przykładzie prawdziwego rozwoju

Spójrzmy teraz na generała jak dane są ładowane i rozładowywane z Excela w 1C, a jak to wszystko będzie wyglądało w gotowym rozwiązaniu?. Poniżej przedstawiamy przykład rzeczywistego rozwoju indywidualnego, a także oryginalny plik Excel.

W tym przetwarzaniu najpierw musisz wybrać plik Excel, a następnie kliknąć przycisk „Uruchom”, po czym niezbędne dane z Excela zostaną załadowane do części tabelarycznej. Teraz pozostaje użytkownikowi tylko kliknąć przycisk „Przenieś do księgi”, po czym dane zostaną przeniesione z Excela do 1C.

Przesyłanie danych z 1C do Excela dzieje się podobnie, tylko tutaj złożoność przetwarzania zapisu zależy od tego, jakie dane należy wyładować z obiektu. Na przykład mamy podręcznik „Nomenklatura” i chcemy wgrać nazwę samego przedmiotu i jednostkę miary tego przedmiotu, chociaż sam przedmiot może mieć o wiele więcej szczegółów, takich jak typ przedmiotu, typ przedmiotu, pełny imię itp.

Potrzebuję przetwarzania w celu załadowania i/lub wyładowania danych z Excela, co mam zrobić?

Wystarczy podnieść słuchawkę i zadzwonić do nas. Następnie nasi specjaliści wykonają wszystkie niezbędne czynności, abyś otrzymał dokładnie to, czego potrzebujesz. Jeśli potrzebujesz wykonać pilną aktualizację 1c, zadzwoń do nas, chętnie pomożemy każdemu z naszych klientów!

Ładowanie i rozładowywanie danych z Excela do 1C oczami zwykłego programisty 1C

Trochę wyżej daliśmy dużo przydatna informacja dla użytkowników 1C nadszedł czas, aby porozmawiać o technicznych aspektach pisania kodu, a także podać informacje dla programistów 1C, które będą dla nich bardzo przydatne podczas pisania kodu. Rozważ główne często używane funkcje do pracy z programem Excel.

Zaczniemy od tego, jak połączyć Excel z 1C, odbywa się to za pomocą obiektu COM. Aby ten kod działał poprawnie, na komputerze musi być zainstalowany program Excel, w przeciwnym razie nic nie będzie działać:

Po podłączeniu Excela musimy otworzyć niezbędny dokument, z którego będzie wykonywany przelew:

Teraz musimy wybrać arkusz książki Excela, na powyższym rysunku widzimy, jak wybierany jest arkusz o określonej liczbie. Numer arkusza jest przechowywany w zmiennej "Numer arkusza":

Liczbę arkuszy w skoroszycie programu Excel możemy sprawdzić za pomocą pola „Liczba”:

Aby uzyskać nazwę arkusza pod określoną liczbą, musisz napisać podobną linię:

Po wykonaniu wszystkich kroków do pracy z samym Excelem proces musi zostać zamknięty. Zamknij go, w przeciwnym razie się zawiesi:

Przykład funkcji ładującej poszczególne komórki z Excela do 1C

Przejrzeliśmy podstawowe procedury i funkcje, które każdy programista 1C napotyka podczas pisania przetwarzania w celu ładowania danych z Excela do 1C. Zapoznajmy się teraz bardziej szczegółowo z funkcją, która odczytuje poszczególne komórki pliku Excela.

Uważamy, że nie ma dalszych wyjaśnień na podany kod nie trzeba podawać, ponieważ wszystkie te funkcje zostały szczegółowo omówione powyżej.

Przykład funkcji, która ładuje wszystkie dane z Excela do części tabelarycznej 1C

Rozważaliśmy funkcję wyświetlającą poszczególne komórki Excela. Ale co, jeśli musimy wyładować cały arkusz Excela na raz i ominąć go sekwencyjnie? Tutaj przydaje się poniższy kod:

Przykład funkcji, która przesyła dane z 1C do Excela

Powyżej przeanalizowaliśmy wiele ciekawych rzeczy, ale nie poruszyliśmy takiego tematu, jak przesyłanie danych z 1C do Excela. W rzeczywistości zasada działania jest tutaj prawie dokładnie taka sama, z tym że programowo tworzymy nowy plik Excel i napisz go programowo. Otóż, aby zapisać wartość do komórki, jak zapewne już zgadłeś, musisz umieścić wyrażenie Arkusz.Komórki (x, y) po lewej stronie. Poniżej przedstawiono przykład przesyłania danych z 1C do Excela:

30.06.2010

Podobnie jak w 1C: Trade Management w wersji 10.3, pobierz katalog listy akcji z pliku Excel

Uzyskaj dostęp do chmury 1C: Fresh za darmo przez 30 dni!

Dość często w praktyce zdarzają się sytuacje, w których konieczne jest przesłanie danych do programu 1C z Tabele Excela np. pobrać księgę referencyjną towaru z cennika lub Fakturę z Faktury Dostawcy w formie elektronicznej przesłanej na e-mail.

Potrzeba automatycznej wymiany jest szczególnie istotna, gdy liczba elementów do wprowadzenia to dziesiątki, setki, a nawet tysiące, a ręczne wprowadzanie takiej ilości danych jest dość pracochłonną pracą. Niektórzy muszą pobierać dane tylko raz, gdy zaczynają pracę z programem, inni muszą wprowadzać duże ilości danych przez cały czas ze względu na technologię ich pracy.

Oczywiście w dobie elektronicznego zarządzania dokumentami chcielibyśmy uniknąć tych marnowanych wysiłków i cennego czasu.

W takich przypadkach wiele osób zleca odpowiednie przetwarzanie u własnych etatowych programistów, franczyzobiorców lub zewnętrznych programistów, ale są to dodatkowe koszty i czas.

A jeśli z różnych powodów nie jest to możliwe?

Każdy użytkownik profesjonalnej wersji 1C: Enterprise 8 ma już takie przetwarzanie! Na dysku ITS!

Typowe przetwarzanie „Loading DataFrom Spreadsheet Document.epf”, znajdujące się w sekcji „Wsparcie technologiczne”> „Wsparcie metodologiczne 1C:Enterprise 8”> „Uniwersalne raporty i przetwarzanie”>

Należy pamiętać, że od lutego 2010 r. Na dysku ITS to przetwarzanie konfiguracji na platformie 8.1 znajduje się w innej sekcji: „Wsparcie technologiczne” > „Wsparcie metodologiczne 1C: Enterprise 8” > „Platforma 1C: Enterprise 8.1” > „ Uniwersalne raporty i przetwarzanie” > „Ładowanie danych z dokumentu arkusza kalkulacyjnego”.

Przetwarzanie z samej firmy 1C jest uniwersalne i umożliwia przesyłanie danych do dowolnej konfiguracji na platformie 1C: Enterprise 8, do dowolnych katalogów, dokumentów i rejestrów informacji z *.xls (Excel), *.mxl, *.txt, * dbf.

Możliwości przetwarzania są bardzo duże i w ramach jednego artykułu obejmują wszystko możliwe opcje użycie nie jest możliwe. Rozważ tylko najczęstsze i popularne przykłady:

Przykład 1. Ładowanie książki referencyjnej nomenklatury w 1C: Rachunkowość 8 z cennika w Excelu.
Przykład 2. Ładowanie katalogu listy zapasów w 1C: Trade Management 8 z cennika w Excelu
Przykład 3. Pobieranie katalogu osoby fizyczne w 1C: Zarządzanie wynagrodzeniami i personelem 8 z Excela. (wkrótce)
Przykład 4. Ładowanie faktury w 1C: Trade Management 8 z dokumentu Excel.

  • Cennik w Excelu „CenaOnlineKhimSnab.xls” - Biuro Microsoft Excel 97-2003 (.xls)
  • Typowa konfiguracja zarządzania handlem wersja 10.3, wydanie 10.3.10.4, platforma 8.2 (8.2.10.77)
  • Konieczne jest załadowanie do 1C z Excela nie tylko nazw towarów i cen jak w przykładzie 1, ale także artykułów i kodów kreskowych, przy czym konieczne jest, aby nomenklatura nie była ładowana do jednego katalogu (grupy), ale dystrybuowana przez producentów w podręczniku nomenklatury 1C.

Aby móc pobrać książkę referencyjną nomenklatury z Cennika w 1C: Trade Management 8 z automatycznym podziałem na grupy (producenci), konieczne będzie przygotowanie formularza pliku do przesłania. Będziesz musiał dodać kolumnę wskazującą jednostkę miary (sztuki) i producenta towarów, podczas gdy nazwa producenta w cenniku musi odpowiadać nazwie grupy w katalogu nomenklatury 1C: Trade Management 8 programów.

Korzystamy z typowego przetwarzania „Loading DataFrom SpreadsheetDocument.epf”, które trafia do ITS.

1. Uruchamiamy program 1C

2. Aby rozpocząć przetwarzanie, wybierz pozycję menu "Plik">« otwarty» .

3. W oknie, które zostanie otwarte, znajdź plik przetwarzania, który znajduje się na dysku ITS w katalogu \1CIts\EXE\EXTREPS\UNIREPS82\UploadFromTableDocument

Jeśli wcześniej skopiowałeś plik przetwarzania na swój komputer, możesz go wybrać.

Otworzy się okno

Należy pamiętać, że ładowanie danych będzie odbywać się w trzech etapach:

Scena 1- wczytywanie nazw i ustawianie wartości szczegółów nowych elementów katalogów niezbędnych do rozpoczęcia pracy (jednostka miary, stawka VAT, atrybut produktu/usługi). - pobierz kody kreskowe

Ustaw „Tryb pobierania” - Pobierz do katalogu

„Widok katalogu” - Nomenklatura

5. W zakładce „Dokument arkusza kalkulacyjnego” kliknij przycisk „Otwórz plik”, w wyświetlonym oknie wyboru znajdujemy katalog, w którym mamy cennik w Excelu, z którego planujemy przesłać dane do 1C.

Plik może początkowo nie być wyświetlany. Ustaw typ pliku na „Arkusz Excela (*.xls)”

Wybierz nasz plik

Wyświetlane są szczegóły karty nomenklatury.

8. Ustaw parametry ładowania tytułów

Dla wygody ustaw „Ręczna numeracja kolumn”

Na tym etapie ładujemy tylko te szczegóły, które pozwolą nam rozpocząć pracę z programem, dlatego odznaczamy pola, które nas jeszcze nie interesują

„Pierwszy wiersz danych dokumentu arkusza kalkulacyjnego” - patrzymy na nasz cennik, odrzucamy nagłówek, dane do ładowania zaczynają się od dziewiątego wiersza - umieszczamy „9” (patrz rys. 2 „Cennik”)

„Nie twórz nowych elementów” - NIE zaznaczamy pola, opcja jest potrzebna, jeśli planujemy tylko zmianę istniejących elementów.

Wiersze „Nazwa” i „Pełna nazwa” - ustaw tryb ładowania na „Wyszukaj”, „Nr kolumn dokumentu arkusza kalkulacyjnego” - w naszym cenniku nazwa w trzeciej kolumnie - wpisz „3”

Wiersz „Nadrzędny” - w kolumnie „Tryb ładowania” wybierz „Wyszukaj”, w kolumnie „Nr kolumn dokumentu arkusza kalkulacyjnego” - w naszym cenniku producenci w czwartej kolumnie - wpisz „4”.

Jeśli nie ma potrzeby dystrybucji przez producentów i wszystkie nowe elementy trzeba załadować do jednego folderu, to w kolumnie „Tryb pobierania” wybierz „Instaluj”, w kolumnie „Wartość domyślna” wybierz grupę produktów, do której wczyta dane z cennika.

Linia „Artykuł” - umieść znacznik wyboru w kolumnie „Pole wyszukiwania” (druga kolumna) - program sprawdzi obecność w bazie danych 1C elementu z takim artykułem, a jeśli już istnieje, to nowy element o tej nazwie nie zostanie utworzony. Ustawiamy tryb ładowania "Szukaj", "Nr kolumn dokumentu arkusza kalkulacyjnego" - w naszym cenniku artykuł w drugiej kolumnie - wpisujemy "2"

Wiersz „Podstawowa jednostka miary” - w kolumnie „Tryb ładowania” wybierz „Ustaw”, w kolumnie „Wartość domyślna” wybierz jednostkę miary (w naszym przypadku jednostki)

Wiersz "Waga" - w naszym przypadku produkt NIE jest ważony, więc "Tryb ładowania" wybierz "Ustaw", w kolumnie "Wartość domyślna" wybierz "Nie"

Wiersz "Stawka VAT" - w naszym przypadku ustalamy VAT 18% dla wszystkich pobranych pozycji, w tym celu w kolumnie "Tryb pobierania" wybierz "Ustaw", w kolumnie "Wartość domyślna" wybierz "18%" .

Jeśli towar ma inny podatek VAT, co jest wskazane w osobnej kolumnie cennika do pobrania, to w kolumnie „Tryb pobierania” ustaw „Wyszukaj” i numer odpowiedniej kolumny cennika w „Kolumnie dokumentu arkusza kalkulacyjnego nr. "

Linia "Usługa" - w kolumnie "Tryb pobierania" wybierz "Instaluj", w kolumnie "Wartość domyślna" wybierz "Nie" (w naszym przypadku wszystkie pozycje są towarami).

Wiersz „Typ elementu” - w kolumnie „Tryb ładowania” wybierz „Instaluj”, w kolumnie „Wartość domyślna” wybierz „Produkt”.

Pytaliśmy wartości minimalne nowe elementy księgi giełdowej, które pozwolą Ci rozpocząć pracę.

Jeśli jesteś gotowy, aby teraz ustawić wartości brakujących szczegółów, określ je również.

Kliknij „Pobierz” w prawym dolnym rogu, kliknij „Tak” przy pytaniu

8. Sprawdzamy obecność nowych elementów w odpowiednich grupach księgi referencyjnej nomenklatury.

Na ten moment załadowaliśmy nazwy produktów z cennika w Excelu do podręcznika nomenklatury 1C.

Jak widać, szczegóły „Raporting Unit” i „Remaining Storage Unit” pozostały puste.

Następnym krokiem jest ustalenie tych szczegółów, ponieważ. będą wymagane przy wczytywaniu cen, kodów kreskowych i dalszej pracy.

Istnieją dwie opcje:

Podręcznik.

Te szczegóły są tworzone przez program automatycznie, gdy po raz pierwszy otworzysz i zapiszesz kartę przedmiotu. Jeśli dozwolone instalacja ręczna, możesz pominąć ten krok i przejść bezpośrednio do etapu wczytywania cen. Jeśli nie planujesz pobierać kodów kreskowych, dopuszczalne jest nawet pozostawienie ich bez zmian - przy pierwszym użyciu elementu nomenklatury będziesz musiał otworzyć i zapisać kartę produktu.

Wada: ręczna procedura otwierania i zapisywania może być dość pracochłonna i trwać dość długo przy dużej liczbie elementów katalogu.

Automatyczny.

Możliwe i automatyczne pobieranie jednostki miary, ale jest przeznaczony dla zaawansowanych użytkowników i będzie wymagał podstawowych umiejętności programowania 1C.

Istnieją dwie możliwości: z identyfikacją według artykułu lub nazwy.

Bardziej preferowana jest identyfikacja według artykułu, ale w cenniku może nie być kolumny z artykułami.

Opcja 1. Identyfikacja według artykułu

Wstawiamy „daw” w polu „Nie twórz nowych elementów” i usuwamy „dawki” ze wszystkich linii.

Linia "Artykuł" - zaznacz pole w kolumnie "Pole wyszukiwania" (druga kolumna). Ustawiamy tryb ładowania "Szukaj", "Nr kolumn dokumentu arkusza kalkulacyjnego" - w naszym cenniku artykuł w drugiej kolumnie - wpisujemy "2"

W wierszach „Jednostka raportów” i „Jednostka przechowywania sald” w polu „Tryb wczytywania” wybierz „Oblicz”. W polu „Wyrażenie” piszemy algorytm we wbudowanym języku programowania 1C. Przykładowo nasz specjalista z działu wdrożeń zasugerował w kilka minut następujący kod:

Nomenclature Reference = References.Nomenclature.FindBy Attributes("Artykuł", CurrentData["Artykuł"]); PodstawowaJednostka Miary = Książki referencyjne.Klasyfikator jednostek miary.FindByCode(796); CurrentReference=Referencje.Jednostki miary.Atrybuty FindBy("UnitByClassifier",BasicUnitofMeasurement,NomenclatureReference); If CurrentQuest.Empty() Then FoundUnitObject = References.Units.CreateElement(); FoundUnitObject.Name = Skrócona LP (podstawowa jednostka miary); FoundUnitObject.UnitByClassifier = BaseUnitMeasurement; FoundUnitObject.Współczynnik = 1; FoundUnitObject.Owner = Odniesienie do nomenklatury; Próba FoundUnitObject.Write(); Wynik = FoundUnitObject.Reference; Raport wyjątków("Nie udało się zapisać"); Koniec próby; W przeciwnym razie Wynik = CurrentReference.Reference; EndIf;
// Firma "Online" 2010, www.strona internetowa

Jeżeli planowane jest wielokrotne powtórzenie tej procedury, to do algorytmu należy dodatkowo dodać procedurę weryfikacji, aby wykluczyć ponowne wprowadzenie jednostek miar o tej samej nazwie.

Opcja 2. W przypadku identyfikacji przez Imię

Zaznacz pole "Nie twórz nowych elementów"

Usuwamy „dawki” ze wszystkich linii

Linia "Nazwa" - zaznacz pole w kolumnie "Pole wyszukiwania" (druga kolumna). Ustaw tryb ładowania na "Szukaj", "Nr kolumn dokumentu arkusza kalkulacyjnego" - w naszym cenniku nazwa w trzeciej kolumnie - wpisz "3"

W wierszach „Jednostka raportów” i „Jednostka przechowywania sald” w polu „Tryb wczytywania” wybierz „Oblicz”. W polu „Wyrażenie” piszemy algorytm we wbudowanym języku programowania 1C, na przykład tak:


ReferenceNomenclature = References.Nomenclature.FindByName(CurrentData["Name"]); PodstawowaJednostka Miary = Książki referencyjne.Klasyfikator jednostek miary.FindByCode(796); CurrentReference=Referencje.Jednostki miary.Atrybuty FindBy("UnitByClassifier",BasicUnitofMeasurement,NomenclatureReference); If CurrentQuest.Empty() Then FoundUnitObject = References.Units.CreateElement(); FoundUnitObject.Name = Skrócona LP (podstawowa jednostka miary); FoundUnitObject.UnitByClassifier = BaseUnitMeasurement; FoundUnitObject.Współczynnik = 1; FoundUnitObject.Owner = Odniesienie do nomenklatury; Próba FoundUnitObject.Write(); Wynik = FoundUnitObject.Reference; Raport wyjątków("Nie udało się zapisać"); Koniec próby; W przeciwnym razie Wynik = CurrentReference.Reference; EndIf;
//© Firma "Online" 2010, www.site

9. Otwórz kartę produktu, sprawdź poprawność wczytywania danych

Jeśli wszystko się zgadza, można przejść do drugiego etapu - wczytywania cen z cennika do Excela.

Jeśli planujesz używać tej procedury pobierania danych w przyszłości z tymi samymi ustawieniami pobierania, zalecamy zachowanie bieżących ustawień. Aby to zrobić, kliknij przycisk „Zapisz ustawienia” i wyraźnie nazwij bieżące ustawienie, na przykład „Wczytywanie nazw produktów z cennika. arkusz excel».



W „Zarządzaniu handlem” Rev.10.3 ceny są ustalane za pomocą dokumentu „Ustalanie cen pozycji”.

Używamy tego samego przetwarzania "Loading DataFrom SpreadsheetDocument.epf" z dysku ITS.

11. Ustaw "Tryb ładowania" - "Ładowanie do części tabelarycznej".

Otwiera się dziennik dokumentów „Ustawianie cen towarów”.

Tutaj możesz wybrać istniejący dokument, w którym chcemy dodać nowe elementy, lub utworzyć nowy (zalecane), w dokumencie wskazujemy, który „Typ ceny” wgramy (w naszym przykładzie „Detal”).

Kliknij „OK” i na razie zapisz pusty dokument.

Teraz wybierz ten nowy zapisany dokument z dziennika w wierszu „Link”.

W polu „Część tabelaryczna” wybierz „Produkty”.

13. Zwróć uwagę, że teraz musisz przejść do zakładki „Dokument arkusza kalkulacyjnego” i ponownie wybrać nasz cennik w Excelu, z którego pobraliśmy nazwy, a teraz pobierzemy ceny (patrz paragraf 5).

14. Skonfiguruj opcje rozruchu

Ponownie ustaw "Pierwszy wiersz danych dokumentu arkusza kalkulacyjnego" - tak jak przy wczytywaniu nazw ustaw "9" i "Ręczna numeracja kolumn".

W wierszu „Nomenklatura” ustawiamy tryb ładowania na „Szukaj”, „Nr kolumn dokumentu arkusza kalkulacyjnego” – w naszym przykładzie ustawiamy „3”. Jeżeli wymagana jest identyfikacja po artykule, to w kolumnie „Szukaj według” wybierz „Artykuł”, a w „Numer kolumny dokumentu arkusza kalkulacyjnego” podajemy numer kolumny z artykułami – w naszym przykładzie „2” .

W wierszu „Cena” ustaw tryb ładowania na „Wyszukaj”, „Nr kolumny dokumentu arkusza kalkulacyjnego” - wpisz numer kolumny z cenami, które chcemy wczytać, najpierw wczytamy cenę detaliczną, co oznacza, że wpisz „5”.

W wierszu „Waluta” ustaw tryb pobierania na „Zainstaluj”, wybierz walutę (w przykładzie „ruble”)

W wierszu „Jednostka miary” w polu „Tryb obciążenia” wybierz „Oblicz”. W polu „Wyrażenie” piszemy algorytm we wbudowanym języku programowania 1C. Na przykład ten kod:

W wierszu „Typ ceny” ustaw tryb pobierania na „Instaluj”, wybierz cenę, którą pobierzemy jako „Detal”.

Jeśli w Twoim cenniku ceny towarów podane są w różnych walutach, co jest wskazane w osobnej kolumnie cennika do pobrania, to w kolumnie „Tryb pobierania” ustaw „Wyszukaj” i numer odpowiedniej kolumny cennika w „Nr kolumny dokumentu arkusza kalkulacyjnego”.

W wierszu „Metoda obliczania ceny” ustaw tryb ładowania na „Instaluj”, wybierz „Wg procentowej marży na typie podstawowym”

Kliknij „Pobierz” i odpowiedz „Tak”

15. Otwórz dokument „Ustalanie cen towarów”, do którego zostały wczytane dane (klikając przycisk z obrazem lupy w wierszu „Link”)

16. Sprawdzamy dokument, jeśli wszystko jest w porządku, kliknij „OK”.

Ceny muszą być ustalone.

17. Otwórz katalog listy magazynowej, zaznacz zakładkę „Ceny” na karcie załadowanych pozycji i kliknij przycisk „Odczytaj ponownie aktualne ceny”.

Jeśli wszystko jest w porządku, możesz zacząć wczytywać pozostałe ceny (hurt, zakup itp.). Procedura jest podobna.

Należy pamiętać, że 1C: Trade Management 8 obsługuje obliczanie niektórych cen na podstawie innych. Dlatego prawdopodobnie wystarczy załadować tylko jedną cenę bazową, np. Detal lub odwrotnie Zakup, a dla innych cen określić algorytmy formowania (rabat%, narzut%, zaokrąglenie do znaku itp.).

Jeśli planujesz używać tej procedury pobierania danych w przyszłości z tymi samymi ustawieniami pobierania, zalecamy zachowanie bieżących ustawień. Aby to zrobić, kliknij przycisk „Zapisz ustawienia” i wyraźnie nazwij bieżące ustawienie, na przykład „Załaduj ceny detaliczne z cennika Excel”.


Następnym razem możesz wczytać zapisane ustawienia, klikając przycisk „Przywróć ustawienia” i wybierając z listy to, którego potrzebujesz.


Używamy tego samego przetwarzania „Loading DataFrom SpreadsheetDocument.epf” z dysku ITS.

19. Ustaw "Tryb ładowania" - "Ładowanie do rejestru informacyjnego".
„Typ rejestru” wybierz „Kody kreskowe”.

20. Zwróć uwagę, że teraz musisz przejść do zakładki „Dokument arkusza kalkulacyjnego” i ponownie wybrać nasz cennik w Excelu, z którego załadowaliśmy nazwy i ceny, a teraz wgramy kody kreskowe (patrz paragraf 5).

21. Skonfiguruj opcje rozruchu

Ponownie ustaw parametr "Pierwszy wiersz danych dokumentu arkusza kalkulacyjnego" - ustaw "9" i "Ręczna numeracja kolumn".

Konfiguracja opcji rozruchu

Usuwamy „dawki” ze wszystkich linii, z których jest to możliwe.

W pozostałych wierszach ustaw parametry

W wierszu „Kod kreskowy” ustawiamy tryb ładowania „Wyszukaj”, w kolumnie „Nr kolumn dokumentu arkusza kalkulacyjnego” piszemy jak w naszym cenniku „9”.

W wierszu „Właściciel” w kolumnie „Opis typów” otwórz okno „Edycja typu danych”, ustaw (pozostaw) checkbox tylko w polu „Nomenklatura”. Ustaw tryb pobierania na „Szukaj”. W celu identyfikacji według artykułu w kolumnie „Nr kolumny dokumentu arkusza kalkulacyjnego” wpisujemy numer kolumny, w której artykuły są wskazane w naszym cenniku - tj. „2”. W kolumnie „Szukaj według” ustaw „Artykuł”.

Jeśli w cenniku nie ma kolumny z artykułami, w kolumnie „Wyszukaj według” wybierz „Nazwa”, aw komórce „Nr. Kolumny dokumentu arkusza kalkulacyjnego” wskaż numer kolumny cennika z nazwy.

W wierszu „Typ kodu kreskowego” w kolumnie „Tryb pobierania” wybierz „Zainstaluj”, w kolumnie „Wartość domyślna” wybierz „EAN13”.

W wierszu „Jednostka miary” w polu „Tryb obciążenia” wybierz „Oblicz”. W polu „Wyrażenie” piszemy algorytm we wbudowanym języku programowania 1C. Na przykład ten kod:

ReferenceNomenclature = References.Nomenclature.FindBy Name(CurrentData["Właściciel"]); Wynik=NomenklaturaReference.StandardStorageUnit;

W wierszu „Jakość” w kolumnie „Tryb pobierania” wybierz „Instaluj”, w kolumnie „Wartość domyślna” wybierz „Nowy”.

W wierszach „Charakterystyka nomenklatury”, „Seria nomenklatury”, „Usuń kod” w kolumnie „Tryb ładowania” wybierz „Instaluj”, w kolumnie „Wartość domyślna” pozostaw puste komórki.

Kliknij „Pobierz”

Otwieramy kartę produktu, sprawdzamy obecność kodu kreskowego.

Jeśli planujesz używać tej procedury pobierania danych w przyszłości z tymi samymi ustawieniami pobierania, zalecamy zachowanie bieżących ustawień. W tym celu kliknij przycisk „Zapisz ustawienia” i wyraźnie nazwij bieżące ustawienie, na przykład „Wczytaj kody kreskowe towarów z cennika Excel”.


Następnym razem możesz wczytać zapisane ustawienia, klikając przycisk „Przywróć ustawienia” i wybierając z listy to, którego potrzebujesz.


Życzymy powodzenia!

Konfiguracja: 1c księgowość

Wersja konfiguracji: 3.0.44.177

Data publikacji: 20.01.2017

W programie 1C: Accounting stało się możliwe regularne przesyłanie i pobieranie danych z dokumentów arkusza kalkulacyjnego Excel, bez użycia zmian przetwarzania i konfiguracji przez osoby trzecie. Załadunek i rozładunek jest tak łatwy, że zaawansowani użytkownicy bardzo szybko zakochasz się w tym wygodnym mechanizmie, a nowi użytkownicy szybko go opanują.

Ładowanie z Excela 1C: Rachunkowość 8.3 wyd. 3,0

Na przykład mamy taki dokument arkusza kalkulacyjnego Excel do ładowania listy towarów i cen (sprzedaż detaliczna i zakup).

Wejdź.

Naciśnij u góry Nomenklatura i ceny - Pobierz. W tym miejscu ukryte jest ładowanie i rozładowywanie dokumentów arkusza kalkulacyjnego.

Pobieranie obsługuje formaty xls (stary format Excel 97-2003) i xlsx (nowy format), a także formaty mxl i ods. Teraz wybieramy nasz plik z nomenklaturą i czekamy na pobranie.

Dokument arkusza kalkulacyjnego załadował się do formularza tak, jak widzieliśmy go w Excelu, teraz przypiszemy kolumny i usuniemy nadmiar.

Kliknij Określ rekwizyty i wybierz żądaną pozycję z listy.

Wybierz wiersz, który zawiera niepotrzebne wpisy, a mianowicie nagłówek tabeli i naciśnij Usuń linię.

Teraz usuwamy kolumnę z ceną zakupu, zauważ, że przetwarzanie jest w stanie wypełnić tylko 1 rodzaj ceny za 1 raz!!! Następnie można wykonać tę operację ponownie i wczytać 2 rodzaj ceny, za 1 załadować Detal za 2 zakup.

Uzupełnij puste dane, Typ ceny, Ustaw ceny dla. Przyciski All, Found, New, Duplicates znacznie ułatwią wyszukiwanie i pomogą porównywać nazewnictwo. Wypełnij i kliknij Ściągnij po czym dane zostaną załadowane do 1C: Rachunkowość.

W kartotece pojawiły się nowe pozycje, wypełnione iz przypisanymi cenami. Jeśli potrzebujesz załadować inny rodzaj ceny, wykonaj wszystkie kroki ponownie, ale wybierz kolumnę z inną ceną, 1C odnajdzie już utworzone pozycje i nie będzie próbował ich duplikować, ale po prostu doda nowy rodzaj ceny.

Jak widać, pobranie stworzyło 2 dokumenty ustalające cenę towaru, dla ceny zakupu i dla ceny detalicznej. Różnica między tym przetwarzaniem Pobieranie z Excela do 1C: Księgowość 8.3, Faktem jest, że jest to regularne przetwarzanie i działa bezawaryjnie i biorąc pod uwagę wszystkie cechy wypełniania dokumentu.

Przesyłanie do Excela z 1C: Księgowość 8.3 ed. 3,0

Wysoko użyteczna funkcja w wersji 3.0.44.177 i nowszych to eksport do Excela z 1C: Księgowość 8.3, to przetwarzanie pomoże Ci utworzyć cennik firmy lub natychmiast przenieść listę towarów do dostawców lub kupujących z cenami.

To wszystko jest w przewodniku. Nomenklatura - Nomenklatura i ceny - Prześlij.

W takt głośniki, wybierz te kolumny, które mają być wbudowane Dokument Excel. Wybór służy do wyboru nomenklatury według grup, właściwości, nazw... itd.

Do wgrania do Excela dodamy nową kolumnę, a mianowicie stawkę VAT, wydaje się, że nie jest to konieczne, ale ćwiczymy.

Ta metoda jest prosta. Jego istotą jest to, że obiekt Arkusz kalkulacyjnyDokument ma metody:

  • oparzenie (< ИмяФайла>, < ТипФайлаТаблицы >) wgrać dane do pliku;
  • Czytać (< ИмяФайла>, < СпособЧтенияЗначений >), aby załadować dane z pliku.

Uwaga!

Metoda Write() jest dostępna zarówno na kliencie, jak i na serwerze. Metoda Read() jest dostępna tylko po stronie serwera. Musisz o tym pamiętać
podczas planowania interakcji klient-serwer.

Rozważ przykład zapisywania dokumentu arkusza kalkulacyjnego do pliku. Należy w dowolny sposób utworzyć i wypełnić obiekt TableDocument oraz rozładunek plik jest wykonywany tylko w jednej linii:

TabDoc . Write(FilePath, SpreadsheetDocumentFileType.XLSX);

Tutaj TabDoc- wygenerowany arkusz kalkulacyjny, Ścieżka do pliku- nazwa pliku do przesłania, Arkusz kalkulacyjnyDocumentFileType.XLSX- format utworzony plik. Obsługiwane są następujące formaty programu Excel:

  • XLS95 - format Excel 95;
  • XLS97 - format Excel 97;
  • XLSX to format programu Excel 2007.

TabDoc = Nowy dokument arkusza kalkulacyjnego;
TabDoc . Odczyt(PathToFile, WayToReadSpreadsheetDocumentValues.Value));

Tutaj Ścieżka do pliku- Ścieżka do pobranego pliku Excel. WayToReadValuesSpreadDocument.Value określa sposób interpretacji danych odczytanych z dokumentu źródłowego. Dostępne opcje:

  • Oznaczający;
  • Tekst.

Wymiana przez OLE

Wymiana za pomocą technologii automatyzacji OLE jest prawdopodobnie najczęstszą opcją praca programowa Z Pliki Excel. Pozwala korzystać ze wszystkich funkcji zapewnianych przez Excel, ale jest wolniejszy niż inne metody. Exchange przez OLE wymaga zainstalowania MS Excel:

  • Na komputerze użytkownika końcowego, jeśli wymiana odbywa się po stronie klienta;
  • Na komputerze serwera 1C:Enterprise, jeśli wymiana odbywa się po stronie serwera.

Przykład rozładunek:

// Utwórz obiekt COM
Excel = Nowy COMObject("Excel.Aplikacja");
// Wyłącz ostrzeżenia i pytania
Przewyższać . displayalerts = fałsz;
// Utwórz nową książkę
Książka = Excel. skoroszyty. Dodać();
// Pozycjonowanie na pierwszym arkuszu
Arkusz = Książka. Karty pracy(1);

// Zapisz wartość do komórki
Arkusz . Komórki (numer wiersza, numer kolumny). Wartość = wartość komórki;

// Zapisz plik
Książka . Zapisz jako (nazwa pliku);


Przewyższać . Zrezygnować();
Excel = 0;

Przykłady czytanie:

// -- OPCJA 1 --

// Utwórz obiekt COM
Excel = Nowy COMObject("Excel.Aplikacja");
// Otwarta książka
Książka = Excel. skoroszyty. Otwarty( Ścieżka do pliku );

Arkusz = Książka. Karty pracy(1);

// Zamknij książkę
Książka . Zamknij(0);

// Zamknij Excel i zwolnij pamięć
Przewyższać . Zrezygnować();
Excel = 0;

// -- OPCJA 2 --

// Otwarta książka
Książka = PobierzCOMObject( Ścieżka do pliku );
// Pozycjonowanie na żądanym arkuszu
Arkusz = Książka. Karty pracy(1);

// Odczytaj wartość komórki, zwykle jest to miejsce, w którym znajduje się pętla obejścia komórki
CellValue = Arkusz. Komórki (numer wiersza, numer kolumny). wartość;

// Zamknij książkę
Książka . aplikacja. Qui t();

Do objazd wszystkie wypełnione wiersze arkusza Excel, możesz użyć następujących sztuczek:

// -- OPCJA 1 --
Liczba wierszy = Arkusz. Komórki (1 , 1 ). Komórki Specjalne(11 ). Wiersz;
Dla RowNumber = 1 według liczby wierszy w pętli
CellValue = Arkusz. Komórki (numer wiersza, numer kolumny). wartość;
Zakończ cykl;

// -- OPCJA 2 --
Numer wiersza = 0 ;
Chociaż prawdziwa pętla
NumerLinii = NumerLinii + 1 ;
CellValue = Arkusz. Komórki (numer wiersza, numer kolumny). wartość;
Jeśli NIE ValueFilled(CellValue) Następnie
anulować;
EndIf;
Zakończ cykl;

Zamiast kolejno przechodzić przez wszystkie linie arkusza, możesz: zrzuć wszystkie dane do tablicy i pracować z nim. Takie podejście będzie szybsze przy odczytywaniu dużej ilości danych:

Suma Kolumn = Arkusz. Komórki (1 , 1 ). Komórki Specjalne(11 ). Kolumna;
Suma wierszy = Arkusz. Komórki (1 , 1 ). Komórki Specjalne(11 ). Wiersz;

Region = Arkusz. Zakres(Arkusz. Komórki(1 , 1 ), Lista. Komórki(TotalRows, TotalColumns));
Dane = Region. wartość. rozładować();

W poniższej tabeli wymieniono najbardziej pożądane właściwości i metody pracy z programem Excel za pośrednictwem OLE:

Akcja Kod Komentarz
Praca z aplikacją
Ustawianie widoczności okna aplikacji Przewyższać . widoczny= fałsz;
Ustawianie trybu wyświetlania ostrzeżenia (wyświetlanie/niewyświetlanie) Przewyższać . Wyświetlaj alerty= fałsz;
Zamknięcie aplikacji Przewyższać . Zrezygnować();
Praca z książką
Utwórz nową książkę Książka = Excel. skoroszyty. Dodać();
Otwieranie istniejącego skoroszytu Książka = Excel. skoroszyty. Otwórz (nazwa pliku);
Zapisywanie książki Książka . Zapisz jako (nazwa pliku);
zamknięcie książki Książka . Zamknij(0);
Praca z arkuszem
Ustawianie bieżącego arkusza Arkusz = Książka. Arkusze robocze (numer arkusza);
Ustawienie nazwy Arkusz . Imię = Imię;
Ustawienie ochrony Arkusz . Chronić();
Usunięcie ochrony Arkusz . Odblokuj();
Ustawianie orientacji strony Arkusz . Ustawienia strony. Orientacja = 2; 1 - portret, 2 - krajobraz
Ustawienie lewej granicy Arkusz . Ustawienia strony. LewyMargines = Excel. Centymetry do punktów (centymetry);
Ustawianie górnej granicy Arkusz . Ustawienia strony. GórnyMargin = Excel. Centymetry do punktów (centymetry);
Ustawienie właściwej granicy Arkusz . Ustawienia strony. Prawy Margines = Excel. Centymetry do punktów (centymetry);
Ustawianie dolnej granicy Arkusz . Ustawienia strony. Margines dolny = Excel. Centymetry do punktów (centymetry);
Praca z wierszami, kolumnami, komórkami
Ustawianie szerokości kolumny Arkusz . Kolumny(NumerKolumny). Szerokośćkolumny = Szerokość;
Usuwanie linii Arkusz . Wiersze(NumerWiersza). Usuwać();
Usuwanie kolumny Arkusz . Kolumny(NumerKolumny). kasować();
Usuwanie komórki Arkusz . Komórki (numer wiersza, numer kolumny). Usuwać();
Ustawianie wartości Arkusz . Komórki (numer wiersza, numer kolumny). Wartość = Wartość;
Scalanie komórek Arkusz . Zakres(Arkusz. Komórki(RowNumber, ColumnNumber), Arkusz. Cells(RowNumber1, ColumnNumber1)). Łączyć();
Instalowanie czcionki Arkusz . Komórki (numer wiersza, numer kolumny). Czcionka. Nazwa = Nazwa Czcionki;
Ustawianie rozmiaru czcionki Arkusz . Komórki (numer wiersza, numer kolumny). Czcionka. Rozmiar = Rozmiar czcionki;
Ustawienie czcionki pogrubionej Arkusz . Komórki (numer wiersza, numer kolumny). Czcionka. Pogrubienie = 1 ; 1 - pogrubiony, 0 - normalny
Ustawianie kursywy Arkusz . Komórki (numer wiersza, numer kolumny). Czcionka. italski = 1 ; 1 - kursywa, 0 - normalna
Ustawianie podkreślonej czcionki Arkusz . Komórki (numer wiersza, numer kolumny). Czcionka. Podkreślać = 2 ; 2 - podkreślone, 1 - nie

Aby dowiedzieć się, którą właściwość należy zmienić lub jaką metodę wywołać, możesz użyć makra Przewyższać. Jeśli nagrasz makro z wymaganymi akcjami, zobaczysz kod programowania na nagranym makrze VBA.

Korzystanie z COMSafeArray

Podczas rozładowywania dużych ilości danych z 1C do Excela możesz użyć obiektu, aby przyspieszyć COMSafeArray. Zgodnie z definicją pomocnika składni, COMSafeArray jest opakowaniem obiektu nad tablica wielowymiarowa Bezpieczna tablica z COM. Umożliwia tworzenie i używanie SafeArray do wymiany danych między obiektami COM. Mówiąc najprościej, jest to szereg wartości, które można wykorzystać do wymiany między aplikacjami wykorzystującymi technologię OLE.

// Utwórz COMSafeArray
ArrayCom = Nowy COMSafeArray("VT_Variant", TotalColumns, TotalRows);
// Wypełnij COMSafeArray
Do Str = 0 Suma wierszy - 1 pętla
Do Liczba = 0 wszystkich kolumn - 1 cykl
ArrayCom . SetValue (liczba, znak, wartość);
Zakończ cykl;
Zakończ cykl;
// Przypisanie wartości obszaru arkusza Excel z COMSafeArray
Arkusz . Zakres(Arkusz. Komórki(1 , 1 ), Lista. Komórki(TotalRows, TotalColumns)). Wartość = ArrayCom;

Wymiana przez ADO

Plik Excel, gdy jest wymieniany przez ADO, jest bazą danych, do której można uzyskać dostęp za pomocą zapytań SQL. Instalacja MS Excel nie jest wymagana, ale wymagany jest sterownik ODBC, za pośrednictwem którego będzie realizowany dostęp. Używany sterownik ODBC jest określany przez określenie parametrów połączenia z plikiem. Zwykle wymagany sterownik jest już zainstalowany na komputerze.

Wymiana przez ADO jest zauważalnie szybsza niż wymiana przez OLE, ale podczas rozładowywania nie ma możliwości wykorzystania funkcji Excela do dekorowania komórek, oznaczania stron, ustawiania formuł itp.

Przykład rozładunek:


Połączenie = Nowy COMObject("ADODB.Połączenie");


Mieszanina . Ciąg połączenia = "

|Źródło danych=" + Nazwa pliku + ";
;
Mieszanina . otwarty(); // Otwórz połączenie

// Utwórz obiekt COM dla polecenia
Polecenie = Nowy COMObject("ADODB. Polecenie");
Zespół

// Przypisz tekst polecenia, aby utworzyć tabelę
Zespół . tekst polecenia= „CREATE TABLE [Arkusz1] (kolumna1 znak (255), kolumna2 data, kolumna3 int, kolumna4 liczba zmiennoprzecinkowa)”;
Zespół . wykonać(); // Wykonanie polecenia

// Przypisywanie tekstu polecenia, aby dodać wiersz tabeli
Zespół . tekst polecenia= "WSTAW W [Arkusz1] (Kolumna1, Kolumna2, Kolumna3, Kolumna4) wartości ('abvgdeo', '8/11/2017', '12345', '12345,6789')";
Polecenie.Wykonaj(); // Wykonanie polecenia

// Usunięcie polecenia i zamknięcie połączenia
polecenie = niezdefiniowane;
Mieszanina . blisko();
Połączenie = Niezdefiniowane;

Aby stworzyć nowy arkusz i uformować jego strukturę, możesz użyć obiektów ADOX.Katalog oraz ADOX.Tabela. W takim przypadku kod będzie wyglądał tak:

// Utwórz obiekt COM do pracy z książką
Książka = Nowy obiekt COM("ADOX.Katalog");
Książka . Aktywne Połączenie = Połączenie;

// Utwórz obiekt COM do pracy ze strukturą danych w arkuszu
Tabela = Nowy COMObject("ADOX.Tabela");
Stół . Nazwa = "Arkusz1" ;
Stół . Kolumny. Dołącz("Kolumna1" , 202 );
Stół . Kolumny. Dołącz("Kolumna2" , 7 );
Stół . Kolumny. Dołącz("Kolumna3" , 5 );
Stół . Kolumny. Dołącz("Kolumna4" , 5 );

// Utwórz w książce arkusz o opisanej strukturze
Książka . tabele. dołącz(tabela);
tabela = niezdefiniowana;
książka = nieokreślona;

W powyższym przykładzie w metodzie

Stół . Kolumny. Dodać(„Kolumna 1”, 202);

drugi parametr określa typ kolumny. Parametr jest opcjonalny, oto kilka wartości typu kolumny:

  • 5-adDouble;
  • 6 - adWaluta;
  • 7 - dodajData;
  • 11 - adBoolean;
  • 202 - adVarWChar;
  • 203-adLongVarWChar.

Przykład czytanie:

// Utwórz obiekt COM dla połączenia
Połączenie = Nowy COMObject("ADODB.Połączenie");

// Ustaw parametry połączenia
Mieszanina . Ciąg połączenia = "
|Dostawca=Microsoft.ACE.OLEDB.12.0;
|Źródło danych=" + Nazwa pliku + ";
|Extended Properties=""Excel 12.0 XML;HDR=TAK"";";
Mieszanina . otwarty(); // Otwórz połączenie

// Utwórz obiekt COM, aby otrzymać wybór
Wybór = Nowy COMObject("ADODB.Recordset");
Tekst żądania = "WYBIERZ * Z [Arkusz1$]";

// Wykonaj żądanie
Próbka . Otwórz (tekst zapytania, połączenie);

// Pomiń wynik selekcji
Chociaż NIE próbkowanie. Pętla EOF()
KolumnaWartość1 = Wybór. pola. Pozycja("Kolumna1"). wartość ; // Odwoływanie się po nazwie kolumny
Wartość kolumny 2 = wybór. pola. Pozycja(0 ). wartość; // Pobierz według indeksu kolumny
Próbka . PrzenieśDalej();
Zakończ cykl;

Próbka . blisko();
Próbka = niezdefiniowana;
Mieszanina . blisko();
Połączenie = niezdefiniowane;

W ciągu połączenia parametr HDR określa sposób postrzegania pierwszej linii na arkuszu. Możliwe opcje:

  • TAK - pierwszy wiersz jest postrzegany jako nazwy kolumn. Dostęp do wartości można uzyskać według nazwy i indeksu kolumny.
  • NIE - Pierwsza linia jest traktowana jako dane. Dostęp do wartości można uzyskać tylko za pomocą indeksu kolumny.

W podanych przykładach uwzględniono tylko kilka obiektów ADO. Model obiektowy ADO składa się z następujących obiektów:

  • połączenie;
  • Komenda;
  • zestaw rekordów;
  • nagrywać;
  • pola;
  • Strumień;
  • błędy;
  • parametry;
  • nieruchomości.

Prześlij bez programowania

Aby zapisać dane z 1C do Excela, nie zawsze zaleca się programowanie. Jeżeli w trybie Enterprise użytkownik może wyświetlić dane wymagane do wgrania, to możliwe jest ich zapisanie w Excelu bez programowania.

Aby zapisać dokument arkusza kalkulacyjnego (na przykład wynik raportu), możesz wywołać polecenie Ratować lub Zapisz jako… menu główne.

W oknie, które zostanie otwarte, musisz wybrać katalog, nazwę i format zapisanego pliku.

Aby zapisać dane list dynamicznych (np. kartoteki towarów), należy:

  1. Prześlij dane do arkusza kalkulacyjnego za pomocą polecenia Więcej ⇒ Pokaż listę...;
  2. Zapisz dokument arkusza kalkulacyjnego w wymaganym formacie.