Novas funções para trabalhar com strings. Novas funções para trabalhar com strings 1c conversão em string

Os recursos básicos de uma linguagem de programação geralmente incluem trabalhar com números e strings. Geralmente esses recursos são codificados no código do compilador (ou as classes “base” da linguagem de programação são implementadas).

Em 1C, a capacidade de trabalhar com strings é programada na própria plataforma. Hoje veremos os recursos de trabalho com strings 1C em programas na linguagem 1C integrada.

Valor da linha 1C

1. Vamos começar com o mais simples. Criar uma variável e atribuir um valor de string constante a ela é assim em 1C:

Variável = "Olá, mundo!";

Se você precisar especificar um caractere de aspas em um valor de string 1C constante, será necessário dobrá-lo “”

Variável = "Olá, mundo"!;

2. A quebra de linha 1C pode ser especificada de duas maneiras ao mesmo tempo. A primeira é usar o símbolo |

Variável = "Olá,
| mundo! ";

A segunda é usar a enumeração do sistema de símbolos. Ele permite adicionar quebras de linha 1C e outros caracteres não imprimíveis, como TAB.

Variável = "Olá" + Símbolos.PS + "paz!";

3. As configurações em 1C podem ser desenvolvidas não apenas para um idioma (russo, inglês ou outro) - mas simultaneamente para vários idiomas. Neste caso, o idioma atualmente utilizado é selecionado na parte inferior da janela 1C.

A lista de idiomas está localizada na janela de configuração no ramo Geral/Idiomas. Cada idioma possui um identificador curto, como ru ou inglês.

É claro que ao programar tal configuração, as linhas 1C também podem ser multilíngues. Para fazer isso, é possível criar uma linha 1C especificando through; opções por identificador de idioma:

Variável = "ru=""Olá, mundo! ""; en=""Olá, mundo! """;

Se você usar a linha 1C formada desta forma como de costume, então será o que está escrito nela. Para que o sistema o divida em duas opções e utilize a desejada, é necessário utilizar a função НStr():

//corrige para configurações bilíngues
Relatório(NStr(Variável));

Adereços com linha tipo 1C

O atributo é um campo no diretório/documento 1C. Difere de uma variável em um programa na linguagem 1C porque seu tipo é indicado com precisão para o atributo (número, string 1C, etc.). Se você precisar refrescar a memória sobre o que é um adereço, assista à lição.

Se você especificar o tipo de atributo - linha 1C, deverá especificar adicionalmente os parâmetros.

As linhas 1C vêm em comprimento ilimitado (indicado como comprimento = 0) e comprimento limitado, indicando o número exato de caracteres. As linhas 1C de comprimento ilimitado são armazenadas em uma tabela SQL separada, portanto, seu uso é menos produtivo do que as limitadas.

É por isso que o uso de strings 1C de comprimento ilimitado tem suas limitações - não é possível usá-las em todos os lugares. Por exemplo, não é permitido como número de documento, código de referência ou medição.

Trabalhando com strings 1C

Existem várias funções integradas da plataforma 1C para trabalhar com strings.

  • AbbrLP (“Incrível, mas é verdade!”)
    Remove espaços extras da linha 1C. Também pode ser usado para converter qualquer tipo em uma string 1C (por exemplo, números).
  • Variável = "Vasya" + AbbrLP("mais") + "Olya"; //haverá "Vasya mais Olya"
    Um exemplo de soma de vários valores de string 1C. O resultado será uma linha 1C.
  • Variável = Lev("Música", 2); //será "Mu"
    Variável = Médio("Música", 2, 2); //haverá "ameaça"
    Variável = Direitos("Música", 2); //haverá "ka"
    Várias opções para obter uma substring de uma string 1C.
  • Variável = Find("Música", "zy"); //serão 3
    Procure uma substring na string 1C, começando com o caractere 1.
  • Variável = StrLength("Música"); //serão 6
    Retorna o número de caracteres na linha 1C.
  • Report("Hello") //na janela de mensagem na parte inferior da janela 1C
    Alert("Olá") //caixa de diálogo pop-up
    Status("Hello") //na linha de exibição de status no canto inferior esquerdo
    .

Trazendo objetos para a linha 1C

