Komputery i nowoczesne gadżety

Nasze zadanie jest następujące. Teraz przechowujemy cenę towaru w osobnym rejestrze informacyjnym. Kiedy tworzymy lub zmieniamy dokument Świadczenia Usługi i dodajemy jakąkolwiek pozycję do części tabelarycznej, chcemy, aby na dokumencie od razu została wpisana aktualna cena tej pozycji, uzyskana z rejestru informacyjnego i odpowiadająca dacie dokumentu.

Aby to zrobić, musimy zrobić dwie rzeczy.

Najpierw napisz pewną funkcję, która zwróci aktualną cenę towaru, a następnie wywołaj tę funkcję w momencie dodania towaru do dokumentu i podstaw cenę towaru, którą ta funkcja zwróci do dokumentu.

Ponieważ najprawdopodobniej taka „usługa” będzie nam potrzebna nie tylko w tym dokumencie, ale także w innych dokumentach zawierających nazewnictwo w części tabelarycznej, funkcję tę umieścimy w jakimś „publicznie dostępnym” miejscu – we wspólnym module.

W trybie konfiguratora

Funkcja zwracająca cenę towaru

Najpierw utworzymy funkcję RetailPrice(), która zwróci nam aktualną cenę detaliczną towaru i umieścimy ją w module konfiguracji ogólnej.

Otwórzmy konfigurator, w gałęzi modułów Ogólne Ogólne dodajmy nowy obiekt konfiguracyjny Moduł i nazwijmy go WorkWithDirectories.

Widzimy, że moduł ma domyślnie zaznaczone pole wyboru Serwer. Oznacza to, że instancje tego modułu będą kompilowane tylko po stronie serwera.

Zaznaczmy checkbox Wywołaj serwer, aby procedury eksportu i funkcje tego modułu można było wywołać z poziomu klienta (rys. 9.9).

Umieśćmy w nim następujący tekst (Listing 9.1).

Wyjaśnijmy tę funkcję.

Aby otrzymać cenę detaliczną przekazujemy do funkcji dwa parametry:

CurrentDate jest parametrem typu Date, który definiuje punkt na osi czasu, w którym interesuje nas wartość ceny detalicznej.

W ciele funkcji najpierw tworzymy obiekt pomocniczy Selection.

Jest to struktura zawierająca selekcję według wymiarów rejestrów. Za jego pomocą ustalamy, że interesują nas wpisy do rejestru, w których wymiar rejestru Nomenklatury jest równy referencji do elementu katalogu przekazanej funkcji.

Nazwa klucza struktury („Nomenklatura”) musi odpowiadać nazwie wymiaru rejestru określonej w konfiguratorze, a wartość elementu struktury (Element Nomenklatury) określa wartość wybraną dla tego wymiaru.

W drugiej linii kontaktujemy się z menadżerem rejestru informacji o cenach (Information Registers.Prices) i wykonujemy metodę GetLast(), która zwraca nam wartości zasobu najnowszego rekordu rejestru odpowiadające dacie przekazanej do funkcji ( CurrentDate) i wartości wymiarów rejestru (Selection).

Metoda GetLast zwraca strukturę zawierającą wartości zasobów, które przechowywane są w zmiennej ResourceValues. Ogólnie rzecz biorąc, rejestr może mieć wiele zasobów. W naszym rejestrze znajduje się tylko jeden zasób, ale i tak zwrócona zostanie struktura zawierająca pojedynczy element.

Zatem w kolejnej linijce otrzymamy szukaną przez nas cenę detaliczną, po prostu podając kropką nazwę potrzebnego nam zasobu rejestru (ResourceValues.Price) i zwracając ją po wykonaniu funkcji.

Teraz tę funkcję należy wywołać w pewnym momencie wykonywania dokumentu.

Wywołanie funkcji podczas wyboru towaru i wpisania ceny w dokumencie

Zatem zadanie, które przed nami stoi, jest następujące. Edytując dokument Świadczenia usługi musimy zadbać o to, aby pole Cena zostało wypełnione automatycznie po wybraniu przez użytkownika usługi. Ponadto cenę usługi należy ustalić na podstawie daty powstania dokumentu.


Znajdźmy w konfiguratorze dokument Świadczenie usługi i otwórzmy jego formularz Formularz dokumentu.

Kliknij dwukrotnie element formularza Lista nomenklatury elementów lub kliknij prawym przyciskiem myszy, aby otworzyć jego paletę właściwości (pozycja menu kontekstowego Właściwości). Przewijając listę na koniec, znajdziemy zdarzenie OnChange, które następuje po zmianie wartości pola.

Kliknij przycisk otwierania B z ikoną lupy w polu wprowadzania.

