Wszystko o tablicach w 1C: co jest potrzebne i jak z nimi pracować

W programie 1C można tworzyć tablice i korzystać z powiązanych z nimi funkcji. Dzięki temu będziesz mógł zamawiać elementy i odnosić się do nich według indeksu. Aby pracować z kolekcjami wartości, musisz zrozumieć programowanie. W końcu wszystkie dane będą musiały zostać wprowadzone ręcznie - bez interfejsu graficznego, przycisków lub okien dialogowych. Na przykład, aby przekonwertować tablicę na 1C na łańcuch i podzielić go na grupę podłańcuchów, należy użyć operatorów, które są zawarte w składni narzędzia. Aby to zrobić, potrzebujesz przynajmniej ogólnej wiedzy na temat algorytmów.

Użycie tablic w 1C pomaga uporządkować elementy używane w pracy.

Treść

  • 1 O tablicach
  • 2 Tworzenie
  • 3 Funkcje
  • 4 Wyszukaj i sortuj
  • 5 Tabele i listy

O tablicach

To jest programowy zestaw przedmiotów. Służy do:

  • Wybór wartości.
  • Sortowanie Każdej pozycji w tablicy przypisuje się indeks. Ułatwia to wyszukiwanie. Możesz odwoływać się do obiektu, wpisując jego numer.
  • Scal i zapisz wpisy.
  • Rozdzielanie grup, tworzenie podciągów.
  • Tablica sama w sobie jest obiektem. Zmienna zostanie do niej dołączona. Możesz odnieść się do jego poszczególnych części lub użyć go w całości w procedurach.Na przykład można połączyć grupę wartości "Pracownicy działu N" i wpisać tam nazwiska pracowników.

Narysujmy analogię. Wyobraź sobie biblioteczkę. Książki w nim umieszczone są w różnych "komórkach". Jeśli zachowasz zapis, będziesz wiedział, gdzie znajduje się każdy obiekt. I łatwo to zdobyć. Ale jeśli książki, czasopisma i gazety są przypadkowo rozrzucone na stole, poszukiwanie niezbędnych rzeczy zostanie opóźnione. Chociaż nie odzwierciedla wszystkich możliwości unikalnych kolekcji.

Tworzenie

Praca z tablicami 1C rozpoczyna się wraz z ich utworzeniem. Potrzebujesz "miejsca akcji" - pola, w którym wprowadzisz kod.

  1. Otwórz "Konfigurator" ("Konfiguracja").
  2. Kliknij prawym przyciskiem myszy na pozycję "Przetwarzanie".
  3. Wybierz "Dodaj".
  4. Pojawi się podmenu "Processing1". Zaznacz to. Informacja o tym jest wyświetlana w obszarze roboczym.
  5. Na karcie "Podstawowe" wpisz "Nazwa". Powiedz "TestBar".
  6. Otwórz sekcję "Formularze".
  7. Kliknij ikonę lupy.
  8. Zaznacz opcję "Przetwarzanie formularzy".
  9. Kliknij "Zakończ".
  10. Otworzy się okno z trzema ramkami. W prawym górnym rogu przejdź do zakładki "Polecenia".
  11. Ikona w postaci plusa, aby dodać pozycję.
  12. Pojawi się pozycja "Team1". Zaznacz to.
  13. W polu "Nazwa" wpisz nazwę.Na przykład "Wartości testowe". Skopiuj go w "Nagłówku".
  14. W linii "Akcja" kliknij lupę.
  15. Pozycja "Utwórz na kliencie" i "OK".
  16. Oto moduł, w którym możesz wpisać kod.

Aby wyświetlić wynik pośredni, utwórz "przycisk". Dlaczego jest potrzebny w tablicy - zrozumiesz trochę później.

  1. Kliknij kartę "Formularze". Jest na dole.
  2. Kliknij prawym przyciskiem myszy "Panel poleceń".
  3. "Dodaj - przycisk".
  4. Wymyślić dla niej dowolną nazwę. Lub możesz zostawić domyślny.
  5. W polu "Nazwa zespołu" kliknij ikonę wielokropka.
  6. Wybierz "Wartości testowe". Jeśli zespół zostałby nazwany inaczej, będzie inny tytuł.