Como você sabe, o formato mais popular para troca de informações estruturadas atualmente é o XML. Mesmo a versão mais recente do MS Office Word e Excel salva arquivos neste formato (docx e xlsx, respectivamente, alteram a extensão para zip, abre em um arquivador).

A plataforma 1C para troca de dados oferece diversas opções, sendo a principal delas também o XML.

1. O método mais simples é usar a função Abbreviation() ou String(). Você pode usar a função REPRESENTATION() no corpo da solicitação. O resultado de sua ação é o mesmo - eles geram uma representação em string de qualquer objeto 1C para o usuário.

Para um diretório, por padrão, este será o seu nome. Para um documento – nome, número e data do documento.

2. Qualquer objeto 1C (com restrições) pode ser convertido em XML e vice-versa. O processo de conversão é chamado de serialização.

StringViewXml = XMLString(Valor); //obtém XML do valor 1C
Valor1C = XMLValue(Type("DirectoryLink.Nomenclature"),TypeStringXml); //obtém o valor 1C da string XML, você deve especificar o tipo 1C que deve ser recebido

3. Existe uma maneira própria da plataforma 1C de converter qualquer objeto 1C em uma string. Migrou da versão 1C 7.7. Este formato não é compreendido por outros programas, mas outro 1C o compreende, o que facilita sua utilização para troca entre bancos de dados 1C.

Linha = ValorInRowInt(Valor1C); //obtém a string 1C do valor 1C
ValueVFile("C:\MeuArquivo.txt", Valor1C); //outra opção, obtemos um arquivo com uma string salva do valor 1C
Valor1C = ValorFromStringInt(String); //volta da linha 1C
Valor1C = ValueFile("C:\MeuArquivo.txt"); //volta do arquivo

Editando linhas 1C no formulário

Além de trabalhar com strings 1C em um programa na linguagem 1C, é claro que gostaria que o usuário pudesse editá-las. Existem várias possibilidades para isso:

1. A maneira mais fácil é solicitar a entrada de uma linha 1C sob demanda. Este método é usado no ensino de programação 1C, na vida é usado com muito menos frequência (mas é usado!).

Variável = "";
Linha = EnterValue(Variável, "Digite o Nome Completo");

2. Para exibir os detalhes de um objeto 1C (diretório/documento) ou detalhes do formulário (consulte), um campo de entrada é mais frequentemente usado. Esta é a ferramenta mais comum em 1C para o usuário trabalhar com edição de campos.

3. Os recursos do campo de entrada podem ser expandidos (veja propriedades do campo de entrada, clique com o botão direito sobre ele, mais detalhes):

  • Caixa de seleção Modo de edição multilinha
  • Caixa de seleção de edição avançada (disponível se a caixa de seleção anterior estiver marcada)
  • Caixa de seleção Modo de senha (consulte).

4. Se todos os recursos do campo de entrada não forem suficientes para você, existe um editor integrado. Para adicioná-lo ao formulário, você precisa adicionar um campo de documento de texto ao menu Formulário/Inserir controle. Em suas propriedades você pode especificar seu modo de operação – a propriedade Extensão.

Um campo de documento de texto não pode ser associado diretamente aos dados. É necessário escrever uma função no manipulador de eventos OnOpen() do formulário (veja):

Formulário Elements.ElementNameTextDocumentField.SetText(StringValue); //aqui ValueString é o texto recebido, por exemplo, do atributo

E no gerenciador de salvamento - por exemplo, no botão Salvar - adicione um salvamento:

ValueString = FormElements.ElementNameTextDocumentField.GetText(); //ValorA linha aqui é o atributo onde salvamos o valor

5. Na versão 1C 8.2.11, nos formulários gerenciados, surgiu uma nova opção para representar uma linha 1C - o campo Documento Formatado.


Semelhante ao campo de um documento de texto, você deve defini-lo ao abri-lo e anotá-lo ao salvá-lo usando o programa.

  • No objeto 1C cujo formulário estamos criando (diretório, documento, processamento, etc.) - adicione um atributo com o tipo Value Storage
  • Na função OnReadOnServer() definimos o texto do atributo

    //aqui o Atributo é o atributo adicionado do objeto 1C
    //aqui FormattedDocument é o nome do campo no formulário para edição
    &No servidor

    FormattedDocument = CurrentObject.Attributes.Get();
    Fim do procedimento

  • Na função BeforeWritingOnServer() ou através do botão, escreveremos o texto do campo

    &No servidor
    Procedimento ao ReadingOnServer(CurrentObject)
    CurrentObject.Props = NewValueStorage(FormattedDocument);
    Fim do procedimento

