телевизори. Конзоли. Проектори и аксесоари. Технологии. Цифрова телевизия

Добавете 1s 8.2 таблична част на документа. Как програмно да попълните детайлите на ред от таблица

За предишния пример можете да добавите следните редове код:

Елементи на формуляр.TableField1.AddRow(); страница = FormElements.TableField1.CurrentRow; p.First = 3; p.Second = "Брашно"; стр.Количество = 350;

Как да определите броя на редовете в таблица със стойности в 1s 8?

countRows = table.Quantity(); Отчет ("Брой редове в таблицата със стойности на таблицата = " + брой редове);

Резултат:

Брой редове в таблицата със стойности на таблицата = 3

Как да изтрия ред в таблица със стойности в 1s 8?

rowTable = таблица; table.Delete(rowTable);

Как да свиете таблица със стойности в 1s 8?

свиване:

table.Collapse("Втори", "Количество");

Получаваме след навиване:

Как да сортирам таблица със стойности в 1s 8?

Сортиране по втора и трета колона:

table.Sort("Second, Quantity");

Как да позиционирам таблично поле на линия в 1c 8?

На втория ред:

Елементи на формуляр.TableField1.CurrentRow = таблица;

Форма за печат в 1s 8

Първо правим оформление (име на областта: изберете необходимите редове на оформлението, в свойствата, в полето Име въведете името на областта), след което го покажете в документ с електронна таблица:

Процедура CommandPanel1Print(Button) променлива td, rs, rs1, оформление, код, име, номен; код = 0; оформление = GetLayout("Продукти"); header = layout.GetArea("Header"); header.Parameters.datta = CurrentDate(); pc = layout.GetArea("pc"); pc1 = layout.GetArea("pc1"); td = Нов табличен документ; td.Output(cap); nomen = Директории.Номенклатура; селекция = nom.SelectHierarchically(); докато fetch.Next() цикъл код = код + 1; ако sample.ThisGroup = True тогава pc1.Parameters.code = код; pc1.Parameters.name = selection.Name; td.Изход(rs1); иначе rs.Parameters.code = код; rs.Parameters.name = selection.Name; td.Изтегляне(rs); endIf; край на цикъла; etc.ViewOnly = Вярно; td.Show("Директория ""Номенклатура"""); Край на процедурата

Табличните части съществуват за много обекти в 1C:

  • Справочници
  • Документация
  • Справки и обработка
  • Сметкопланове
  • Характерни типови планове
  • Планове от калкулационен тип
  • Бизнес процеси и задачи

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

Нека да разгледаме някои техники за работа с таблични части.

Как да заобиколите табличната част

За да преминете през частта на масата, можете да използвате цикъл За всеки

За всеки ред от табличната част на цикъла

Доклад(Низ. Атрибут TabularPart) ;

Краен цикъл;

При всяка итерация в променливата Линиясе предава следващият ред от табличния раздел. Стойностите на детайлите на реда могат да бъдат получени чрез израза Line.AttributeName.

Как да получите и заобиколите избрани редове от табличната част

За да изведете информация от табличната част на обекта, използвайте елемент на форма Поле за таблица. За да активирате възможността за избиране на няколко реда в поле на таблица, трябва да зададете стойността Многократнив неговия имот Режим на избор.

За да получите списък с избрани редове, използвайте следния код:

Използва се цикъл за преминаване през избраните редове. За всеки:

SelectedRows = FormElements. TableFieldName. SelectedRows;

За всеки ред от цикъла на избраните редове

//съдържание на цикъл

Краен цикъл;

Как програмно да изберете редове от таблична част (поле на таблица) и да премахнете избора им

За програмно премахване на избора на редове от поле на таблица:

Елементи на формата. TableFieldName. Избрани редове. Clear() ;

За да изберете програмно всички редове от поле на таблица:

За всеки CurrentRow From TabularPart Loop
Елементи на формата. TableFieldName. Избрани редове. Add(CurrentRow) ;
Краен цикъл;

Как да изчистите частта от масата

TabularPart. Clear() ;

Как да получите текущия ред на раздел на таблица

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

За обикновените форми кодът ще изглежда така:

Елементи на формата. TableFieldName. CurrentData;

За управлявани формуляри:

Елементи. TableFieldName. CurrentData;

