Изучаване на езика за програмиране 1в 8.3. Основи на програмирането в среда "1c: предприятие"

МИНИСТЕРСТВО НА КЛОНА НА РУСИЯ

Федерална държавна бюджетна образователна

институция за висше професионално образование

"ДЪРЖАВЕН УНИВЕРСИТЕТ ПЕНЗА"

А. Е. Хохлов

Основи на програмирането в среда "1c: предприятие"

Пенза, 2016

UDC 631.3 (075)

R e c e n z e n t:

Ръководител на катедра „Приложна информатика“

Държавна технологична академия в Пенза,

Професоре А. П. Ремонтов

Хохлов А. Е.

X86 Основи на програмирането в 1С: Предприятие среда:Учебник / А. Е. Хохлов, Е. М. Голобокова, Ю. В. Терякова - Пенза: Издателство „Пенц“. държава Университет, 2015. - 144 с.

Урокът ви позволява да овладеете техниките за разработване и модифициране на приложни решения на платформата 1С: Предприятие 8.3. На примера за създаване на реално приложно решение са показани структурата на различни обекти на системата, тяхното предназначение и начин на използване. Процедурите са дадени на вградения език, включително тези, които използват езика на заявката.

UDC 631.3 (075)

© Хохлов А.Е., 2016

© Издателство на Държавния университет в Пенза, 2016

2.1. Състав на програмната система 1С: Предприятие 8 7

2.2. Структура на конфигурацията 9

2.3. Архитектура на софтуерната система 1С: Предприятие 12

3. Обектен модел на платформата 1С: Предприятие 18

7. Регистри 75

Въведение

Софтуерната система 1С: Предприятие 8 е предназначена за автоматизиране на дейностите на предприятия, организации и лица. Системата се основава на гъвкава технологична платформа, чиито възможности ви позволяват да създавате и модифицирате голямо разнообразие от бизнес приложения.

Основната характеристика на системата 1С: Предприятие е нейната конфигурируемост. Технологична платформа „1С: Предприятие“ е набор от механизми, предназначени да манипулират различни видове обекти в предметната област. Конкретен набор от обекти, структури от информационни масиви, алгоритми за обработка на информация се определят от конкретен конфигурация ... Заедно с конфигурацията, платформата 1С: Предприятие действа като готов за употреба софтуерен продукт, фокусиран върху определени видове предприятия и класове задачи, които трябва да бъдат решени.

Функционирането на системата е разделено на два процеса:

    конфигурация (описание на модела на домейна чрез средства, предоставени от системата),

    изпълнение (обработка на данни за предметната област).

Процесът на конфигуриране от своя страна се разделя на няколко компонента:

    "Визуално" създаване на конфигурационната структура (такива конфигурационни обекти като директории, документи и т.н.),

    настройка на диалогови форми на обекти,

    дефиниране на спецификата на поведението на обекти, форми (писане на код на системния език на определени места от конфигурацията),

    създаване на интерфейси, набори от потребителски права (роли).

В процеса на изпълнение системата вече работи със специфични концепции, описани на етапа на конфигуриране (справочници на стоки и организации, фактури и др.).

Урокът дава пример за разработване на конфигурация на платформата версия 8.3.6.2014 (образователна версия).

Образователна версия или версия за обучение на програмиране може да бъде изтеглена от сайта http://online.1c.ru/catalog/free/learning.php

За да научим програмирането, се нуждаем от 1С 8.3 (не по-малко от 8.3.4.482).

Ако имате инсталирана 1С версия 8.3 - използвайте я. Ако не, изтеглете и инсталирайте образователната версия, която 1C произвежда специално за образователни цели.

Задача Ml.Изтеглете и инсталирайте образователна версия 1C 8.3.

Инструкции за изпълнение:

  • 1. Разопаковайте архива, изтеглен от връзката, в отделна папка на вашия работен плот:
  • 1.1. Dropbox връзка за изтегляне (Nsl вариант) https: //www.dropbox.eom/s/t69xyrrhsdugfzf/lC_Predprijatie_ 8.3_uchebnaja_versija.zip?dl=l
  • 1.2. връзка за изтегляне от Mail.ru (опция № 2) https://cloud.mail.ru/public/59a9a532864d/lC_Predprijatie_8.3_ uchebnaja_versija.zip
  • 2. Стартирайте файла "setup.exe".
  • 3. Щракнете върху Next, Next, Install.
  • 4. Изчакайте инсталацията да завърши.

След изпълнение на задача № 1, на вашия работен плот трябва да се появи следният пряк път (фиг. 1):

Enterprise e (образователна версия)

Фиг. един. Стартирайте пряк път 1С: Предприятие

Първа програма

Това вече се превърна в традиция за програмистите - когато изучават нов език, първото нещо, което пишат в него, е програма, която отпечатва фразата „Здравей, Свят!“ На екрана.

Нека накараме компютъра да показва тази фраза на руски „Здравей, свят!“