As linhas em 1C 8.3 na linguagem integrada 1C representam valores de um tipo primitivo Linha. Valores desse tipo contêm uma string Unicode de comprimento arbitrário. Variáveis ​​​​do tipo string são um conjunto de caracteres entre aspas.

Exemplo 1. Vamos criar uma variável string com texto.

StringVariable = "Olá, mundo!";

Funções para trabalhar com strings em 1s 8.3

Esta seção fornecerá as principais funções que permitem alterar as linhas em 1c ou analisar as informações nelas contidas.

Comprimento da Força

Comprimento da Força(<Строка>) . Retorna o número de caracteres contidos na string passada como parâmetro.

Exemplo 2. Vamos contar o número de caracteres na linha “Olá, mundo!”

String = "Olá, mundo!"; Número de caracteres = StrLength(String); Relatório(NúmeroCaracteres);

O resultado da execução deste código será a exibição do número de caracteres na linha: 11.

AbbrL

AbbrL(<Строка>) . Apara caracteres não significativos à esquerda do primeiro caractere significativo na string.
Personagens secundários:

  • espaço;
  • Espaço inquebrável;
  • tabulação;
  • retorno de carro;
  • tradução de linha;
  • tradução do formulário (página).

Exemplo 3. Remova todos os espaços do lado esquerdo da linha “mundo!” e adicione a linha “Olá” a ele.

String = Abreviatura("mundo!"); String = "Olá"+String; Relatório(Sequência);

O resultado da execução deste código será a exibição da linha “Hello world!” na tela.

Abreviado

Abreviação(<Строка>) . Apara caracteres não significativos à direita do primeiro caractere significativo na string.

Exemplo 4. Forme a partir das linhas “Olá” e “paz!” a frase “Olá, mundo!”

Linha = Abreviação("Olá ")+" "+ Abreviação("mundo!"); Relatório(Sequência);

AbbrLP

AbbrLP(<Строка>) . Apara caracteres não significativos à direita do primeiro caractere significativo na string e também apara caracteres não significativos à esquerda do primeiro caractere significativo na string. Esta função é usada com mais frequência que as duas anteriores, pois é mais universal.

Exemplo 5. Remova os caracteres insignificantes à esquerda e à direita do nome da contraparte.

Contraparte = Diretórios.Contrapartes.Find By Details("TIN", "0777121211"); ContaObject = Conta.GetObject(); CounterpartyObject.Name = AbbrLP(CounterpartyObject.Name); AccountObject.Write();

um leão

Um leão(<Строка>, <ЧислоСимволов>) . Obtém os primeiros caracteres da string, o número de caracteres é especificado no parâmetro Número de caracteres.

Exemplo 6. Deixe entrar a estrutura Funcionário conter o nome, sobrenome e patronímico do funcionário. Obtenha uma string com sobrenome e iniciais.

NomeInicial = Lev(Funcionário.Nome, 1); Inicial do Patronímico = Leo(Funcionário. Patronímico, 1); FullName = Employee.LastName + " " + Inicial do Nome + "." + Inicial do meio + ".";

Certo

Certo(<Строка>, <ЧислоСимволов>) . Obtém os últimos caracteres de uma string, o número de caracteres especificado no parâmetro Número de caracteres. Se o número especificado de caracteres exceder o comprimento da string, a string inteira será retornada.

Exemplo 7. Deixe uma data no formato “aaaammdd” ser escrita no final de uma variável string, pegue uma string com a data e converta para o tipo data.

String = "Data atual: 20170910"; StringDate = Direitos(String, 8); Data = Data(StringData);

Quarta-feira