Как да добавите нов ред към раздел на таблица

Добавяне на нов ред в края на частта от таблицата:

NewRow = TablePart. Добавяне();

Добавяне на нов ред навсякъде в раздела на таблицата (следващите редове ще бъдат изместени):

NewRow = TablePart. Вмъкване (индекс)
//Индекс - номер на добавения ред. Номерацията на редовете започва от нула.

Нова линия. Props1 = "Стойност" ;

Как програмно да попълните детайлите на ред от таблица

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

Процедурата, създадена от манипулатора, има три параметъра:

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

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

Процедура TabularPartAtStartEditing(Element, NewRow, Copy)

//Ако потребителят редактира съществуващ ред, ние не правим нищо
Ако НЕ NewRow Тогава
Връщане;
EndIf ;

//Ако редът е нов, задайте счетоводната сметка
TechString = Елемент. CurrentData; //Вземете текущия ред от табличната част
TechString. Счетоводство = Сметкопланове. Самоподдържащ се. RequiredAccount;
Край на процедурата

Всяко решение на 1C на платформата 1C:Enterprise 8 има широк набор от възможности. Има обаче универсални техники, които могат да се използват във всяка конфигурация. С тази статия откриваме поредица от публикации, в които методолозите на 1C ще говорят за универсалните възможности на платформата 1C:Enterprise 8. Да започнем с един от най важни методиповишаване на ефективността на работа - с описание на „горещи“ клавиши (действията от клавиатурата, като правило, се извършват по-бързо от подобни през менюто с помощта на мишката). След като усвоите бързите клавиши, ще опростите изпълнението на често повтарящи се действия.

маса 1

Действие

Комбинация от клавиши

Как работи програмата

Създавайте нов документ

Отворете съществуващ документ

Отворете калкулатора

Отваря калкулатора

Показване на свойства

Alt+Enter
Ctrl+E

Отворете прозореца на съобщението

Затворете прозореца на съобщението

Ctrl + Shift + Z

Отворено табло с резултати

Отваря таблото с резултати

Отворете помощ

Отваря помощ

Извикайте помощния индекс

Shift + Alt + F1

Извиква помощния индекс

Бързи клавиши: глобални действия

Глобалните действия са действия, които можете да извършвате във всяко състояние на програмата. Няма значение какво е отворено в момента в 1C:Enterprise. Основното е, че приложението не е заето да изпълнява никакви задачи.

Глобалните действия са действия, които могат да бъдат извикани навсякъде в работещата платформа 1C:Enterprise 8. Независимо какво точно се случва в текущата конфигурация, значението на глобалните действия не се променя (например натискането на Ctrl+N винаги ще изведе диалоговия прозорец за създаване на нов документ).

маса 1

Бързи клавиши за глобални действия

Действие

Комбинация от клавиши

Как работи програмата

Създайте нов документ

Отваря прозорец, в който ще бъдете помолени да изберете вида на новия документ, в който да бъде създаден различни формиданни - например в текст, таблица или HTML

Отворете съществуващ документ

Отваря стандартния диалогов прозорец "Отвори", достъпен през менюто "Файл/Отвори...".

Активиране на полето за търсене в командната лента

Поставя курсора в това поле

Отворете калкулатора

Отваря калкулатора

Показване на свойства

Alt+Enter
Ctrl+E

В зависимост от това върху какво е поставен курсорът, той отваря съответната палитра със свойства за този обект или елемент. Полезно при работа с таблици, текст, HTML и др.

Отворете прозореца на съобщението

Позволява ви да отворите предварително затворен прозорец за съобщения. Често е полезно, когато случайно затворите прозорец и имате нужда от съобщение от него. Моля, обърнете внимание: докато системата не е въвела нищо отново в прозореца за съобщения, старите съобщения се запазват дори ако прозорецът е затворен

Затворете прозореца на съобщението

Ctrl + Shift + Z

Затваря прозореца на съобщението, когато вече не е необходимо. Моля, обърнете внимание: комбинацията е избрана така, че да може лесно да се натиска с една ръка

Отворено табло с резултати

Отваря таблото с резултати

Отворете помощ

Отваря помощ

Извикайте помощния индекс

Shift + Alt + F1

Извиква помощния индекс

Бързи клавиши: общи действия