System utworzy szablon procedury obsługi tego zdarzenia w naszym module formularza i otworzy zakładkę Moduł Edytora Formularzy.

Dodajmy do niego następujący tekst (Listing 9.2).

Skomentujmy zawartość modułu obsługi.

Pierwsza linia handlera jest Ci już znana z procedur Lista towarów, ilość przy zmianie i Lista towarów, cena po zmianie. Najpierw pobieramy bieżący wiersz części tabelarycznej dokumentu, ponieważ będziemy go później potrzebować, i zapisujemy go w zmiennej TabularPart Row.

Następnie wywołujemy naszą funkcję RetailPrice() z ogólnego modułu Praca z katalogami.

Jako pierwszy parametr przekazujemy do tej funkcji datę dokumentu, za który musimy uzyskać cenę. Datę dokumentu pobieramy z głównego atrybutu formularza - Object.Date.



Funkcja zwraca ostatnią wartość ceny, którą przypisujemy do pola Cena w bieżącym wierszu części tabelarycznej dokumentu (TabularPartRow.Price).

Należy zauważyć, że sama procedura NomenclatureOnChange() listy pozycji zaczyna działać w module formularza po stronie klienta, ponieważ jest to procedura obsługi interaktywnego zdarzenia formularza. Tworząc szablon dla tej procedury, platforma automatycznie umieściła dyrektywę kompilacji &OnClient przed opisem procedury.

Następnie wywoływana jest funkcja RetailPrice(). Ponieważ tej funkcji nie znajdziemy po stronie klienta, wykonanie zostanie przeniesione do wspólnego modułu Praca z katalogami, który działa na serwerze. Po zakończeniu funkcji kod programu będzie nadal wykonywany na kliencie.

Dlaczego w tym przypadku zastosowano taki „trik”? Dlaczego konieczne było przeniesienie wykonania kodu na serwer?

Faktem jest, że wszelka praca z bazą danych (odczyt danych, zapis) możliwa jest tylko na serwerze. W tym przypadku musieliśmy odczytać najnowsze dane z rejestru informacyjnego dla jakiejś pozycji.

Takie akcje można wykonać tylko na serwerze i jeśli zajrzysz do asystenta składni w celu uzyskania opisu metody GetLast() rejestru informacyjnego, zauważysz, że metoda ta jest dostępna tylko na serwerze, w grubym kliencie i w połączeniu zewnętrznym.

Gruby klient i połączenie zewnętrzne to aplikacje klienckie starszej platformy, które istnieją w celu zapewnienia zgodności ze starszymi rozwiązaniami aplikacyjnymi.

Pracujemy nad zupełnie nowym rozwiązaniem aplikacyjnym, które będzie działać w cienkim kliencie lub kliencie webowym. Dlatego w naszym przypadku, aby pozyskać jakiekolwiek dane z bazy danych, musimy przenieść wykonanie kodu na serwer, otrzymać tam niezbędne dane i zwrócić te dane klientowi. To właśnie zrobiliśmy.

W trybie 1C:Enterprise

Sprawdźmy teraz jak działa nasz dokument.

Uruchommy 1C:Enterprise w trybie debugowania i otwórzmy rejestr informacji o cenach.

W przypadku tranzystora Philips dodajmy nową cenę z inną liczbą (ryc. 9.10).

Otwórzmy teraz dokument Świadczenie usługi nr 1. Jak pamiętacie, w tym dokumencie właśnie „zużyliśmy” jeden taki tranzystor.

Pozostawmy datę dokumentu bez zmian i powtórzmy wybór tranzystora w kolumnie Nomenklatura części tabelarycznej dokumentu. Cena tranzystora zostanie automatycznie ustawiona na dzień 01.07.2009. Jest to najnowsza wartość ceny w dacie dokumentu (ryc. 9.11).

Zmieńmy teraz datę dokumentu na 13.07.2009 i powtórzmy jeszcze raz wybór tranzystora. Zostanie ustalona nowa wartość ceny, najpóźniejsza na tę datę (ryc. 9.12).

Tym samym na dokumencie widnieje cena usługi aktualna w momencie powstania dokumentu.


Pytania kontrolne

1. Do czego służy obiekt konfiguracyjny Rejestru Informacji?

2. Jakie funkcje posiada obiekt konfiguracyjny Rejestru Informacji?

3. Jakie są główne różnice pomiędzy rejestrem informacyjnym a rejestrem akumulacyjnym.

4. Które pola określają klucz unikalności rejestru akumulacji.

5. Czym jest okresowy rejestr informacji, a czym samodzielny rejestr informacji.

6. Jak utworzyć okresowy rejestr informacji.

7. Jaki jest wymiar wiodący rejestru.

8. Jak uzyskać wartości zasobów najnowszych wpisów rejestru za pomocą wbudowanego języka.