Задача номер 2.Напишете програма в 1С 8.3, която при стартиране показва фразата "Здравей, Свят!"

Инструкции за изпълнение:

  • 1. Стартирайте прекия път "1С: Предприятие" на вашия работен плот.
  • 2. Отваряте списък с 1С бази (Фиг. 2). Както можете да видите, той е празен. Нека създадем учебна база, в която ще програмираме. Щракнете върху бутона „Добавяне“.
  • 3. Изберете елемент и натиснете бутона "По-нататък"(фиг. 3).
  • 9 uДобавяне на infobase / g> tpy X

Фиг. 3.

4. Изберете елемент ... "(фиг. 4) и натиснете бутона „По-нататък“.


Фиг. четири.

5. За името на основата посочете "Образователни"(фиг. 5) и натиснете бутона „По-нататък“.


Фиг. пет.

6. Посочете всяка празна папка като основна директория (в този случай това е папката "Обучение" в моите документи (фиг. 6)). Щракнете върху „Напред“.


Фиг. 6.

7. Посочете опция за удостоверяване "Изберете автоматично",режим на стартиране "Дебел клиент".Не посочвайте нищо като версия 1 С: Enterprise, щракнете върху бутона "Finish" (фиг. 7).


Фиг. 7.

8. Както можете да видите, първата база данни, която току-що създадохме сами, най-накрая се появи в списъка (фиг. 8)! Нека започнем да пишем някакъв код. Щракнете върху бутона „Конфигуратор“.

Фиг. осем.

9. В прозореца, който се отваря, изберете от менюто "Конфигурация"параграф "Отворена конфигурация"(фиг. 9).

Конфигуратор (образователна версия) - Конфигуратор

Фиг. 9. Избор на елемент от менюто „Отваряне на конфигурацията“

10. В панела, който се отваря вляво, щракнете с десния бутон върху "" Конфигурация "и изберете от списъка "" Отваряне на модул на управлявано приложение "(фиг. 10).

Конфигурация

Действия »f / | X i 4

© *? Генерал _Za КрнСіаміь!.

Конфигурация

^ Модул за отворено управлявано приложение Модул за отворена сесия

Фиг. 10. Избиране на „Отворен модул за управлявано приложение“

11. Отваря се прозорец с редактор (фиг. 11). Можете да напишете текст тук! Ще работим с него в бъдеще.

Фиг. единадесет. Модул за управлявано приложение

12. Препишете следния текст в този прозорец (фиг. 12):

Доклад („Здравей, свят!“);


13. Кодът за първата ни програма вече е пълен. Нека го пуснем за изпълнение. Чрез менюто " Отстраняване на грешки" „Стартиране на отстраняване на грешки“(или бутон / ’i) (Фиг. 13).

Ді Конфигуратор (образователна версия) - Конфигурация

і файл Редактиране на конфигурация на текст Отлахка Alg4nstriroe »« e Помощ за услугата Windows

10 сЗЬІїХ *

аз в & d t? © "и а а і //