Общи действия- действия, които имат едно и също значение в различни конфигурационни обекти, но поведението на платформата 1C:Enterprise 8 се променя в зависимост от това къде точно използвате това или онова общо действие. Например, натискането на клавиша "Del" маркира текущия елемент на директория за изтриване, ако сте в прозореца със списък с елементи на директория. Или изтрива съдържанието на текущата клетка на документ с електронна таблица, ако го редактирате.

таблица 2

Бързи клавиши за общи действия

Действие

Комбинация от клавиши

Как работи програмата

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

Добавете

Позволява ви да добавите нов елемент

Запазва активния документ

Отпечатайте активния документ

Извиква диалоговия прозорец за печат за активния документ

Отпечатване на текущия принтер

Ctrl + Shift + P

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

Копиране в клипборда

Ctrl+C
Ctrl + Ins

Копия необходим елементили избрана група от елементи в клипборда на Windows

Изрязване в клипборда

Ctrl+X
Shift + Del

Изрязва необходимия елемент или избрана група от елементи в клипборда на Windows. Различава се от копирането по това, че копираният елемент или група се изтрива след влизане в буфера

Поставяне от клипборда

Ctrl+V
Shift + Ins

Поставя съществуващи данни от клипборда на Windows в мястото, маркирано с курсора.

Добавяне в клипборда като номер

Shift + Num + (*)

Използва се за числови стойности

Добавяне към клипборда

Shift + Num + (+)

Използва се за числови стойности. Операция за добавяне с данни в клипборда

Изваждане от клипборда

Shift + Num + (-)

Използва се за числови стойности. Операция за изваждане с данни в клипборда

Избери всички

Отказ последно действие

Ctrl+Z
Alt+BackSpace

Възстановяване на отменено действие

Ctrl+Y
Shift + Alt + BackSpace

Намери следващото

Намерете следващия маркиран

Намери предишен

Намерете предишен избор

Ctrl + Shift + F3

Сменете

Ctrl + Num + (-)

Избери всички

Избира всички налични елементи в активния документ

Отмяна на последното действие

Ctrl+Z
Alt+BackSpace

Отменя последното предприето действие

Възстановяване на отменено действие

Ctrl+Y
Shift + Alt + BackSpace

Позволява ви да отмените „Ctrl + Z“, с други думи - да върнете това, което сте направили преди да натиснете, отменете последното предприето действие

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

Намери следващото

Намира следващия елемент, който отговаря на параметрите, посочени в настройките за търсене

Намерете следващия маркиран

Намира следващия елемент, който съответства на този, който сте избрали (например, където е поставен курсорът)

Намери предишен

Намира предишния елемент, който съответства на параметрите, посочени в настройките за търсене

Намерете предишен избор

Ctrl + Shift + F3

Намира предишния елемент, съответстващ на този, който сте избрали

Сменете

Отваря диалоговия прозорец за намиране и замяна на стойности (където е позволено)

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

Ctrl + Num + (-)

Използва се там, където са налични дървовидни възли, маркирани с "+" или "-".

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

Ctrl + Alt + Num + (-)

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

Ctrl + Shift + Num + (-)

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

Ctrl + Num + (+)

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

Ctrl + Alt + Num + (+)

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

Ctrl + Shift + Num + (+)

Следваща страница

Ctrl + Page Down
Ctrl + Alt + F

Бързо превъртете през активния документ

Предишна страница

Ctrl + Page Up
Ctrl + Alt + B

Активиране/деактивиране на съдържание на мазнини

Използва се там, където форматирането на текст се поддържа и е възможно

Активиране/деактивиране на курсив

Активиране/деактивиране на подчертаване

Отидете на предишната уеб страница/помощна глава

Използва се в HTML документи

Отидете на следващата уеб страница/помощна глава

Прекратяване на изпълнението на системен отчет за съставяне на данни

Бързи клавиши: управление на прозорци

Този раздел комбинира клавишни комбинации, общи за всички прозорци и форми на платформата 1C:Enterprise.

Таблица 3

Бързи клавиши за управление на прозорци

Действие

Комбинация от клавиши

Как работи програмата

Затворете активен безплатен прозорец, модален диалог или приложение

Тази комбинация може бързо да завърши цялата конфигурация на платформата 1C:Enterprise, така че я използвайте внимателно