Bardzo często podczas pracy w programie 1C trzeba szybko wprowadzić kilka dokumentów lub dodać nowe obiekty do katalogów (rodzaj towaru, organizacja, magazyn, kasa fiskalna itp.). Jednocześnie nie każdy rozumie, jak zautomatyzować wprowadzanie podstawowych wartości, aby podczas ich tworzenia wymagane wartości były od razu wstawiane w pola. W tym artykule powiem Ci, jak to zrobić.
Program 1C posiada mechanizmy, które pozwalają szybko wypełnić wartości szczegółów w dokumentach i podręcznikach. Ze względu na działanie można je podzielić na następujące typy:

  • Podstawienie pojedynczej wartości
  • Zastępowanie wartości przez wybór
  • Wypełnianie szczegółów statystyk
  • Zastąpienie wcześniej wprowadzonych danych
  • Podstawianie wartości za pomocą wzorca
  • Wprowadzanie nowego dokumentu poprzez kopiowanie

Podstawienie pojedynczej wartości, do której użytkownik ma uprawnienia.

Załóżmy, że Twoja organizacja ma trzy magazyny, są one wpisane do bazy danych. Jednocześnie menedżer może sprzedawać towary tylko z jednego. Podczas tworzenia nowego dokumentu magazyn ten zostanie wstawiony automatycznie. Działa to w oparciu o uprawnienia ustawione przez użytkownika. Oznacza to, że wyłączając uprawnienia do obiektów, z którymi użytkownik nie pracuje, można zautomatyzować wprowadzanie danych.

Zastąpienie wartości na podstawie wyboru określonego w formularzu listy.

Jeżeli lista jest ustawiona na selekcję po jakimś szczególe (kasa, rachunek bankowy, magazyn), to szczegół ten zostanie automatycznie uzupełniony w nowym dokumencie. Przykładowo ustawiasz selekcję według kasy w formie listy dokumentów kasowych. Kiedy wystawisz nowy dokument płatniczy, informacja o wybranej kasie zostanie automatycznie pobrana z listy. A ponieważ dla kasy określono organizację, informacje o organizacji zostaną automatycznie wypełnione. Możesz używać selekcji na dowolnej liście dokumentów.

Wypełnianie szczegółów statystyk.

Program 1C prowadzi statystyki dotyczące wprowadzania podstawowych wartości dla każdego użytkownika. Jeśli podczas tworzenia nowego dokumentu dwukrotnie wprowadziłeś tę samą organizację, oddział, magazyn, transakcję handlową itp., program przeanalizuje ostatnio wprowadzone wartości. Tym samym algorytm wypełniania statystycznego automatycznie „dopasowuje się” do każdego użytkownika.
Jeśli użytkownik naruszy ten łańcuch w nowym dokumencie, program to zrozumie i po chwili zacznie podstawiać nowe wartości, ale w pierwszym takim dokumencie wartości nie zostaną podstawione.
Wypełnienie wcześniej wprowadzonych danych przy wyborze wartości innego szczegółu możliwe jest w przypadku wybrania np. umowy handlowej lub kontraktu, w którym wypełnione są wszystkie główne pola (magazyn, harmonogram płatności, ceny itp.). Przy wskazywaniu umowy lub kontraktu w dokumencie dane zostaną uzupełnione według następujących zasad:

zostaną wypełnione wszystkie dane, które zostały określone w umowie lub kontrakcie;

jeżeli w umowie lub kontrakcie nie została określona jakakolwiek wartość (np. podział), wówczas wartość ta zostanie uzupełniona według statystyk. Jeżeli przy wprowadzaniu nowego dokumentu wartości zostały wpisane zgodnie ze statystyką, wówczas zostaną one uzupełnione, jeżeli są one określone w umowie lub kontrakcie.

Podstawianie wartości za pomocą szablonu.

Uwaga, gdy tworzony jest element nowego typu, można określić wartości domyślne, które będą podstawiane w nowe obiekty. Podczas rejestracji nowego towaru dla tego typu towaru wartości te zostaną wpisane automatycznie. Innym przykładem może być automatyczne podstawienie informacji o dziale do dokumentu, jeśli użytkownik sporządzający dokument posiada w karcie użytkownika informację o dziale zdefiniowanym.

Wprowadzanie nowego dokumentu poprzez kopiowanie.

Tutaj wszystko jest proste. Jeżeli użytkownik wprowadził już podobny dokument, można go skopiować i wówczas skorygować zmienione dane. Sprawdź wszystkie szczegóły, zwracając szczególną uwagę na szczegóły takie jak data.

Oto pięć głównych sposobów ułatwienia wprowadzania podobnych dokumentów i księgozbiorów. Koniecznie wykorzystaj je w swojej codziennej pracy