[Coifiguradoya *

Действия?

KoiFigure

$ O # Общи 8? Константи 1111 Референции ® С] Документи

Списания за документи (..)

Конфигуратор (образователна версия)

L Редактируемата конфигурация се различава от конфигурацията на базата данни. Актуализиране на конфигурацията на базата данни?

....................

Фиг. 13. Стартиране на програмата за изпълнение

14. Отговорът на въпроса е да.

15. След секунда-две 1С ще стартира и в прозореца отдолу ще се появи надпис „Здравей, Свят!“. Получихме това, което искахме от компютъра, първата ни програма започна да работи (фиг. 14).

Съобщения:

Здравей свят!

Фиг. четиринадесет. Резултати от програмата

Отличен видео курс по програмиране в системата 1С: Предприятие. Включва 7 курса:

1. 1С: Предприятие 8.3. Първи стъпки на разработчика
- да се ориентирате в структурата на новата версия на системата 1С: Предприятие 8.3;
-разбиране на общите принципи на развитието на системата;
-изберете начини за по-нататъшно проучване и развитие на системата "1С: Предприятие 8";
-използвайте основни умения за работа в околната среда "1С: Предприятие 8";
-работа с справочници, документи и други предмети, персонализиране на техните свойства;
- на първоначално ниво, работа с основните контроли за формуляри, манипулатор на събития и друга функционалност на системата.

2. 1С: Предприятие 8.3. Въведение в конфигурацията. Основни обекти
-Ще разберете общите принципи на изграждане на системата 1С: Предприятие 8
- Овладейте основните умения за работа в среда "1С: Предприятие 8"

3. Използване на заявки в системата 1С: Предприятие 8. Език на заявката
-Запишете заявки
-Работа с Query Builder
-Използвайте правилно различни видове IB таблици
-Опознайте особеностите на работата с виртуални таблици на регистри

4.1C: Предприятие 8.3. Решаване на оперативни задачи
-Работа с регистри за натрупване
-Напишете алгоритми за условно съхраняване на документи
-Използвайте управляван заключващ механизъм
-Научете начини за подобряване на ефективността на решенията

5.1C: Предприятие 8.3. Решаване на счетоводни проблеми
- Да проектира самостоятелно сметкоплан и счетоводен регистър за решаване на проблеми на синтетично, многофирмено, аналитично, количествено и валутно счетоводство;
-Попълнете коректно регистъра с движения за всички видове счетоводство, както при осчетоводяване на документи, така и при записване на ръчни транзакции;
-Опишете оптималната комплексна обработка на провеждане на първични и нормативни документи с анализ на резултатите от счетоводния регистър в многопотребителски режим при използване на контролирани от конфигурация брави;
-Използвайте механизма за съставяне на данни за разработване на всякакви счетоводни отчети, както обобщени синтетични, така и подробни аналитични.

6.1C: Предприятие 8.3. Решаване на изчислителни задачи
-Самоуверено притежавате инструментите "1С: Предприятие 8.3"
-Познават и умеят да прилагат на практика методи за решаване на проблеми на автоматизацията на заплатите и счетоводството на персонала
-Бъдете в състояние да контролирате работата на разработеното решение
-Разбирайте връзката на конфигурационните обекти, физическите таблици и виртуалните таблици на изчислителния регистър
-Намерете и коригирайте грешки: както методологични, така и софтуерни
-Собственост върху функционалността на платформата "1С: Предприятие 8.3" в частта, необходима за решаване на изчислителни проблеми

7. 1С: Предприятие 8.3. Инструменти за интеграция и обмен на данни
-Работа с текстови файлове и документи
-Работа с .dbf файлове
-Организирайте интернет връзките
-Работа с електронна поща и използване на протоколи http, ftp
-Използвайте OLE и COM технологиите
-Използвайте последователен XML модел за достъп
-Използвайте XDTO и смесен XML модел
-Организирайте обмена на данни
-Използвайте механизмите на обекта "Планове за обмен"
-Използвайте конфигурацията "Преобразуване на данни"

Дори ако предварително сте изучавали други езици за програмиране, например C ++, PHP, Java, струва си да запомните, че 1С, макар и в много отношения, все още има много основни разлики.

Най-важното в 1С е, че не е нужно да измисляте собствени типове обекти. Всички те вече са в конфигурацията.

Инсталирайте технологичната платформа 1С на вашия компютър и отворете нова или съществуваща база в конфигуратора. Като начало можете да го използвате абсолютно за обучение на програмиране.

От лявата страна на прозореца ще видите дърво от конфигурационни обекти. Те включват документи, директории, регистри, бизнес процеси и др.

Данните също се съхраняват в СУБД, но разработчикът обикновено не работи директно с тях. С помощта на технологичната платформа програмистът вече се позовава на обектите на конфигурацията или информационната база.

В 1С, както и в много други езици за програмиране, много често се използват заявки. подобно на езика T-SQL. Заявките могат да бъдат написани както на английски, така и на руски, наред с други неща, като останалата част от кода.

Изглежда, че всичко е просто, но познаването на език за програмиране често не е достатъчно, за да работи „на полето“. Факт е, че в повечето организации, използващи 1С, са инсталирани стандартни конфигурации и трябва да ги знаете.

В работния план за програмисти на 1С има два основни клона: франчайзополучатели или работят „за себе си“ и работят като щатен програмист на ИТ отдела на всяка организация. Този избор зависи само от вашите предпочитания.

Когато работите за франчайзополучател, на свободна практика или управлявате собствен бизнес, плащането ще бъде на парче. Може да има много работа и трябва да дадете всичко от себе си. Няма ограничение на заплатите и можете да спечелите впечатляваща сума пари.

Ако решите да работите като свободна професия или да отворите собствен бизнес, няма да е необходимо да „споделяте“ приходите си с никого (с изключение на държавата и платформата на свободна практика, разбира се). Но в този случай ще е необходимо да търсите клиенти сами.

Ако въпреки това решите да си намерите работа в организацията като щатен програмист, тогава няма да зависите много от обема на извършената работа. В този случай има известна стабилност, но лентата на заплатите също е ограничена.

Разбира се, тези два метода могат да се комбинират, като работи като програмист на пълен работен ден през деня и на свободна практика вечер.

Хубавото на програмистите от 1С е, че може да нямате техническо образование (например сте икономист, счетоводител и т.н.). За да потвърдите знанията си пред клиенти или работодател, можете да предоставите своите 1С сертификати.

Сертификатите са от различен тип, както по платформа (за програмисти), така и по стандартни решения. Можете да ги получите на 1С, като положите изпит под формата на тест или практическо задание.

Книги на 1С

Най-добре е да изучавате 1С от книги, издадени от 1С. От източника, така да се каже. Някои от тях се предлагат със стандартни конфигурации. Можете също така да закупите отделни книги.

Книгата „1С: Програмиране за начинаещи“ е предназначена за хора, далеч от програмирането, но които искат да се научат как да създават свои собствени решения на 1С 8.3 от нулата.

„Здравейте, 1С“ показва най-простите, основни възможности за разработване на приложни решения в системата 1С: Предприятие 8.

101 Tips описва различни начини за изпълнение на едни и същи задачи.

Практическо ръководство за разработчици 1C Enterprise 8.3 е много подробно ръководство, което описва техниките за разработка с прости и разбираеми примери. Тази книга е една от най-добрите за изучаване на 1С програмиране.

Този урок описва езика на заявките от нулата за тези, които дори не са запознати със SQL.

Ако пишете на SI
Бъдете поне три пъти по-ламерни
Те казват за това:
"Той е готин програмист!"
(Fidoshnye песни - "Какво е Suxxx и какво е Rulezzz")

Предговор

Причината за написването на тази статия беше негативното отношение на професионалната общност към тази платформа и програмисти.

Като програмист, който избра 1С, мисля, че това мнение е неоснователно. Платформата 1С далеч не е идеална, но според мен тя е най-добрият и най-важното - вътрешен продукт!

И още повече - неадекватно е да се преценява способностите на програмист по езика, на който той пише.

В тази статия ще опиша предимствата, които открих за себе си в програмата. Статията ще се окаже почти реклама, така че незабавно отказ от отговорност:

  • Нямам пряка връзка с 1С;
  • Тази статия не е персонализирана и е написана единствено на доброволни начала;
  • В някои случаи се изразява лично мнение, което може да не съвпада ...;
  • Цялата статия, с изключение на пролога, е на автора, всички съвпадения са случайност;
  • Ще говорим за платформата 1C Enterprise 8.2 (понастоящем версия 8.3 е от значение, но все още не съм я изучавал - много работа по 1C 8.2). Повечето от казаното обаче се отнася както за платформата 8.3, така и за по-ранните версии, а част от нея се отнася и за версия 7.7.
Така че нека да започнем.

За какво говорим?

Платформа 1С Enterprise 8 е:
  • Работи в две версии - файл и сървър (три връзки) - всяка има свои предимства и недостатъци;
  • Независима счетоводна система, която е лесна за инсталиране и конфигуриране;
  • Мощна екосистема за програмисти с всички необходими обекти и инструменти;
  • Хубав ергономичен интерфейс;
  • Сравнително евтино бизнес решение;
  • Франчайзополучателна мрежа, първоначално обучение;
  • Мощна база от разработки и знания, натрупани през годините;
  • Понякога проблемна платформа за системни администратори;
  • Не най-бързото изпълнение на алгоритми (макар и не най-бавното) - това е почит към информационното съдържание (в случай на грешки се посочват номерът на реда и неговото съдържание);
  • Езикът за програмиране няма класове (наследяване, капсулиране, полиморфизъм), няма анонимни функции и други съвременни функции. Но за решаването на повечето задачи това не е необходимо!
За организацията на счетоводството - една платформа не е достатъчна. Платформата е един вид „двигател“, междинна връзка между програмата и базата данни. Програмите за този "двигател" се наричат ​​конфигурации. Конфигурацията описва структурата на базата данни под формата на обекти, текстовете на процедурите, съхранявани в отделни модули (има много модули, те са както във всеки обект, така и в системата като цяло, а има и общи модули). Платформата осигурява ниво на абстракция, при което не се изисква пряк достъп до базата данни, а също така ви позволява да се абстрахирате от операционната система и вида на базата данни.

Файлови и сървърни бази данни

Платформата се състои от няколко части и може да работи във файлова или сървърна версия.

Във файловата версия цялата база данни се съдържа в един файл (с разширение "1cd") - платформата е инсталирана на всеки компютър и директно чете / записва в базата данни.

Предимствата на опцията за файл са ниската цена и лекотата на внедряване.

Минуси - структурата на файла "1cd" е затворена, няма единична система, взаимодействаща с базата данни. В резултат на това е трудно да се използва с голям брой потребители (изпробвано за 20+ потребители - можете да работите). Освен това динамичните актуализации се провалят с размер на базата данни приблизително 15 GB (или повече). Разрешаването на такива грешки е трудна задача и помощната програма за ремонт на база данни не винаги ефективно поправя, а понякога дори осакатява базата данни.

Има решение - това е, на първо място, създаване на ежедневно архивиране на база данни. Освен това майсторите не само публикуват файловия формат 1cd, но също така са разработили помощни програми за работа с такива файлове и редица методи за решаване на подобни проблеми.

В сървърната версия платформата за съхранение на базата данни използва SQL сървър (обикновено това е MS SQL, но започвайки от 8.2.14 - можете да използвате някои други, например Firebird PostgreSQL, IBM DB2, Oracle Database) и самата платформа използва тристепенна архитектура:

Част от кода се изпълнява на клиента, други на сървъра. В този случай само сървърът взаимодейства с базата данни. В същото време, започвайки от версия 8.2, в допълнение към стандартния режим на работа, който беше наречен режим „дебел клиент“, се появиха два нови режима на работа - „тънък клиент“ и „уеб клиент“; също се появиха "управлявани форми", чийто външен вид е изграден под формата на абстрактно дърво от елементи. Програмирането за управлявани формуляри и тристепенна архитектура е по-трудно, но ви позволява да прехвърлите почти целия товар на сървъра (т.е. можете да си купите един мощен сървър и сто от най-евтините офис компютри).

Предимства на платформата: "три връзки" - разпределение на зареждане, отвореност на базата данни (официално 1С компания отказва отговорност за всякакви повреди на данни, ако са направени промени в базата данни на SQL, освен чрез тяхната платформа или сървър, но това спира малко хора), без ограничения .

Минуси - цената: ще трябва да закупите отделно клиентски лицензи за всеки клиентски компютър, отделно - един лиценз за 1С сървъра, отделен лиценз за SQL сървъра, ако не използвате безплатния. Също така, понякога има затруднения в работата на базата данни. Те се решават много по-бързо поради наличието на данни и наличието на външни инструменти за работа с базата данни. Освен това в този случай трябва да направите резервно копие на базата данни.

Общото предимство е гъвкавостта на конфигурационния код: с някои изключения, конфигурацията, разработена за файловата база данни, ще работи върху сървърната база данни и обратно. Пример за изключение е прехвърлянето на изменяема стойност към сървъра или от сървъра към клиента (във версията на файла това няма да причини изключения, но във версията клиент-сървър е забранено).

Още един плюс: платформата се инсталира много просто, нещо подобно: „Следващо-Следващо-Следващо-ОК“, не се изисква фина настройка и инсталиране на каквито и да било компоненти.

За версията на сървъра има още няколко настройки, но всичко се прави в диалоговия прозорец за инсталиране и не изисква предписване на нищо в отделни файлове. Инсталирането на SQL сървъра може да бъде малко трудно, тъй като в този случай има много повече настройки (и за фина настройка трябва да проучите допълнителни инструкции). Но това не се отнася за проблемите на платформата 1С. Освен това, ако инсталирате, например, MS SQL сървър с всички настройки по подразбиране, тогава 1C ще може да работи с него.

Това е повече от счетоводство

Що се отнася до платформата 1С, тя е представена преди всичко като програма за счетоводство. Всъщност това е най-популярната област на използване на платформата 1С. Но 1С не живее само чрез счетоводство!
Запознатите с платформата казват, че това е счетоводна система (счетоводна автоматизация). Това е по-близо до истината - има много конфигурации, както от 1С, така и от разработчици на трети страни. Някои са свързани само косвено със счетоводството, други изобщо не са свързани.

Като цяло е по-правилно да се представя платформата 1С като обвивка за обектно моделиране на базата данни, интерфейс и програмиране на езика 1С. Единственото ограничение е, че за всяка конфигурация се създава собствена база данни и само една (обаче е възможно допълнително да се свържат външни източници на данни като част от конфигурацията, т.е. други бази данни).

Екосистема за програмисти

Помислете сега за езика 1C и платформата от гледна точка на разработчика:
Обектен модел на база данни.Първо, ние не работим директно с бази данни. Не е необходимо. За наше улеснение всички данни се представят като взаимосвързани обекти (директории, документи, информационни регистри, регистри за натрупване, ...) и платформата автоматично изтегля тези данни от базата данни.
Например, при условие, че променливата "Елемент на номенклатурата" съдържа връзка към елемента от каталога на номенклатурата, каталогът на номенклатурата има променливата PrimarySupplier от типа Catalog.Contractors, а каталогът на изпълнителите има атрибут FullName, след това код:

ItemNomenclature.PrimarySupplier.Full
... ще доведе до факта, че 1С платформата, използвайки вътрешни механизми, намира запис в таблицата, съответстващ на директорията "Изпълнители", чрез идентификатора от полето "Основен доставчик" на артикула и връща съответната стойност на полето до полето „Пълно име“ в обектния модел на директорията „Изпълнители“.

Такива пренасочвания може да има много - системата ще се справи. Единственото предупреждение е, че системата не знае как да оптимизира пренасочването, така че трябва да се опитате да ги извадите от всички възможни цикли.

В допълнение към обектите, които описват данни, има огромен брой системни обекти - за голямо разнообразие от функции. Ще подчертая някои от тях:

Стойности
Масив- обект, който съхранява набор от данни, за разлика от класическото представяне на масиви. Това могат да бъдат данни от различен тип (номер, низ, справка, друг обект). Той има минимална функционалност и се използва главно като временен контейнер за прехвърляне на стойности между други хранилища.

Списък на ценностите- обект, главно за работа с потребителския интерфейс. В допълнение към данните, за всеки елемент той може да съдържа и изглед, знак за флаг и картина (пиктограма). Той също така има методите "SelectElement ()" и "MarkElements ()" - при извикване диалоговият интерфейс се показва на потребителя (което е удобно - няма нужда да се създава този диалог в конфигурацията).

Структураи Съответствие- хранилища на сдвоени стойности "Ключ и стойност". В структурата "Ключ" това е низ, който се подчинява на правилата за именуване на променливи в 1С (без интервали, започнете не с цифра, състои се само от букви, цифри и долна черта). Според - "Key" е всяка стойност. Най-бързото търсене на обекти е съвпадение (по-бързо, отколкото в масив и индексирана таблица на стойностите).

Таблица на стойностите- много удобен и доста бърз обект за съхранение и обработка на данни. Колоните в таблицата със стойности могат да се добавят и премахват, независимо от броя на записите. В този случай данните в редовете не се губят (или се изтриват само данни от клетките, съответстващи на изтритите колони). Освен това има метод "SelectRow ()", който извиква диалоговия прозорец за избор на ред. Има индекси.

Дърво на стойността- обект, представляващ йерархични данни. Съдържа колони, наборът от колони е еднакъв за всички записи на всички нива. Премахването / добавянето на колони в дърво на стойност е също толкова лесно, колкото и в таблица със стойности. Освен това има метод "SelectRow ()".

Интерфейсни обекти и обекти за работа с различни данни TextDocument, SpreadsheetDocument, Web Browser, FileReader, FileWrite, ZIPFile Reading, ZIPFileWrite, XMLReader, XMLWriter, HTTPRequest и много други обекти, като всички те имат вградена помощ за всичко. Целта на изброените обекти може да се види от имената им и всичко това е незабавно достъпно в платформата.

Отделно трябва да се отбележи, че има обект „Метаданни“ - с помощта на който можете да изучавате структурата на данните на езика за програмиране, както и за всяка връзка или обект за справочник, документ, сметкоплан, и т.н. има метод "Метаданни ()" - предоставящ описание на този справочник / документ / сметкоплан / и др. в базата данни (какви подробности, таблични раздели са на разположение, дължината на кода / номера и т.н.). Често е много удобно.

И трябва да споменем отделно за обектите: "Query", "QueryConstructor", "QueryBuilder", "ReportBuilder", "DataCompositionSchema". Това семейство реализира набор от обекти за работа с мощния 1C език за заявки.

Език на заявката.Заявки в 1С се използват само за получаване на извадка от данни с удобен подбор, сортиране, групиране. Като първо приближение, това е операторът „SELECT“ от SQL, преведен на руски език, но в езика за заявки 1C също има функционалност, която липсва в SQL, а именно:

  • Работа с конфигурационни обекти 1С вместо SQL таблици;
  • Работа с връзки вместо полета за идентификатор на SQL;
  • Поддръжка за пренасочване, подобно на това как се прави в кода;
  • Избор чрез влизане в група (за справочници);
  • Йерархични суми;
  • Временни таблици и подзаявки (SELECT * FROM (SELECT…)));
  • Конструктор на заявки - удобен, обектно-ориентиран, автоматично оптимизиращ текста на заявката за бързо четене, който може да анализира текста на заявката (анализира текста на заявката и изгражда обектен модел от него);
  • Report Builder е добавка към механизма за заявки, която е добавила функционалността на автоматично представяне на резултатите, както и гъвкава конфигурация на самата заявка в режим „Enterprise“ (т.е. от потребителя). В резултат на това в стандартните 1С платформи се появи универсален отчет, в който потребителят може да конфигурира какви данни и в какъв ред иска да види какво има в редовете, какво в колоните и самият отчет генерира изходната таблица;
  • ACS (Data Composition System) е следващият модел, който е включил функционалността на универсален отчет и го е допълнил с някои функции за обработка на резултатите.