Затворете активния нормален прозорец

Затваря текущия нормален прозорец

Близо активен прозорец

Затваря текущия активен прозорец

Активирайте следващия нормален прозорец

Ctrl+Tab
Ctrl+F6

Позволява ви да активирате следния прозорец сред отворените в конфигурацията. Натискането в цикъл, докато държите клавиша Ctrl, ви позволява да превъртате през отворените прозорци „напред“

Активиране на предишния нормален прозорец

Ctrl + Shift + Tab
Ctrl + Shift + F6

Позволява ви да активирате предишния прозорец сред отворените в конфигурацията. Натискането в цикъл, докато държите клавиша Ctrl, ви позволява да превъртате през отворените прозорци "назад"

Активирайте следващата секция на прозореца

Активира следващата секция на текущия прозорец

Активиране на предишната секция на прозореца

Активира предишната секция на текущия прозорец

Извикване на системното меню на приложение или модален диалог

Позволява ви да видите системното меню с операции (минимизиране, преместване, затваряне и т.н.) над прозореца на програмата или отворен модален диалогов прозорец

Извикване на системното меню на прозореца (с изключение на модалните диалогови прозорци)

Alt + тире + (-)
Alt + Num + (-)

Позволява ви да видите системното меню с операции (минимизиране, преместване, затваряне и т.н.) над активния прозорец

Обадете се на главното меню

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

Извикайте контекстното меню

Показва контекстно меню над текущия активен елемент. Същото като щракнете с десния бутон върху него

Върнете активността в нормален прозорец

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

Бързи клавиши: управление на формуляри

Тук са събрани "горещи" клавиши, които опростяват и ускоряват работата с различни форми, създадени в конфигурации, написани на платформата 1C:Enterprise.

Таблица 4

Бързи клавиши за управление на формуляри

Действие

Комбинация от клавиши

Как работи програмата

Преминаване към следващия бутон за управление/извикване по подразбиране

Придвижване между контролите във формуляра "напред" (вижте раздела)

Извикване на бутона по подразбиране

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

Преминете към следващата контрола

Навигирайте между контролите във формуляр за напред

Отидете на предишния контрол

Преминаване между контролите на формуляра "назад"

Активира командната лента, свързана с активната контрола/формуляр

Активира основния панел с бутони за текущата форма. По този начин можете да избирате действия, без да използвате мишката

Навигирайте през групирани заедно контроли

нагоре
Надолу
Наляво
вярно

С помощта на клавишите със стрелки можете бързо да се придвижвате между групирани контроли

Затворете формата

Затваря текущия прозорец на формуляра

Възстановете позицията на прозореца

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

Бързи клавиши: работа със списъци и дървета

Бързите клавиши в този раздел ще ви помогнат да работите ефективно, без да използвате мишка, в многобройни списъци и дървета, които се използват активно в различни конфигурационни обекти на платформата 1C:Enterprise 8.

Таблица 5

Бързи клавиши за работа със списъци и дървета

Действие

Комбинация от клавиши

Как работи програмата

Отваря елемента, върху който е поставен курсорът, за редактиране. Ключът е подобен на действието "Редактиране" в лентата с бутони на стандартния формуляр

Актуализация

Ctrl + Shift + R
F5

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

копие

Създава нов елемент от списъка, като използва текущия елемент като шаблон. Подобно на бутона "Добавяне чрез копие".

Нова група

Създава нова група. Подобно на бутона "Добавяне на група".

Изтриване на ред

Директно изтриване на текущия елемент. внимание! Използвайте тази комбинация с изключително внимание при динамични списъци, тъй като изтриването не може да бъде отменено

Преместете ред нагоре

Ctrl + Shift + нагоре

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

Преместете ред надолу

Ctrl + Shift + надолу

В списъци, където е разрешено подреждане на редове, ви позволява да преместите текущия ред надолу. Подобно на бутона „Преместване надолу“.

Преместете елемент в друга група

Ctrl + Shift + M
Ctrl+F5

Позволява ви бързо да преместите текущия елемент (например директория) в друга група

Отидете едно ниво надолу, като същевременно разширявате групата

Премества се в папката, където е поставен курсорът

Отидете едно ниво нагоре (до „родител“)

