Стойност Таблица 1в - част 3
Стойност Таблица 1В - 3 част. Метаданни. Бюст стойности колона на таблицата
В две предишни статии:
За обяснение на материала и с цел да бъде в състояние да започне нашите примери за програмиране "на живо", ние трябва някакъв вид тест модел стойности 1C. Някои от нашите примери ще извлечете данните от таблица на стойности, така че ние ще направим таблица с три колони "Име", "Име", "Средна" и ще го превърне в малко количество данни се направи - колкото толкова, колкото три линии :)
Така че, нека да се създаде тест таблица стойности 1С и да го пренесат:
Нашата тестова таблица се състои от три колони: име, фамилия, собствено име; и три реда, пълни с имената на героите на Гражданската война.
Първият код пробата - сортиране колона стойности Таблица 1В като събиране.
Нашите цикъл дисплеи в 1С прозорец съобщение всички имена на колони:
Виждаме, че специален цикъл чрез събиране, като цикълът на сортиране линии (в последната статия) се използва, за да превъртате през колоните. MoyaTZ.Kolonki - събиране на колона стойности Таблица 1В "MoyaTZ". Колекцията съдържа обекти от тип "KolonkaTablitsyZnacheny" Всеки обект е от този тип и трапезни стойности на колони и съдържа свойствата и методите. Позовавайки се на тези свойства и методи, ние получи необходимата информация за една колона, или да извършва други действия с него.
Например, отнасящи се до собственост "Name" на (Kolonka.Imya) получаваме името на текущата колона.
Искам да привлека вниманието ви към заглавната част на цикъла: "За всяка колона MoyaTZ.Kolonki цикъл" променлива с име "колона" е изобретен от нас. По желание, да се използва със същото име. Можете да се обадите на тази променлива, както желаете, като "MoyaTekuschayaKolonka" Тогава примера по-горе ще изглежда така:
При изпълнение на подсистема отговаря на цикъла на този тип 1C, всяко преминаване през цикъла, присвоява определен име един елемент от нашата колекция, в този случай - един от елементите на колоните на таблицата колекция MoyaTZ.Kolonki ценности И след това ние се обръщаме към променлива съдържаща тока колона, и се ползва от имуществото "Име".
Предлагам заедно с името на колоната, за да донесе повече и всеки номер колона в колекция от колони:
В 1C ще се появи прозорец на текста на съобщението:
Обърнете внимание на факта, че колоната в стойности таблица 1В са номерирани като се започне от нулата, както и стойностите на низ от масата.
Брой колони от стойности в Таблица 1В
За да разберете броя на колоните в таблицата от ценности, ние използваме "Брой ()" от колекцията на колони.
"3" ще бъдат показани на екрана. В действителност, в нашата таблица с три колони: "Име", "Име", "Средна"
Получаване obekta- колона по номер (индекс), и сортиране колони, използвайки колони индекс
Ние правим сортиране цикъл на всички колони от стойностите на масата с помощта на индекси на колони (стаи). Не забравяйте, че колоните са номерирани, започвайки от нулата. Ето защо, контурен "Sch" ние трябва да се увеличи от нула до броя, равен на броя на колоните минус един.
На ние ще се следния екран
Мисля, че този пример е разбираемо. Ние се обърна към номера на метод (), колекция от колони "MoyaTZ.Kolonki.Kolichestvo ()" е получила редица колони, и започна поредица от брояч от нула до броя на колоните минус един. Във вътрешността на линия, получаваме всяка колона от колекцията на колони и възлага на текущата променлива обектно-колона TekuschayaKolonka Освен това, променлива TekuschayaKolonka ние се обръщаме към името на собственост и показва стойността на този имот е на екрана: Доклад (TekuschayaKolonka.Imya);
Важно е никога да не се обърка собственост на обекта и метода на обекта.
Имоти - един вид статична стойност, както и позоваването на него е написано без скоби, например TekuschayaKolonka.Imya. Метод - В интерес на истината, процедура или предмет, функция и извикване на процедури и функции винаги са написани с скоби (дори и ако няма входни параметри). Например: MoyaTZ.Kolonki.Kolichestvo ()
Ако се обърнем към метода, забравяйки да пиша скобите - 1C преводач ще ни даде съобщение за грешка и не работи кода, за да се изпълни. Тъй като преводачът ще приемем, че ние не гледам на метода, и до имота - защото няма скоби. Имот с такова име не може да се намери (защото със същото име, има само един метод) - и това, което ще се казва в съобщението за грешка.
Ето какво трябва да пиша на преводач, ако забравя да сложи скоби в метод разговор по такъв грешен начин MoyaTZ.Kolonki.Kolichestvo (без скоби след "Number ()"):
Поле обект е открит (Number)
В този случай, "полето" и "собственост" следва да се разбира като синоними или неточности 1C разработчиците терминология. Те използват тези две думи да се опише едно и също понятие. Въпреки, че и в други езици за програмиране, тези термини могат да означават различни неща.
Получаване на данни от справочната таблица с помощта на графи 1C стая
Предлагам ви да започнем с един прост пример за извличане на данни от първата ни ред на маса. Имайте предвид, че ние използваме предварително напълнена таблицата от началото на статията. Знаем със сигурност, че на масата е на първия ред, и има най-малко една колона. Ако приложим този пример, за да празната маса, грешката се появява. Така че:
Тя ще се появи:
Първо имаме маса обект Онлайн стойност като се позовава на таблица на стойностите, като използвате оператора [. ]. (Ако сте забравили как да го направите, можете да видите предишната статия) в рамките на оператора минахме аргумент "0". Това е индекс на първия ред на стойностите на масата. PervayaStroka MoyaTZ = [0];
Освен това, обектно-линия, ние също имаме право да се обръща с помощта на оператор [. ]. Вътре на операторите минахме номер на колоната в таблицата, "0" е и в този случай. И по този начин, ние имаме стойност колона с номер "0" за текущия ред на таблицата под "0" номер. Стойността сме доведени до екрана, а това е низ от "Чапаев".
Bit усложни нашия пример:
Сега сме изправени пред екрана на стойностите на три колони на първия ред на нашата маса за стойностите:
Сега имам, да променя примера за нас може да разчита на променливата "PervayaStroka"
На екрана ще бъде същият
Видяхме в примера по-горе, че достъпът на стойността в определен ред и конкретна колона на таблицата от ценности, можем да използваме един последователен предизвикателство два оператора [. ] Във формата: TablitsaZnacheny [IndeksStroki] [IndeksKolonki]
Така че, ние сме готови да се създаде сортиране цикъл и да получите данни от всички редове и всички колони с помощта на индекси на редове и колони:
На екрана се появява следното:
Аз предлагам, в заключение, до леко се промени нашия пример за това, вместо на колоните номер се показва на екрана на техните имена. И освен това стане по-приличен дизайн на освобождаване на съдържанието на екрана.
Сега, на нашата информация на екрана започва да изглежда по-приличен:
О, щях да забравя. При използване на две последователни оператори [. ] [. ] Можем да вместо индекс на колона за предаване на името на тази колона: TablitsaZnacheny [IndeksStroki] [ImyaKolonki]
Обърнете внимание на линията, маркирана със стрелка "
- За проекта "Старт 1C"
- Защитена: Ден 1 и 2 мини-Разбира се ...
- Успешно добави към групата ...