Jak szybko wprowadzić wartość szczegółów w 1C?

Pytanie: Podstawienie kodu w polu 1c


Witam proszę o informację w którym polu mam wstawić procedurę zliczającą ilość dni pomiędzy datami, znalazłem samą procedurę, ale odpowiedź na to pytanie brzmi: nie

Znajdują się tam pola – data zameldowania, data wymeldowania oraz pole ilościowe, w którym powinna spaść różnica pomiędzy dwoma pierwszymi wartościami
Do jakiego zdarzenia dodać procedurę?

Odpowiedź: W zdarzeniu „OnChange” w polu Data wyjazdu:

Pytanie: Automatyczne zastępowanie danych nie działa

Odpowiedź:

Dziękuję wszystkim za odpowiedzi:
1) 1C:Enterprise 8.3 (8.3.4.437), Księgowość dla Ukrainy: wersja 2.0.4.3.
2) Specjalnie dla nsk1C: „Zawsze masz ten zwyczaj patrzenia tam, gdzie nie trzeba, w moim pytaniu nie ma ani słowa o podstawowej stawce VAT - to po pierwsze, po drugie, uważnie przeczytaj dekret zakazujący produktów 1C na Ukrainie i to napisz już swoje przemyślenia..”

Dziękuję za odpowiedź, ale chciałbym wiedzieć dokładniej, gdzie w kodzie jest to ustawione.

Pytanie: Pole wejściowe i Enter na końcu


Zarządzane formularze, praca w kliencie internetowym.
Sytuacja: zaprogramowałem skaner na F7 + kod kreskowy + enter. Próbowałem wielu opcji, ale kodu nie można odczytać za pomocą „ShowValueInput”. Porzuciłem tę opcję.
2. Utworzono formularz z polem wejściowym. Po naciśnięciu klawisza F7 formularz otwiera się, w polu wprowadzania pojawia się kod, należy go wpisać i także go nacisnąć (zaznaczone w polu dokumentu tekstowego). Próbuję przechwycić zdarzenie Koniec wprowadzania tekstu, ale to nie działa, ponieważ... działa po fizycznym naciśnięciu klawisza Enter na klawiaturze. Impreza AutoFit nie jest dla mnie najlepszą opcją, bo... Kod kreskowy można wpisać ręcznie i wtedy trzeba wymyślić jakiś ratunek, żeby ominąć małe opóźnienie pomiędzy kliknięciami.
Powiedz mi, proszę, czy są łatwiejsze opcje?

Odpowiedź:() formularz otwiera się, kod zostaje przesłany – zdarzenia nie są przetwarzane

Pytanie: Raport ACS i pole tabeli


Tworzę raport za pomocą ACS. Jak wyświetlić wynik w polu tabeli? Nie w polu w dokumencie arkusza kalkulacyjnego, ale w polu tabeli.

Odpowiedź: Pole dokumentu arkusza kalkulacyjnego to element formularza (w nim wyświetlane są dane) należący do atrybutu dokumentu arkusza kalkulacyjnego (formularza).
Zapisujesz wartość w dokumencie arkusza kalkulacyjnego, a pole Dokument arkusza kalkulacyjnego wyświetla tę wartość.
Jak mogę tam zapisać wartość?

Pytanie: Skupienie się na polu działa dziwnie


Samodzielnie napisana konfiguracja w 1C (8.3.8.2088), zarządzane formularze, interfejs taksówek.

Dołączam zdarzenie OnChange do pola za pomocą następującego kodu:

1C
1 2 3 4 Przetwarzanie Standardowe = Fałsz; SelectionData = NewValueList; Dane wyboru. Dodaj(Numer Obiektu) ;

Umieszczam kod na końcu wprowadzania tekstu

Wszystko działa, ale jakoś jest krzywo.

Element otrzymuje ostrość, ale jakoś tylko o połowę, co widać na obrazku:

Stało się po kodzie:

Oznacza to, że żółta ramka i wzór pola zniknęły. Działa, ale nie jest ładny, przyciąga wzrok.

Odpowiedź: Krótko mówiąc, gdy liczba się zmieni, pojawi się formularz z literami, w którym osoba wpisuje przyczynę zmiany, jeśli osoba po prostu zamknie formularz, wówczas zwracana jest stara wartość, a fokus pozostaje w polu. Czy są jakieś inne pomysły, jak najlepiej to zrobić?

Pytanie: Pole tabeli formularza


Dobry dzień.
Istnieje standardowy formularz wyboru artykułu (ut11), który nie wyświetla nazwy, a jedynie numer artykułu!

Próbowałem przywrócić standardowe ustawienia formularza - bezskutecznie, pole/kolumna nie jest wyświetlana.