Отива в горната част на папката, в която сте били

Завършете редактирането

Завършва редактирането на елемент от списък и запазва промените.

Спрете да търсите

Прекратява търсенето

Разширете възела на дървото

Използва се там, където са налични дървовидни възли, маркирани с "+" или "-".

Затворете възела на дървото

Разгънете всички възли на дървото

Смяна на квадратче за отметка

Обръща стойността на квадратчето за отметка на текущия елемент (включва или изключва)

Бързи клавиши: поле за въвеждане

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

Таблица 6

Бързи клавиши за полето за въвеждане

Действие

Комбинация от клавиши

Как работи програмата

Подобно на поведението при редактиране на обикновен текст, това ви позволява или да добавяте нови знаци към старите, когато въвеждате, или да презаписвате старите с нови

Бутон за избор

Избиране на подходящия обект, свързан с полето за въвеждане (например избиране необходимия документот списъка). Подобно на бутона за поле за въвеждане "Избор".

Бутон за отваряне

Ctrl + Shift + F4

Отваря формата на избрания обект в текущото поле за въвеждане. Същото като щракване върху бутона на полето за въвеждане "Отвори".

Чисто поле

Изчистване на поле за въвеждане от текущата му стойност

Работа с въведен текст в поле за въвеждане

Ctrl + BackSpace

Отидете в началото на реда

Отидете до края на реда

Щракване с показалеца на мишката върху бутона нагоре за бутон за настройка

Използвайте корекция, ако е активирана в полето за въвеждане. Например промяна на дати, броячи и т.н. Подобно на натискане на бутона "нагоре" на регулатора на полето за въвеждане

Щракване с показалеца на мишката надолу върху бутон за настройка

Използвайте корекция, ако е активирана в полето за въвеждане. Например промяна на дати, броячи и т.н. Подобно на натискане на бутона "надолу" на регулатора на полето за въвеждане

Бързи клавиши: поле за изображение

Картинно поле- това е стандартен елемент на платформата 1C:Enterprise 8 за показване графични изображения. Горещите клавиши ще помогнат, например, за удобно разглеждане на изображение, разположено в полето за картина.

Таблица 7

Бързи клавиши за полето за изображение

Действие

Комбинация от клавиши

Как работи програмата

Увеличавам

Мащабира картината

Отдалечавам

Превъртете

нагоре
Надолу
Наляво
вярно

Движение по картината

Превъртете нагоре размера на прозореца

Превъртете надолу размера на прозореца

Превъртете размера на прозореца наляво

Превъртете един размер на прозореца надясно

Бързи клавиши: Редактор на документи с електронни таблици

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

Таблица 8

Бързи клавиши за редактора на електронни таблици

Действие

Комбинация от клавиши

Как работи програмата

Отидете в клетката

Отваря диалогов прозорец за преминаване към клетка с координати на колона/ред

Придвижване през клетките

нагоре
Надолу
Наляво
вярно

Премества курсора през клетките на таблицата

Придвижване през клетки до следващата попълнена или празна

Ctrl + (нагоре, надолу, наляво, надясно)

Премества курсора през попълнените клетки на таблицата

Избиране на клетки

Shift + (нагоре, надолу, наляво, надясно)

Избира област от клетки, започваща с текущата

Превъртете страницата нагоре

Прелиства документ с електронна таблица

Превъртете страницата надолу

Превъртете една страница наляво

Превъртете една страница надясно

Отидете на редактиране на съдържанието на клетката

Активира режима за редактиране на съдържанието на клетката

Превключване на режима за редактиране/въвеждане в клетка

Отидете в началото на реда

Премества курсора в началото на реда

Отидете до края на реда

Премества курсора до края на реда

Отидете в началото на текста

Отидете до края на текста

Задаване на името на текущата област

Ctrl + Shift + N

Задава името на текущата област на клетката

Бързи клавиши: редактор на текстови документи

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

Таблица 9

Бързи клавиши за редактора на текстови документи

Действие

Комбинация от клавиши

Как работи програмата

Превключване на режима на вмъкване/замяна

Позволява ви или да добавяте нови знаци към старите при въвеждане, или да презапишете старите с нови

Отидете в началото на реда

Премества курсора в началото на текущия ред

Отидете до края на реда