Програмен език
По отношение на синтаксиса, езикът 1С е подобен на "руския Паскал", но се различава от "Паскал" с по-малко строгост и липсата на някои конструкции:

  • Няма нужда да декларирате променливи - можете да инициализирате директно в текста на модула;
  • Няма твърдо въвеждане на променливи. Системата има типове стойности, но няма строги правила за въвеждане на променливи. Променлива, която съхранява връзка, вече може да съхранява число или низ в няколко реда код;
  • Можете да добавяте променливи със стойности от различен тип и видът на резултата ще бъде същият като типа на първата променлива, например:
    k = "25" +1; // k = „251“, а не 26
  • Променливите със стойности от различен тип могат да се сравняват за равенство или неравенство (но не повече или по-малко, това ще доведе до изключение) - естествено, такива променливи не са равни;
  • Има функции и процедури, допустимо е да се използва рекурсия (с ограничение на дълбочината на рекурсията);
  • Когато посочвате функция или процедура без параметри - все едно, не забравяйте да включите празни скоби в края: here_so ();
  • Има модули: всеки справочник и документ има няколко от тях, освен това регистрите, отчетите и обработката имат модули и всяка форма, както и в конфигурацията, е възможно да се създават общи модули;
  • Без класове, наследяване, капсулиране, полиморфизъм;
  • Функцията не може да бъде предадена като референция, няма анонимни функции;
  • Няма обратен цикъл (за i: = 5 до 1 do), но той наистина е необходим при изтриване на записи. Справяме се с малко по-дълъг запис през цикъла "Чао".