Konfigurator:

Na polach panuje hałas. Lista jest ustawiona na „Używaj zawsze”.
Pokazuje to nawet debugowanie funkcji OnFormCreate() i OnOpen().

Elements.ListAdvancedSearchNomenclature.SubendedElements

dostępne, wszystko jest w trybie widoczności i dostępności, nie ma opcji funkcjonalnych!

Próbowałem dodać własne pole z tą samą ścieżką do danych - również się nie pojawia!
Minęła godzina, a pole się nie pojawia. Proszę pomóż

Odpowiedź:

wtedy o! Właśnie udało mi się przeciągnąć pole nazwy do innej grupy i nie stało się ono widoczne,
i na pierwszy przycisk Nie został jeszcze przywrócony, byłem pewien, że ci pomoże.

Pytanie: Jak mogę wyświetlić kod zamiast nazwy podczas wybierania elementu katalogu?


jest zakładka. część zawiera pole typu kataloglink. Jak mogę wyświetlić kod atrybutu zamiast nazwy podczas wybierania elementu w tym polu? (formularze zarządzane)

Odpowiedź: Tklwegsd))) Tak, to jest dokładnie to pytanie

Wiadomość od Polak

Nie możesz po prostu dodać pola Kod do tabeli?

Pytanie: Pole wyboru wyboru w raporcie SKD


Witam państwa, mam pytanie. Chcę wyświetlić w raporcie pole wyboru selekcji, ale coś mnie powstrzymuje, potrzebuję Waszej porady...

Dla pola kontrahenci wprowadzili następujący kod, dokonuje on wewnętrznej selekcji, ale jak wyświetlić Porównanie dla pola po lewej stronie i powiązać je z Użytkownikami?

1C
1 2 3 4 5 6 7 8 9 10 11 Procedura UsersOnChange(Element) Parametr eksportu = ComposerSettings. Ustawienia. Parametry danych. Znajdź wartość parametru(NewDataCompositionParameter("Użytkownicy")); Parametr. Wartość = Użytkownicy; Parametr. Użycie = Prawda; Element wyboru = Kreator ustawień. Ustawienia. Wybór. Elementy. Dodaj(Typ( „Element wyboru kompozycji danych”) ) ; Element wyboru. ComparisonView = DataCompositionComparisonView. Równa się; Element wyboru. LeftValue = NewDataCompositionField( „Odpowiedzialny za żądanie odpowiedzi”) ; Element wyboru. RightValue = Użytkownicy; Koniec procedury

Odpowiedź: Dethmonta, usuwam kod, zostaje tylko system kontroli dostępu i pole wyboru na formularzu - pusty raport...

Dodano po 1 godzinie 50 minutach
Dethmonta, zorientowałem się, dlaczego przy wyborze systemu kontroli dostępu był pusty raport, w żądaniu systemu kontroli dostępu dla użytkowników był warunek - usunąłem go i wszystko zadziałało. Dziękuję za wskazówki)

Pytanie: Czy można zmienić skład pól na liście dynamicznej bez kodu?


Dzień dobry wszystkim. Mam czysty formularz, na nim jest dynamiczna lista z niestandardowym zapytaniem, gdzie znajduje się jedna tabela (katalog, także główna tabela DS), jedno pole Link i charakterystyka.

Pola z charakterystyką można od razu wykorzystać w selekcjach, sortowaniu, projektowaniu i selekcji do grupowania. Wszystko działa. Nie da się jednak po prostu zaznaczyć go jako dodatkowego pola (tak aby pojawiło się obok linku w osobnej kolumnie). Oczywiste jest, że w jakiś sposób wszystko to odbywa się za pomocą kodu, ale naprawdę nie da się tego zrobić bez kodu?
Mnóstwo niestandardowych elementów układu danych, które można umieścić na formularzu, ale nie ma sposobu, aby po prostu dodać pole? A może robię coś złego?

Odpowiedź: Ogólnie rzecz biorąc, niezależnie od tego, jak przekręciłem kolumny w kompozytorze danych, nie mogłem ich dodać (bez kodu). Najprawdopodobniej jest to niemożliwe, ponieważ za kolumny nie odpowiada atrybut formularza ds, ale element formularza, który jest logiczny. Linker kontroluje dane – element formularza – wyświetlanie (w tym kolumny).
Oznacza to, że bez programowego zwiększenia podrzędnych elementów elementu formularza nie będzie można ich zmienić.
Dziękuje za wszystko.

Pytanie: Wpisanie na podstawie pola wiadomości w PW nie jest wypełnione


Koledzy pomóżcie Nietypowe wejście na podstawie dokumentu w ZUP 2.5, komunikat - pole w PM nie jest wypełnione, chociaż jest wypełnione - wpisz Data. Kod w przetwarzaniu wypełnienia.
Jeżeli wprowadzisz dane poprzez formularz, zostanie on zrealizowany...