Quarta-feira(<Строка>, <НачальныйНомер>, <ЧислоСимволов>) . Obtém uma substring da string passada como parâmetro Linha, começando pelo caractere cujo número é especificado no parâmetro Número Inicial e o comprimento passado para o parâmetro Número de caracteres. A numeração dos caracteres em uma linha começa em 1. Se no parâmetro Número Inicial um valor menor ou igual a zero for especificado, o parâmetro assumirá o valor 1. Se o parâmetro Número de caracteres não for especificado, os caracteres até o final da linha serão selecionados.

Exemplo 8. Deixe a variável string começando na nona posição conter o código da região, você deve obtê-lo e escrevê-lo em uma linha separada.

String = "Região: 99 Moscou"; Região = Média(String, 9, 2);

Encontrar página

StrFind(<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>) . Pesquisa uma substring especificada em uma string, retornando o número da posição do primeiro caractere da substring encontrada. Vejamos os parâmetros desta função:

  • Linha. Sequência de origem;
  • Substring de pesquisa. Substring de pesquisa;
  • Direção de pesquisa. Especifica a direção para procurar uma substring em uma string. Pode assumir valores:
    • Direção de pesquisa. Do início;
    • Direção Search.End;
  • Posição inicial. Especifica a posição na sequência em que a pesquisa começa;
  • Número de ocorrências. Especifica o número de ocorrência da subsequência pesquisada na sequência de origem.

Exemplo 9. Na linha “Olá, mundo!” Determine a posição da última ocorrência do caractere “e”.

PositionNumber = StrFind("Olá mundo!", "e", SearchDirection.End); Relatório(PosiçãoNúmero);

O resultado da execução deste código será exibir o número da última ocorrência do símbolo “e”: 9.

VReg

VReg(<Строка>) . Converte todos os caracteres da string especificada em 1s8 em letras maiúsculas.

Exemplo 10: Converta a string “olá mundo!” para maiúsculas.

StringVreg = VReg("Olá mundo!"); Relatório(StringVreg);

O resultado da execução deste código será a exibição da linha “OLÁ MUNDO!”

NReg

NReg(<Строка>) . Converte todos os caracteres da string especificada em 1s 8 em minúsculas.

Exemplo 11: Converta a string "OLÁ MUNDO!" para minúsculas.

StringNreg = NReg("OLÁ MUNDO!"); Relatório(StringVreg);

O resultado da execução deste código será a exibição da linha “olá mundo!”

Treg

TReg(<Строка>) . Converte uma string da seguinte maneira: o primeiro caractere de cada palavra é convertido em maiúsculas, os caracteres restantes da palavra são convertidos em minúsculas.

Exemplo 12: Coloque as primeiras letras das palavras em maiúscula na linha “olá mundo!”

StringTreg = TReg("Olá mundo!"); Relatório(StringTreg);

O resultado da execução deste código será a exibição da linha “Hello World!”

Símbolo

Símbolo(<КодСимвола>) . Obtém um caractere pelo seu código Unicod.

Exemplo 13. Adicione esquerda e direita à linha “Hello World!” símbolo ★

StringWithStars = Símbolo("9733")+"Olá Mundo!"+Symbol("9733"); Relatório(StringWithStars);

O resultado da execução deste código será a exibição da linha “★Hello World!★”

Código do Símbolo

CódigoSímbolo(<Строка>, <НомерСимвола>) . Obtém o código de caracteres Unicode da sequência especificada no primeiro parâmetro, localizada na posição especificada no segundo parâmetro.

Exemplo 14. Descubra o código do último caractere da linha “Hello World!”

String = "Olá mundo!"; CharacterCode = CharacterCode(String, StrLength(String)); Notificar(CharacterCode);

O resultado da execução deste código será a exibição do código do símbolo “!” - 33.

Linha vazia

Linha vazia (<Строка>) . Verifica se a string consiste apenas em caracteres insignificantes, ou seja, se está vazia.

Exemplo 15. Verifique se uma string composta por três espaços está vazia.

Vazio = VazioString(" "); Relatório(Vazio);

O resultado da execução deste código será a exibição da palavra “Sim” (uma expressão de string de um valor lógico Verdadeiro).

Substituição de página

StrReplace(<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) . Encontra todas as ocorrências da substring de pesquisa na string de origem e a substitui pela substring de substituição.

Exemplo 16. Na linha “Hello World!” substitua a palavra “Paz” pela palavra “Amigos”.