Премества курсора до края на текущия ред

Изберете за начало на реда

Избира текст до началото на реда

Изберете до края на реда

Избира текст до края на реда

Отидете в началото на текста

Премества курсора в началото на текста

Отидете до края на текста

Премества курсора в края на текста

Изберете за начало на текст

Ctrl + Shift + Начало

Избира от курсора до началото на текста

Изберете до края на текста

Ctrl + Shift + End

Избира от курсора до края на текста

Превъртете един ред нагоре

Прелистване на текстов документ

Превъртете един ред надолу

Отидете в началото на предишната дума

Отидете в началото на следващата дума

Изберете предишна дума

Ctrl + Shift + наляво

Бързо маркиране на дума (знаци, разделени с интервали)

Изберете следващата дума

Ctrl + Shift + надясно

Превъртете страницата нагоре

Прелистване на текстов документ

Превъртете страницата надолу

Изберете предишна страницатекст

Маркира текст страница по страница

Изберете Следваща страницатекст

Shift + Page Down

Премахване на селекцията

Премахва селекцията

Отидете на линия

Премества курсора до номер на ред

Изтрийте знака отляво на курсора

Изтрива знака отляво на курсора

Изтрийте знака отдясно на курсора

Изтрива знака отдясно на курсора

Изтрийте думата отляво на курсора

Ctrl + BackSpace

Изтрива думата отляво на курсора

Изтрийте думата вдясно от курсора

Изтрива думата отдясно на курсора

Задаване/премахване на отметка

Маркира линията, от която се нуждаете

Следваща отметка

Мести курсора между маркираните редове

Предишна отметка

Изтриване на текущия ред

Изтрива текущия ред

Преместете блока надясно

Премества избрания блок от текст надясно

Преместете блока наляво

Премества избрания блок от текст наляво

ДА СЕ основни възможностиЕзиците за програмиране обикновено включват работа с числа и низове. Обикновено тези характеристики са твърдо кодирани в кода на компилатора (или са внедрени „базовите“ класове на езика за програмиране).

В 1C възможността за работа с низове е програмирана в самата платформа. Днес ще разгледаме характеристиките на работата с 1C низове в програми на вградения език 1C.

Стойност на линията 1C

1. Да започнем с най-простото. Създаването на променлива и присвояването на постоянна стойност на низ изглежда така в 1C:

Променлива = "Здравей, свят!";

Ако трябва да зададете символ за кавички в постоянна стойност на 1C низ, тогава трябва да го удвоите ""

Променлива = "Здравей, свят"!;

2. Прекъсване на ред 1C може да бъде зададено по два начина едновременно. Първият е използването на символа |

Променлива = "Здравейте,
| свят! ";

Второто е използването на системното изброяване на символите. Тя ви позволява да добавяте както 1C прекъсвания на редове, така и други непечатаеми символи, като TAB.

Променлива = "Здравей" + Символи.PS + "мир!";

3. Конфигурациите в 1C могат да бъдат разработени не само за един език (руски, английски или друг) - но едновременно за няколко езика. В този случай текущият използван език е избран в долната част на прозореца 1C.

Списъкът с езици се намира в прозореца за конфигурация в клона Общи/Езици. Всеки език има кратък идентификатор като напр ruили инж.

Ясно е, че при програмиране на такава конфигурация 1C линиите също могат да бъдат многоезични. За да направите това, е възможно да създадете такава линия 1C, като посочите чрез; опции по езиков идентификатор:

Променлива = "ru=""Здравей, свят! ""; en=""Здравей, свят! """;

Ако използвате линията 1C, образувана по този начин, както обикновено, тогава ще бъде това, което е написано в нея. За да може системата да го раздели на две опции и да използва желаната, трябва да използвате функцията НStr():

//правилно за двуезични конфигурации
Доклад(NSr(Променлива));

Подпори с линия тип 1C

Атрибутът е поле в директорията/документа на 1C. Тя се различава от променлива в програма на езика 1C по това, че за атрибута е точно посочен нейният тип (число, 1C низ и т.н.). Ако трябва да опресните паметта си какво е реквизит, гледайте урока нататък.

Ако посочите типа атрибут - ред 1C, тогава трябва допълнително да посочите параметрите.