Odpowiedź: O mój Boże, przeklinał w innym polu - po prostu ta kolumna została ukryta) po wypełnieniu interfejsu jest kopiowana z pola daty początkowej

/
Księgowość dla Ukrainy /
Praca z dokumentami, podręcznikami i raportami

Jak ustawić główną organizację zastępstwa w dokumentach

W tej sekcji opisano, jak skonfigurować organizację podstawową do automatycznego zastępowania w nowych dokumentach.

Instalacja z katalogu

W katalogu organizacji (menu „Przedsiębiorstwo” - „Organizacje”) główna organizacja jest wyróżniona pogrubioną czcionką. Oznacza to, że podczas tworzenia nowych dokumentów będą one wstawiane automatycznie.

Aby inna organizacja stała się główną, musisz wybrać tę organizację na liście i kliknąć przycisk Ustaw główne w panelu poleceń.

Connect Code Preoix Nazwa l w 00000001 do Dobro 000000001 DB Do5ro5ut 00000006 DU Do st eka i instalacja 00000005 NF National S0000001 nsho Nasza organizacja" szerokość="757" wysokość="216" border="0">

NOTATKA
Organizacja podstawowa jest zapisywana w ustawieniach użytkownika. Dla każdego użytkownika główna organizacja jest wskazywana indywidualnie.

Wybór dokumentów według organizacji głównej

W ustawieniach użytkownika (menu „Serwis” - „Ustawienia użytkownika”) możesz ustawić tryb automatycznego wyboru dokumentów dla organizacji głównej. Oznacza to, że wszystkie dzienniki i listy dokumentów będą zawierać wyłącznie dokumenty z organizacji podstawowej.

Wybór dokumentów w dziennikach kontrolowany jest za pomocą flagi Księgowość dla wszystkich organizacji. Po zainstalowaniu w dziennikach wyświetlane są dokumenty wszystkich organizacji. Gdy flaga jest wyczyszczona, w arkuszach wyświetlane są wyłącznie dokumenty organizacji głównej.

W razie potrzeby główną organizację można zmienić bezpośrednio w ustawieniach użytkownika w grupie „Podstawowe wartości do podstawienia w dokumentach i katalogach”.

Zadanie 1. Utworzenie listy rozwijanej

1. Otwórz plik Ex03_1.xlsx.

2. Na kartce Cena Znajduje się tam tabela towarów z cenami.

3. Nazwij asortymenty z nazwą produktu ( Produkt) i cennik ( Tabela) (obrazek 1). Nazwy zakresów są określone w celu ich dalszego wykorzystania w formułach i ułatwienia pracy z zakresami. Nazwę zakresu można ustawić w polu nazwy komórki lub wybrać polecenie z menu kontekstowego Przypisz nazwę(oczywiście w takim czy innym przypadku należy wcześniej wybrać zakres komórek, jak pokazano na rysunku 1).

Obrazek 1

4. Na arkuszu sprzedaży w kolumnie Nazwa produktu utwórz listę rozwijaną i wypełnij ją danymi.

Aby utworzyć listę rozwijaną, musisz zaznaczyć komórki (możesz mieć kilka na raz), w których chcesz uzyskać listę rozwijaną i wybrać na zakładce Dane przycisk Sprawdzanie danych (Rysunek 2).

Rysunek 2

Na pierwszej karcie Opcje z listy rozwijanej Typ danych Wybierz opcję Lista i wpisz w wierszu Źródło= i nazwę zakresu z wymaganymi danymi (tj. =Produkt) (Rysunek 3). Kliknij OK.

Wynik utworzenia listy rozwijanej pokazano na rysunku 4.

Jeśli zestaw wartości w źródle może ulec zmianie, lepiej jest wstawić lub usunąć dane na środku listy.

Rysunek 3

Rysunek 4

Przedstawiamy funkcje DOPASUJ i INDEKS

Funkcje PODAJ i INDEKS służą głównie do automatycznego podstawienia do tabeli danych z zadanego zakresu.

Składnia funkcji

DOPASUJ(wartość_wyszukiwania; tablica; typ_dopasowania)

Szyk to blok składający się z jednej kolumny lub jednego wiersza.

Typ_dopasowania jest liczbą -1, 0 lub 1.

Jeśli typ_dopasowania jest równe 1, to funkcja SZUKAJ znajduje największą wartość mniejszą niż wartość_wyszukiwania lub mu równy. Oglądane szyk należy uporządkować w kolejności rosnącej.

Jeśli typ_dopasowania równa się 0, To Funkcja DOPASUJ znajduje pierwszą wartość, która jest dokładnie równa argumentowi wartość_wyszukiwania. Oglądane szyk może być zaburzony.