String = StrReplace("Olá Mundo!", "Mundo", "Amigos"); Relatório(Sequência);

O resultado da execução deste código será a exibição da linha “Olá amigos!”

StrNumberLines

StrNumberRow(<Строка>) . Permite contar o número de linhas em uma string multilinha. Para ir para uma nova linha em 1s 8, use o símbolo PS(caractere de nova linha).

Exemplo 17. Determine o número de linhas do texto:
"Primeira linha
Segunda linha
Terceira linha"

Number = StrNumberString("Primeira linha"+Characters.PS +"Segunda linha"+Symbols.PS +"Terceira linha"); Número do relatório);

O resultado da execução deste código será a exibição do número de linhas do texto: 3

StrGetString

StrGetString(<Строка>, <НомерСтроки>) . Obtém uma linha em uma string multilinha por seu número. A numeração das linhas começa em 1.

Exemplo 18. Obtenha a última linha do texto:
"Primeira linha
Segunda linha
Terceira linha"

Texto = "Primeira linha" + Símbolos. PS + "Segunda linha" + Símbolos. PS + "Terceira linha"; ÚltimaRow = StrGetRow(Texto, StrNumberLines(Texto)); Relatório(ÚltimaLinha);

O resultado da execução deste código será a exibição da linha “Terceira Linha”.

PageNumberOcorrências

StrNumberOcorrências(<Строка>, <ПодстрокаПоиска>) . Retorna o número de ocorrências da substring especificada em uma string. A função diferencia maiúsculas de minúsculas.

Exemplo 19. Determine quantas vezes a letra “c” aparece na linha “Linhas em 1s 8.3 e 8.2”, independente de seu caso.

Linha = "Linhas em 1s 8.3 e 8.2"; NumberOccurrences = StrNumberOccurrences(Vreg(String), "C"); Relatório(NúmeroOcorrências);

O resultado da execução deste código será a exibição do número de ocorrências: 2.

Página começa com

StrStartsWith(<Строка>, <СтрокаПоиска>) . Verifica se a string passada no primeiro parâmetro começa com a string do segundo parâmetro.

Exemplo 20. Determine se o TIN da contraparte selecionada começa com o número 1. Deixe entrar a variável Contraparte Contrapartes.

TIN = Contraparte.TIN; StartsUNits = StrStartsWith(TIN, "1"); If Começa com unidades Then //Seu código EndIf;

PageEndsOn

StrEndsWith(<Строка>, <СтрокаПоиска>) . Verifica se a string passada no primeiro parâmetro termina com a string do segundo parâmetro.

Exemplo 21. Determine se o TIN da contraparte selecionada termina com o número 2. Deixe entrar a variável Contraparte uma referência a um elemento de diretório é armazenada Contrapartes.

TIN = Contraparte.TIN; TerminaComDois = StrEndsWith(TIN, "2"); If EndsInTwo Then //Seu código EndIf;

Divisão de página

StrDivide(<Строка>, <Разделитель>, <ВключатьПустые>) . Divide uma string em partes usando os caracteres delimitadores especificados e grava as strings resultantes em uma matriz. O primeiro parâmetro armazena a string de origem, o segundo contém a string que contém o delimitador e o terceiro indica se strings vazias devem ser escritas no array (por padrão Verdadeiro).

Exemplo 22. Tenhamos uma string contendo números separados pelo símbolo “;”, obtenha um array de números da string.

Sequência = "1; 2; 3"; Array = StrDivide(String, ";"); Para contagem = 0 por Array.Quantity() - tentativa de 1 ciclo Array[Count] = Number(AbbrLP(Array[Count])); Matriz de exceção[Sch] = 0; EndAttemptsEndCycle;

Como resultado da execução, será obtido um array com números de 1 a 3.

PageConnect

StrConnect(<Строки>, <Разделитель>) . Converte a matriz de strings do primeiro parâmetro em uma string contendo todos os elementos da matriz separados pelo delimitador especificado no segundo parâmetro.

Exemplo 23. Usando a matriz de números do exemplo anterior, obtenha a string original.

Para Conta = 0 Por Array.Quantity() - 1 Ciclo Array[Act] = String(Array[Act]); Fim do Ciclo; Linha = StrConnect(Array, "; ");