Редовете 1C се предлагат с неограничена дължина (посочена като дължина = 0) и ограничена дължина, указваща точния брой знаци. 1C редовете с неограничена дължина се съхраняват в отделна SQL таблица, така че използването им е по-малко продуктивно от ограничените.

Ето защо използването на 1C низове с неограничена дължина има своите ограничения - не е възможно да се използват навсякъде. Например не е позволено като номер на документ, референтен код или измерване.

Работа с 1C низове

Има няколко вградени функции на платформата 1C за работа с низове.

  • AbbrLP („Невероятно, но вярно!“)
    Премахва излишните интервали от реда 1C. Може също да се използва за конвертиране на всякакви типове в 1C низ (например числа).
  • Променлива = "Вася" + AbbrLP(" плюс") + "Оля"; //ще има "Вася плюс Оля"
    Пример за сумиране на няколко стойности на 1C низ. Резултатът ще бъде един ред 1C.
  • Променлива = Лев("Музика", 2); //ще бъде "Му"
    Променлива = Средна ("Музика", 2, 2); //ще има "заплаха"
    Променлива = Права ("Музика", 2); //ще има "ка"
    Различни опции за получаване на подниз от низ 1C.
  • Променлива = Find("Музика", "zy"); // ще има 3
    Търсене на подниз в низ 1C, започващ със знак 1.
  • Променлива = StrLength("Музика"); // ще има 6
    Връща броя знаци в реда 1C.
  • Доклад ("Здравейте") // в прозореца за съобщения в долната част на прозореца 1C
    Alert("Hello") //изскачащ диалогов прозорец
    Status("Hello") //в реда за показване на състоянието долу вляво
    .

Привеждане на обекти в линия 1C

Както знаете, най-популярният формат за обмен на структурирана информация в момента е XML. Дори последна версияГ-ЦА Office Wordи Excel запазват файлове в този формат (docx и xlsx, съответно, променете разширението на zip, отворете в архиватор).

Платформата 1C за обмен на данни предоставя няколко опции, основната от които също е XML.

1. Най-простият метод е да използвате функцията Abbreviation() или String(). Можете да използвате функцията REPRESENTATION() в тялото на заявката. Резултатът от тяхното действие е същият - те генерират низово представяне на всеки 1C обект за потребителя.

За директория по подразбиране това ще бъде нейното име. За документ – име, номер и дата на документа.

2. Всеки 1C обект (с ограничения) може да бъде конвертиран в XML и обратно. Процесът на преобразуване се нарича сериализация.

StringViewXml = XMLString(стойност); //вземете XML от 1C стойност
Value1C = XMLValue(Type("DirectoryLink.Nomenclature"),TypeStringXml); //вземете 1C стойността от XML низа, трябва да посочите типа 1C, който трябва да бъде получен

3. Има собствен начин на платформата 1C за конвертиране на всеки 1C обект в низ. Мигрира от версия 1C 7.7. Този формат не се разбира от други програми, но други 1C го разбират, което улеснява използването му за обмен между 1C бази данни.

Ред = ValueInRowInt(Value1C); //вземете низ 1C от стойност 1C
ValueVFile("C:\MyFile.txt", Value1C); // друга опция, получаваме файл със записан низ от стойността 1C
Value1C = ValueFromStringInt(String); //назад от ред 1C
Value1C = ValueFile("C:\MyFile.txt"); //назад от файла

Редактиране на 1C линии във формуляра

В допълнение към работата с 1C низове в програма на езика 1C, разбира се, бих искал потребителят да може да ги редактира. Има няколко възможности за това:

1. Най-лесният начин е да поискате въвеждането на линия 1C при поискване. Този метод се използва при преподаване на програмиране на 1C, в живота се използва много по-рядко (но се използва!).

Променлива = "";
Ред = EnterValue(Променлива, "Въведете пълно име");

2. За да се покажат подробности за 1C обект (директория/документ) или подробности за формуляр (вижте), най-често се използва поле за въвеждане. Това е най-разпространеният инструмент в 1C за потребителя да работи с полета за редактиране.

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

  • Квадратче за отметка Многоредов режим на редактиране
  • Квадратче за отметка за разширено редактиране (достъпно, ако предишното квадратче за отметка е отметнато)
  • Квадратче за отметка Режим на парола (вижте).