Jeśli typ_dopasowania jest równe -1, to funkcja SZUKAJ znajduje najmniejszą wartość, która jest większa niż wartość_wyszukiwania, lub mu równy. Zobacz_tablicę należy uporządkować w kolejności malejącej.

Jeśli typ_dopasowania zostanie pominięty, przyjmuje się, że jest równy 1 .

Funkcjonować SZUKAJ zwraca pozycję szukanej wartości w tablicy, a nie samą wartość.

Funkcjonować INDEKS ma dwie formy. Rozważymy tylko jeden.

INDEKS(tabela; numer_wiersza; numer_kolumny)

Funkcja ta wybiera z prostokątnego bloku (tabeli) element określony numerami wierszy i kolumn, a liczby te są liczone od lewego górnego elementu bloku.

Przyjrzyjmy się działaniu tych funkcji na konkretnych przykładach.

Zadanie 2. Wprowadzenie do funkcji DOPASUJ

Za pomocą funkcji MATCH() określ pozycję produktu o nazwie „Jogurt” w przedziale Produkt. Dla tego:

1. w e-booku Ex03_1.xlsx przejdź do arkusza Cena i umieść kursor arkusza w dowolnej wolnej komórce;

2. wpisz do tej komórki formułę =MATCH("Jogurt";Produkt;0), tj. Za pomocą tej funkcji wskazujemy, że musimy znaleźć element „Jogurt” (wartość tekstowa w funkcjach jest zawsze podawana w cudzysłowie) w zakresie Produkt, typ dopasowania 0 – dopasowanie ścisłe;

3. Naciśnij Enter. W rezultacie powinieneś otrzymać liczbę 7 (rysunek 5).

Rysunek 5

Rzeczywiście, jeśli spojrzeć na zasięg Produkt, wówczas położenie jogurtu odpowiada tej liczbie. Warto pamiętać, że pozycja wartości w tablicy, tj. w danym zakresie, liczonym od początku zakresu. Okazuje się, że jeśli na początku tabeli danych dodamy nowy wiersz, wartość „Jogurt” przesunie się do wiersza nr 8, ale zakres Produkt zaczyna się od wartości „Mleko”, więc od początku zakresu pozycja jogurtu będzie w każdym przypadku odpowiadać cyfrze 7 (Rysunek 6).

Rysunek 6

Należy pamiętać, że wartość funkcji MATCH() można określić albo samą wartość, albo nazwę komórki, w której ta wartość się znajduje. Na przykład wpis =MATCH(A7;Produkt;0) da taki sam wynik, jak w przypadku wpisu =MATCH("Jogurt";Produkt;0).

Zadanie 3. Wprowadzenie do funkcji INDEKS

Przypomnijmy, że funkcja INDEX() wybiera z prostokątnego bloku (tabeli) element określony numerami wierszy i kolumn, a liczby te liczone są od lewego górnego elementu bloku.

Użyj funkcji INDEX(), aby znaleźć w zakresie Produkt element znajdujący się na piątej pozycji. Dla tego:

1. w e-booku Ex03_1.xlsx na prześcieradle Cena umieść kursor arkusza w dowolnej wolnej komórce;

2. Wprowadź w tej komórce następującą funkcję =INDEX(Produkt;5). Naciśnij enter. Wynik przedstawiono na rysunku 7.

Rysunek 7

Zauważ, że dla funkcji INDEX podaliśmy jedynie wartości zakresów i numer wiersza. Nie wskazaliśmy numeru kolumny. Parametr ten jest opcjonalny jeżeli szukamy wartości w tabeli (zakresie) składającej się z jednej kolumny. Jeśli potrzebujemy znaleźć wartość w tabeli (zakresie) składającej się z kilku kolumn, to w formule, w celu dokładniejszego wyszukiwania wartości, konieczne jest wskazanie numeru kolumny.

W nowej komórce wprowadź formułę =INDEX(Tabela;8;2). W rezultacie znajdziesz koszt szynki (Rysunek 8).

Cyfra 8

Automatyczne zastępowanie danych

Pracując z listą rozwijaną, możesz zautomatyzować wprowadzanie danych do tabeli. Przykładowo istnieje cennik zawierający nazwy towarów i ich ceny. Możesz zorganizować wybór nazwy produktu z listy i automatyczne podstawienie ceny produktu w tabeli końcowej.

Automatyczne podstawienie danych z tabeli przeglądowej opiera się na połączeniu funkcji INDEKS i PODAJ.

Zadanie 4. Połączenie funkcji PODAJ i INDEKS