Инструменти

  • Платформата 1С има възможност за качване и изтегляне на конфигурация, сравняване на конфигурация с друга конфигурация и частично изтегляне на промени;
  • Възможно е да се разтоварят текстове на модули за групова обработка и да се заредят обратно в конфигурацията;
  • Ако конфигурацията е на поддръжка (всички конфигурации от 1С първоначално са на поддръжка), тогава винаги можете да сравните и да видите какво е променено от разработчици на трети страни или местни специалисти;
  • Също така е възможно да се разтовари / зареди цялата база данни (заедно с данните);
  • За колективна работа по една конфигурация се използва хранилището на конфигурации;
  • Съществуват и редица правила за извършване на промени в стандартните конфигурации, има дори документ от 1С, описващ методи и стандарти за промяна на типични конфигурации (и всякакви други).

Общо впечатление
Езикът 1С съчетава яснотата на текстовете на езика Паскал с несериозността при работа с променливите на езика BASIC. Липсват редица функции, присъщи на съвременните езици за програмиране, но е напълно възможно да се направи и без тях. Освен това платформата 1С има мощен събирач на боклук, т.е. няма нужда например да изчиствате таблици след употреба или да ги изтривате.

1C Enterprise 8.2 интерфейс

Компанията 1С обърна специално внимание на интерфейса на своята програма. На първо място, това е цветовата палитра. Тя е прекрасна! Прозорците на програмите са разпознаваеми дори отдалеч, докато в продължение на много години работа - те не предизвикват враждебни чувства, а напротив - искам всички програми да бъдат толкова готини.
В същото време стилът на платформата е много строг, без излишни украшения и други извивки. В същото време има много полезни функции, например запомняне на размерите на прозорците (размерите се запомнят само когато са променени от потребителя и в същото време винаги можете да нулирате потребителските настройки - до размери и позиции по подразбиране, като натиснете Alt + Shift + R).
Интерфейсът на уеб клиента 8.2 поражда редица оплаквания, но платформата 8.3 изглежда носи със себе си нов преработен интерфейс - Такси.