4. Ако всички възможности на полето за въвеждане не са ви достатъчни, има вграден редактор. За да го добавите към формуляра, трябва да добавите поле към контролното меню Form/Insert текстов документ. В свойствата му можете да посочите режима му на работа – свойството Разширение.

Поле на текстов документ не може да бъде свързано директно с данни. Необходимо е да напишете функция в манипулатора на събитие OnOpen() на формата (вижте):

Form Elements.ElementNameTextDocumentField.SetText(StringValue); //тук ValueString е текстът, получен например от атрибута

И в манипулатора за запазване - например в бутона Запазване - добавете запис:

ValueString = FormElements.ElementNameTextDocumentField.GetText(); //Стойност Редът тук е атрибутът, където запазваме стойността

5. В 1C версия 8.2.11, в управлявани форми, имаше нова възможност 1C редово представяне – форматирано поле на документа.


Подобно на полето на текстов документ, трябва да го зададете при отварянето му и да го запишете, когато го запазвате сами с помощта на програмата.

  • В обекта 1C, чиято форма създаваме (директория, документ, обработка и т.н.) - добавете атрибут с тип Съхранение на стойност
  • Във функцията OnReadOnServer() задаваме текста от атрибута

    // тук Атрибутът е добавеният атрибут на 1C обекта
    //тук FormattedDocument е името на полето във формата за редактиране
    &На сървъра

    FormattedDocument = CurrentObject.Attributes.Get();
    Край на процедурата

  • Във функцията BeforeWritingOnServer() или чрез бутона ще напишем текста от полето

    &На сървъра
    Процедура при четене на сървър (текущ обект)
    CurrentObject.Props = NewValueStorage(FormattedDocument);
    Край на процедурата

Номерът на реда на табличния раздел (документ) се задава въз основа на максималния брой избранилинии.

В същото време самата програма 1C „измества“ номерата на редовете (чийто брой БЕШЕ по-голям или равен на номера на току-що вмъкнатия ред), така че да няма съвпадения на числа на различни редове.

Оказва се, че можете да вмъкнете нов ред в средата на таблицата с документи, ако използвате избора на редове в табличния раздел. Или дори можете да вмъкнете нов ред в първата позиция на табличната част :), ако изборът на табличната част не съдържа никакви редове.

Как да присвоите нова линиячисло въз основа на максималния брой сред всички редове в табличния раздел? Оказа се, че атрибутът RowNumber е само за четене дори за новодобавени редове, така че не е възможно да му се присвои никаква стойност за нов ред.

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

Малко по-сложно решение е да извикате метода Reset() в колекцията RowSelection на таблично поле (свързано с частта от таблицата). Потребителите могат да добавят ред, но изборът няма да бъде успешен. Това е нелогично и следователно не е оправдано.

Реших този проблем („присвояване на номер на новия ред въз основа на максималния брой сред всички редове в раздела на таблицата“) меко нулиранеи възстановяване на селекцията от редове в табличния раздел. В модула на формуляра (в началото на текста на модула) декларирах локална променлива locSelection1 Structure, в самия край на модула (в секцията за инициализиране на променливи на формуляр) я инициализирах:

locSelectionStructure1 = Нова структура;

Работна процедура преди започване на добавяне (елемент, отхвърляне, копиране)



locSelectionStructure1.Clear();
За всеки елемент за избор 1 от редове за избор 1 цикъл
locSelectionStructure1.Insert(SelectionElement1.Name, SelectionElement1.Use);
EndCycle;

SelectRow1.Reset();

Край на процедурата

Операционна процедураWhenEditingStart(Element, NewLine, Copy)

// когато се приложи селекция към табличната част, номерът на реда се присвоява въз основа на максималния брой редове във видимата област!!!
// така че първо ще нулираме селекцията и след това ще я възстановим
// localSelectionStructure1 работи като предавателна връзка между процедурите на WorkBeforeStartingAdding и WorkWhenEditingStart

Избор на ред1 = FormElements.Work.Избор на ред;

За всеки елемент за избор 1 от структура за избор 1 цикъл
RowSelection1[SelectionElement1.Key].Usage = SelectionElement1.Value;
EndCycle;
locSelectionStructure1.Clear();

Край на процедурата

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



Свързани публикации