W e-booku Ex03_1.xlsx na prześcieradle Obroty w kolumnie Cena korzystając z funkcji MS Excel, zapewniają automatyczne podstawienie kosztu towaru z arkusza Cena, w zależności od wartości wybranej z listy rozwijanej na arkuszu Obroty.

1. Umieść kursor arkusza w komórce C2 i wprowadź do niej następującą formułę:

2. Naciśnij Enter. W rezultacie w komórce C2 otrzymasz koszt produktu, którego nazwa jest wskazana w sąsiedniej kolumnie (rysunek 9). W przypadku wybrania z listy rozwijanej innej nazwy produktu, wartość ceny ulegnie odpowiedniej zmianie.

Rysunek 9

3. Używając znacznika autouzupełniania, powielaj tę formułę na końcu tabeli (Rysunek 10).

Rysunek 10

Rozszyfrujmy tę formułę. Formuła ta zaczyna się od funkcji DOPASUJ, która pozwala nam znaleźć pozycję wartości z komórki B2 w arkuszu Obroty w zasięgu Produkt z wzroku Cena, i typ dokładności 0. Przykładowo, jeśli korzystamy z listy produktów, którą przedstawiono na rysunku 10, to funkcja SZUKAJ szuka pozycji chleba, którego nazwa jest wskazana w komórce B2 kolumny Nazwa produktu w zasięgu Produkt na prześcieradle Cena. Pozycja ta będzie równa 3. Dlatego w pamięci komputera wpisaliśmy formułę

=INDEKS(tabela, DOPASOWANIE(B2, produkt, 0), 2)

przyjmie formę

=INDEKS(Tabela,3,2)

Parametr „3” jest wynikiem działania funkcji SZUKAJ.

Następnie wchodzi w grę funkcja INDEX, która przeszuka zakres Tabela na prześcieradle Cena wartość znajdująca się na przecięciu trzeciego wiersza i drugiej kolumny. (Pamiętaj, że zakres Tabela składa się z dwóch kolumn). Ta wartość będzie kosztem produktu, w tym przypadku chleb = 27.

Zadanie 5. Projekt stołu finałowego

Na prześcieradle Obroty w kolumnie Ilość wprowadź dowolne wartości. Oblicz wartości w kolumnie Całkowity.

Zadanie 6. Samodzielne zadanie

Otwórz plik Ramki.xls . Wymagana jest automatyzacja zmian wynagrodzeń na arkuszu Personel .

Na przykład konieczne jest przeniesienie części menedżerów i przeniesienie menedżerów wyższego szczebla lub konsultantów do ładowaczy. Tę operację należy wykonać dla czterech pracowników. Wraz ze stanowiskiem powinno zmienić się także wynagrodzenie.

Utwórz nowy arkusz i nadaj mu nazwę Państwo .

Skopiuj do arkusza Państwo kolumny Stanowisko I Wynagrodzenie.

Usuń duplikatów pracowników. Dla tego:

1. Wybierz kolumny stanowiska i wynagrodzenia.

2. Na zakładce Dane naciśnij przycisk Usuń duplikaty .

3. Usuń zaznaczenie z kolumny Wynagrodzenie.

4. Kliknij przycisk OK.

Aby móc zmieniać pozycje na arkuszu Personel W kolumnie pozycja utwórz listę rozwijaną. W tym przypadku konieczna będzie również zmiana oficjalnego wynagrodzenia, w tym celu zautomatyzujemy ten proces tak, aby w przypadku zmiany stanowiska Excel sam zmienił wynagrodzenie. W tym celu wykorzystujemy funkcje: SZUKAJ i INDEKS.

Wytyczne

1. Wybierz na arkuszu Państwo zakres stanowisk. Nadaj wybranemu zakresowi nazwę stanowisko.

2. Wybierz na arkuszu Państwo zakres wynagrodzeń. Nadaj wybranemu zakresowi nazwę wynagrodzenie.

3. Na kartce Pracownicy w kolumnie Wynagrodzenie wprowadź formułę, która będzie wyszukiwana w arkuszu Państwo w zasięgu stanowisko stanowisko odpowiadające stanowisku pracownika, a następnie z zakresu wynagrodzenie arkusz Państwo wprowadzono wynagrodzenie odpowiadające znalezionemu stanowisku.

4. Po wpisaniu wzoru upewnij się, że otrzymane wynagrodzenie rzeczywiście odpowiada wynagrodzeniu na stanowisku pracownika z arkusza Państwo.

5. Zmiana wynagrodzenia Ch. księgowy na arkuszu Państwo. Sprawdź, czy odpowiednie wynagrodzenie zmieniło się na arkuszu Pracownicy.

Jeśli zauważysz błąd, zaznacz fragment tekstu i naciśnij Ctrl+Enter
UDZIAŁ:
Komputery i nowoczesne gadżety