Цени, търсене и предлагане, франчайзинг

Най-вкусният плюс на платформата 1С е нейната цена. Това е особено вярно сега, по време на кризата. В крайна сметка, 1С е изцяло нашият, вътрешен продукт. И се продава за нашите дървени. Такива решения от чуждестранен производител ще струват много пари. И лицензите за 1С са напълно приемливи.

Освен това 1С има интересна лицензионна политика. Самите лицензи и конфигурации се закупуват веднъж. В същото време се купуват лицензи за работно място и за сървър, но не и за бази данни и дори не за връзки, т.е. при един лиценз един и същ потребител може да изпълнява неограничен брой 1С сесии, работещи с произволен брой бази данни. Същото се отнася и за конфигурациите: закупувайки един лиценз за конфигуриране, организацията може да го използва за създаване на произволен брой бази данни, освен това официално е разрешено да се използват части от кода и обектите от тази конфигурация при разработване на собствени конфигурации (докато собствени конфигурации могат да бъдат продадени / прехвърлени - като се предвижда, че за да ги използвате, трябва да закупите конфигурация от 1С).

След тази еднократна покупка трябва само да се абонирате за актуализации и да плащате веднъж годишно, за да подновите абонамента, т.нар. ТОЙ. Между другото, абонаментът е много евтин, като два клиентски лиценза.