Implementado na versão 8.3.6.1977.

Expandimos o conjunto de funções projetadas para trabalhar com strings. Fizemos isso para fornecer ferramentas mais avançadas para analisar dados de string. As novas funções serão convenientes e úteis em tarefas tecnológicas de análise de texto. Em tarefas relacionadas à análise de texto que contém dados em formato formatado. Pode ser uma análise de alguns arquivos recebidos do equipamento, ou, por exemplo, uma análise de um registro tecnológico.

Você poderia executar todas as ações que executavam novas funções antes. Usando algoritmos mais ou menos complexos escritos em uma linguagem integrada. Portanto, as novas funções não oferecem recursos fundamentalmente novos. No entanto, eles permitem reduzir a quantidade de código e torná-lo mais simples e compreensível. Além disso, permitem agilizar a execução das ações. Porque as funções implementadas na plataforma funcionam, é claro, mais rápido do que um algoritmo semelhante escrito em uma linguagem integrada.

Função de formatação StrTemplate()

Esta função substitui parâmetros em uma string. A necessidade de tal conversão surge frequentemente, por exemplo, ao exibir mensagens de aviso. A sintaxe desta função é a seguinte:

StrTemplate(<Шаблон>, <Значение1-Значение10>)

<Шаблон>- esta é a string na qual você precisa substituir as representações dos parâmetros.

<Значение1> , ... <Значение10>- são parâmetros (máximo dez), cujas representações devem ser substituídas na string.

Para indicar um local específico no template onde deseja realizar a substituição, você precisa usar marcadores como %1, ... %10. O número de marcadores envolvidos no modelo e o número de parâmetros contendo valores devem corresponder.

Por exemplo, o resultado da execução de tal operador:

haverá uma linha:

Erro de dados na linha 2 (tipo de data obrigatório)

Função para trabalhar com strings StrCompare()

Esta função compara duas strings sem distinção entre maiúsculas e minúsculas. Por exemplo, assim:

Você poderia executar a mesma ação anteriormente usando o objeto Comparação de valores:

No entanto, usar o novo recurso parece mais fácil. E além disso, a função, ao contrário do objeto Value Comparison, funciona tanto no thin client quanto no web client.

Funções para trabalhar com strings StrStartsWith(), StrEndsAt()

Essas funções determinam se uma string começa com uma substring especificada ou se uma string termina com uma substring especificada. O algoritmo para essas funções não é difícil de implementar em uma linguagem incorporada, mas sua presença permite escrever um código mais limpo e compreensível. E eles trabalham mais rápido.

Por exemplo, eles são convenientes para usar na instrução If:

Funções para trabalhar com strings StrDivide(), StrConnect()

Essas funções dividem uma string em partes usando um delimitador especificado. Ou vice-versa, combinam várias linhas em uma, inserindo o separador selecionado entre elas. Eles são convenientes para criar ou analisar logs e diários tecnológicos. Por exemplo, você pode facilmente analisar uma entrada de registro tecnológico em partes adequadas para análise posterior:

Função para trabalhar com strings StrFind()

Em vez da antiga função Find(), implementamos uma nova função que possui recursos adicionais:

  • Pesquise em diferentes direções (do início, do fim);
  • Pesquise a partir de uma posição especificada;
  • Pesquise uma ocorrência com um número especificado (segundo, terceiro, etc.).

Na verdade, duplica as capacidades da função antiga. Isto é feito para manter a compatibilidade com módulos compilados em versões mais antigas. É recomendado que você não use mais a antiga função Find().

Abaixo está um exemplo usando os novos recursos de pesquisa. A pesquisa reversa é útil quando você precisa da última parte de uma string formalizada, como o nome completo do arquivo em uma URL. E pesquisar a partir de uma posição especificada ajuda nos casos em que você precisa pesquisar em um fragmento conhecido, e não na linha inteira.

Olá a todos
Hoje me pediram para não exibir o prefixo do documento ao imprimir um documento de implementação, resolvi o problema da seguinte forma.

StrReplace(Número, Lev(Número, 3), "" );

Quando olhei para o assistente de sintaxe, gostei tanto que quis escrever sobre trabalhando com strings em 1C:Enterprise.

Uma string em 1C refere-se a um tipo de dados primitivo.