Teraz możesz zacząć pracę z kolekcjami. Ale nie myśl, że w 1C możesz od razu rozwinąć ciąg znaków do tablicy. Lepiej zacząć od czegoś łatwiejszego. Mimo że wszystkie funkcje są zbiorem operatorów, których należy tylko pamiętać.

  1. Otwórz zakładkę "Moduł".
  2. Tekst, który pojawia się po dwóch ukośnikach (dwa ukośniki - "//") można usunąć. Wygląda to trochę jak "// Wklej treść tresera". To jest wyjaśnienie. Są napisane przez programistów, aby nie pomylić kodu.
  3. Napisz swój tekst pomiędzy operatorami "Procedura" i "EndProcedure".
  4. Teraz utwórz zestaw wartości. Pomyśl o zmiennej, która będzie warunkowo oznaczać. Przypuśćmy, że "FirstMass".
  5. Musi być powiązany z obiektem. Aby to zrobić, wprowadź polecenie "FirstMass = New Array ()". Jest to kolekcja, w której może być nieograniczona liczba elementów. Jeśli masz stały rozmiar, określ go po poleceniu w nawiasach "Nowa tablica (5)". W związku z tym kolekcja dwuwymiarowa będzie wyglądała jak "Nowa tablica (7, 5)". Możesz tworzyć zestawy wielowymiarowe.
  6. Podczas pisania mogą pojawić się podpowiedzi sugerujące odpowiednich operatorów.
  7. Słowa różnią się kolorem. Zmienne mają jeden kolor, funkcje mają inny.
  8. Po każdym poleceniu wpisz średnik ";". Dla wygody zacznij od nowego akapitu.
  9. Przy pustym zestawie nic nie można zrobić. Nie układaj, nie wypakowuj ani nie rozszerzaj łańcucha znaków do tablicy w 1C. Dlatego konieczne jest wstawienie do niego elementów.
  10. Wpisz "FirstMass. Add (Value1);". Następnie "First Massive. Add (Value 2);" i tak dalej.
  11. Obiekty są numerowane od zera. Oznacza to, że zmiennej "Wartość1" zostanie przypisany indeks "0". Możesz wypełnić kolekcję samodzielnie wartością "Value0", aby nie mylić.

Po co to wszystko? I dlaczego ten tajemniczy "przycisk"? Spróbujmy uruchomić prostą funkcję.

  1. Pod kolekcją wpisz polecenie "Report (FirstMass [0]);" W nawiasach kwadratowych znajduje się indeks elementu. To jest adres naszej "Wartości 0".
  2. Sformatuj moduł. To jest sprawdzenie błędu. W dużych blokach można coś zrobić bez niedbałości: nie wstawiaj średnika, zamknij nawias, niepoprawnie zapisz zmienną. Kompilator wskaże to.
  3. Kliknij przycisk w postaci znaku Odtwórz (trójkąt w kółku), aby uruchomić napisany program.
  4. Kliknij "Usługa" i wybierz swój przycisk.
  5. Kliknij go.
  6. Pojawia się napis "Wartość 0". Jest to wynikiem funkcji.

Pokazana jest najprostsza operacja, aby zrozumieć, jak działają tablice. Dzięki nim możesz tworzyć złożone i wielopoziomowe programy. Wyświetlanie obiektów, sortowanie, usuwanie duplikatów, dzielenie na zestaw podciągów, scalanie, dzielenie, wyszukiwanie informacji. Musisz tylko znać operatorów.

Funkcje

Wszystkie dostępne funkcje znajdują się w katalogu programów. Wymieniliśmy kilka, aby pokazać zasadę.

Jak zamienić tablicę 1C w ciąg znaków:

TestMass = New Array (4);
TestMarif [0] = To;
TestMax [1] = Gotowe;
TestMarify [2] = So;
StringTest = ValueStringIntern (TestMarray);
Raport (StringTest);

Wyjdź do "przycisku" i uzyskaj frazę. Może to być część dużego modułu - w tym przypadku operator "Raport" nie jest potrzebny.

Aby rozłożyć łańcuch w tablicy 1C podciągu, potrzebujemy separatora. Etykieta warunkowa, po której tekst zostanie podzielony. Załóżmy, że istnieje słowo "Protokół". I umieściliśmy separator "O". Wprowadź polecenie "TestMax = ExpandStringInMarray (Protocol," O ");" Okazuje się oddzielnie "Pr", "T", "K" i "L". Separator zostanie usunięty. A słowo jest podzielone na kilka podłoży.

Oto jak zastosować go w praktyce. Masz tablicę z nazwiskami pracowników. Podczas wybierania pozycji trzeba automatycznie wypełniać pola "Nazwisko", "Imię" i "Środkowe imię". Aby ta nazwa musiała być podzielona na trzy składniki. Jako separator użyj "spacji".