Като цяло всичко изглежда много изгодно.

Вторият „вкусен“, но вече с муха в мехлема, плюс е наличието на доста универсални конфигурации от самия 1С и от партньори.

Относно гъвкавостта

Понятието "универсалност" е дефинирано от един учител в CWP, като използва примера на противогази: има универсални такива, които предпазват от много вредни фактори, но степента на защита е средна или под средната, а има и специализирани противогази които предпазват от един удар, но с висока степен на защита. Досега не съм срещал по-точно определение.
А конфигурациите от 1С са универсални. На практика няма задачи, при които те да могат да бъдат използвани напълно без модификации. Независимо от това, 1С успя да създаде универсален набор от инструменти, които покриват нуждите на повечето отрасли на съвременния бизнес.


Третият плюс (а също и с муха в мехлема) е мрежата от франчайзополучатели и учебни центрове, както за потребители, така и за начинаещи програмисти и администратори. Добра идея, но посредствено качество на изпълнение. Независимо от това, разпространението и агресивният маркетинг е една от причините за широко разпространената популярност на 1С у нас (а това е и причината за негативизъм, завист и омраза).

Лъжица катран

След като боядисахме 1С във всички цветове, би било несправедливо да не кажем за недостатъците му, а те наистина са:

Нестабилни издания- както в платформата, така и в конфигурациите има огромен брой грешки и проблеми. И това е в официалните версии. Преди да бъде пусната официалната версия, се издава „Версия за запознаване“. Има и обратна връзка за изпращане на описания на грешки, така че те да могат да бъдат приети за корекция. Или версиите за запознаване не са особено популярни, или самата компания 1С няма време да обработи всички писма до датата на пускане, но е факт. Всеки път, когато актуализирате платформата или конфигурацията, може да се натъкнете на най-неочакваните „изненади“. Компанията 1C вече многократно е била помолена да тества по-задълбочено разработките си.