Se você olhar a ajuda 1C, veremos a seguinte descrição do tipo String:
Valores desse tipo contêm uma string Unicode de comprimento arbitrário.
Se você usar suas próprias palavras sobre strings, funcionará. Uma string é uma constante composta por vários caracteres, sempre entre aspas.

Definindo uma linha
Saudação = "Olá Passageiro";

Linhas multilinhas em configurações típicas são geralmente criadas usando o separador vertical “|”:
String = "Multilinha
|string
|escrever
|texto";

As aspas dentro de uma string são especificadas por aspas duplas.
String = ""Texto entre aspas"";

Existem muitas operações em strings (pesquisar dentro da string, determinar as primeiras, etc.), é melhor dar uma olhada no Syntax Assistant.
Syntax Helper - Descrição geral da linguagem integrada -> funções integradas -> funções para trabalhar com strings.

Funções para trabalhar com strings

Aqui está um breve resumo das funções para trabalhar com strings:

VReg(<Строка>) — A função converte todos os caracteres da string em letras maiúsculas.

CódigoSímbolo(<Строка>, <НомерСимвола>) – A função recebe o código do caracter localizado na string transmitida na posição com o número especificado.

Um leão(<Строка>, <ЧислоСимволов>) – A função seleciona os primeiros caracteres à esquerda da string.

Encontrar(<Строка>, <ПодстрокаПоиска>) — A função encontra uma ocorrência da string de pesquisa como uma substring na string de origem.

NReg(<Строка>) — A função converte todos os caracteres da string em letras minúsculas.

Certo(<Строка>, <ЧислоСимволов>) – Esta função difere das funções Left porque seleciona os últimos caracteres à direita da string.

Linha vazia (<Строка>) — A função verifica a string quanto à presença de caracteres significativos.

Símbolo(<КодСимвола>) — A função converte o código do caractere em uma string contendo o caractere.

AbbrL(<Строка>) — A função corta caracteres insignificantes à esquerda do primeiro caractere significativo na string.

AbbrLP(<Строка>) — A função corta caracteres não significativos à esquerda do primeiro caractere significativo na linha e espaços à direita do último caractere significativo na linha.

Abreviação(<Строка>) — A função corta caracteres insignificantes à direita do último caractere significativo na string.

Quarta-feira(<Строка>, <НачальныйНомер>, <ЧислоСимволов>) — A função seleciona uma sequência de caracteres, começando com o caractere<НачальныйНомер>, número total<ЧислоСимволов>.

Comprimento da Força(<Строка>) — A função obtém o número de caracteres na linha.

StrReplace(<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) — A função encontra todas as ocorrências da substring de pesquisa na string de origem e a substitui pela substring de substituição.

StrGetString(<Строка>, <НомерСтроки>) - A função obtém uma string multilinha por número.

StrNumberOcorrências(<Строка>, <ПодстрокаПоиска>) — A função calcula o número de ocorrências da substring de pesquisa na string de origem.

StrNumberRow(<Строка>) — A função conta o número de linhas em uma string multilinha. Em uma string multilinha, as linhas são separadas por novas linhas.

TReg(<Строка>) — A função converte a string para maiúsculas e minúsculas. Isso significa que o primeiro caractere de cada palavra é convertido em maiúsculas ou minúsculas se o título não for especificado para o caractere. Os caracteres restantes são convertidos para letras minúsculas.

Conversões de tipo
Para conversão explícita de tipos de dados, existem funções com o mesmo nome do tipo de dados para o qual a conversão está ocorrendo: String(<Значение>)

StringFromNumbers = String(Número);

Todas essas funções são descritas em detalhes no Syntax Assistant; descrevi como o Syntax Assistant pode ajudar um programador iniciante no artigo.

Exemplos para trabalhar com strings

Convertendo um número em uma string e vice-versa.

Para obter uma representação em string do ano, use a função Format.

Ano = Formato(DataAtual(), "DF=aaaa") // Ano = "2012"

Para converter um número em uma string sem inserir um caractere separador de grupo (espaço inseparável), você deve usar a função Format com o parâmetro NG=0:

Número = Linha 2012 = Formato(Número, "NH=0" ); //String = "2012"

String Sem espaços.