Zwykle używa się do tego złożonego modułu: pętli z dużą liczbą operatorów. Cykliczne bloki z warunkiem są zbudowane na zasadzie "Jeśli (warunek), to (działanie 1), w przeciwnym razie (działanie 2)". Najpierw program sprawdza, czy warunek jest spełniony.Jeśli tak, uruchamia pierwszą funkcję. Jeśli nie - drugi.

Pętla sprawdza każdy znak w ciągu. Jeśli nie ma separatora, kontynuuje. Jeśli istnieje separator, dodaje on wartość do zestawu podciągów. Mogą być używane inne operatory: na przykład "SkLLP" - skrót niektórych znaków po prawej i lewej stronie linii.

Każdy moduł musi zostać "ukończony", aby narzędzie mogło zakończyć procedurę. W pętli z "If" ta instrukcja to "End If". W cyklu bez warunków - "Koniec cyklu". Każda funkcja musi być oddzielnie ukończona.

Wyszukaj i sortuj

Kolekcje mogą zawierać ogromną ilość danych. Musimy nauczyć się je wyszukiwać i sortować.

Aby uruchomić wyszukiwanie w tablicy w 1C, użyj operatora "Znajdź". Znajdź żądaną wartość i może być wizualnie. Ale jeśli istnieją setki elementów, lepiej jest stworzyć dodatkowy moduł i uruchomić podprogram. Pokażmy przykład prostej funkcji. Ale nadaje się do wszelkich bloków.

ArrayTest = New Array (3);
MassivTest [0] = "Telefon";
MassivTest [1] = "Laptop";
MassivTest [2] = "Komputer";
Indeks = Test masy Znajdź ("Telefon");
Jeśli Indeks jest >> Nieokreślony Następnie
Raport ("Search Completed" + MassivTest [Index]);

I nie zapomnij umieścić "końcowego oświadczenia".

Kolekcja jest złożona na przykład. Stworzyliśmy zestaw trzech wartości. I zrobili mały cykl. Jeśli narzędzie nie znajdzie odpowiedniego elementu, wyświetli komunikat "Nieokreślony". Jeśli ją znajdzie, wyświetli wynik.

Sortowanie tablicy 1C jest po prostu niezbędne podczas pracy z dużymi ilościami danych. Muszą także w jakiś sposób nawigować. Lepiej ustawić je w określonej kolejności. Załóżmy, że masz kolekcję "YourMash". Aby to uporządkować

TestList = Nowa lista wartości;
TestList. LoadValues ​​(YourMass);
TestList.SortValue (DirectionSort.Vozr);
YourMassive = TestList.UploadValues ​​();

Zamiast "Vozr" możesz umieścić "Malejąco". Możesz również przesłać wynik do tabeli wartości:

TestTable = Nowa tabela wartości;
Tabela testowa Kolumny Dodaj ("kolumna");
Kolumna TestTable.Load (YourMassive, "Column");
Tabela testowa Sortowanie ("kolumna malejąca");
YourMassive = Tabela testowa. Rozładuj kolumnę ("kolumna")

Istnieją również złożone metody sortowania: "Bubble", "Fast", "Shaker", "Recursion".Mają wielopoziomowe i długie algorytmy.

Tabele i listy

Informacje mogą być przesyłane między różnymi typami kolekcji. Aby przenieść do tablicy 1C w tabeli wartości:

ArrayPhone = New Array;
ArrayPhone.Add ("Smartphone");
ArrayPhone.Add ("Tablet");
MassivePhone.Add ("Telefon");
Test tabeli = Nowa tabela wartości;
Testowanie tabeli Kolumny Dodaj ("Mobiles");
Test tabeli Dodaj ();
Test tabeli Dodaj ();
Test tabeli Dodaj ();
Testowanie tabeli Pobierz kolumnę (Massive Phone, "Mobile");
Dla każdego wiersza z tabeli testowej
Raport (Stroka.Mobbiki);

Nie zapomnij umieścić na końcu instrukcji zakończenia pętli.

Konwersja tablicy na listę wartości w 1C jest bardzo prosta. Wystarczy tylko zwolnić dane z jednej kolekcji do drugiej.

NewList = New Value List ();
Nowa lista Załaduj wartości (twoja msza);

W programowaniu jeden problem można rozwiązać na różne sposoby. I 1C nie jest wyjątkiem. Liniowe algorytmy, cykle, cykle z warunkiem, cykle z licznikiem. Istnieje wiele opcji. Aby poruszać się po tablicy, potrzebujemy umiejętności w 1C.