Франчайзополучател (по-долу - франчайз)... В идеалния случай, според идеята, това трябва да са фирми с квалифицирани специалисти, които знаят основните принципи на конфигурациите и платформата. Същите тези фирми трябва да продадат платформата, конфигурацията и поддръжката, леко да „довършат“ универсалните конфигурации, за да отговорят на изискванията на клиента (и понякога да коригират тези изисквания), опитвайки се да модифицират стандартната конфигурация до минимум. За да не усложняваме твърде много бъдещите актуализации. В действителност е точно обратното.

Когато нови лицензи се продават на клиент, франковете получават 50% от стойността им (минус данък върху доходите 13% от тези 50%). В същото време не е необходимо да произвеждате нищо сами, просто трябва да прехвърлите ключовете от 1С на купувача.

При предоставяне на услуги, франчовете не плащат нищо на 1С (с изключение на членски внос), но трябва да плащат заплата на служител. Освен това трябва да харчите за данъци към държавата - ЗФР и данък върху доходите.

Оказва се, че както 1С, така и франкове са изгодни за продажба на лицензи и нерентабилни за предоставяне на допълнителна подкрепа. В същото време, за да може клиентът да закупи програма, тя трябва първоначално да бъде приспособена към неговите изисквания. И трябва да платите за работата. И тук, за да спестят пари, се привличат студенти, ученици и неспециалисти, на които можете да платите малко, а понякога изобщо да не плащате, те дори не могат да бъдат регистрирани в държавата (те ще работят неофициално, тъй като има за какво да платите). Резултатът е огромен брой продажби с много ниско качество. Подобренията обикновено засягат важни механизми и усложняват бъдещите актуализации. Но на етапа на продажба нито 1С, нито франчайзополучателят се интересуват от това.

Имайте предвид, че това не е толкова вината на бизнесмени от франчайзи, колкото на 1С. Фокусирайки се върху продажбите, тя изобщо не се е погрижила за подкрепа (сега не говоря за училища, а за това, че би трябвало да бъде изгодно както за франчайзополучателя, така и за 1С да предоставя подкрепа).

Техническа поддръжка.В разбирането на 1С, техническата поддръжка осигурява достъп до раздела "актуализация" за платформата и конфигурациите, както и до информационни раздели, съдържащи описание на някои от механизмите и характеристиките на работата на 1С. Освен това при абонамент се предоставя диск с посочените материали. Има и форум (много оскъден в сравнение с фолка). Възможно е също да изпратите имейл до 1С - но дори без да се надявате, че ще бъде отговорено (или роботът ще отговори „Писмото е изпратено до отдела за разработка.“ По отношение на разработката, Yandex.Poisk и помощта, вградена в конфигуратора, предоставя много повече поддръжка.

Епилог

Преминах на 1С през 2008 г., а преди това работех във компания, разработваща собствена счетоводна програма (Delphi 5, след това Delphi 7). Първо се запознах с платформата 1C Enterprise 7.7 и бях поразена от простотата на разработване на отчети в нея. В същото време беше ясно, че отчетите се генерират много по-дълго, отколкото при подобни механизми за Delphi, но счетоводителите не се интересуваха особено. Изчакването на няколко минути вместо на няколко секунди не е проблем. Напротив, можете да си боядисвате ноктите там, да пиете чай или да обсъждате последните новини, без да спирате от работа. В крайна сметка преобладаващото мнозинство от счетоводителите днес са жени.
Интерфейсът 7.7 обаче беше много ограничен и наборът от обекти беше доста оскъден. Търсих алтернативи. Запознах се с външните компоненти, но те не се използваха практически, т.к. шефът реши, че е време да преминем към 8.1 (да, 8.2 все още не беше там) и в тази платформа като програмист открих всичко, което ми липсваше по-рано.
В момента имам авторитет сред колеги, както и клиенти, дошли при мен от франчайзи. Вероятно никога повече няма да влязат в контакт с франкове.


Като цяло съм доста доволен от работата в платформата 1С Enterprise 8. Подходящ е за решаване на повечето счетоводни задачи и задачи с помощта на база данни.

Тагове: Добавяне на тагове