Mxl do que abrir. Mxl do que abrir a caixa de diálogo para salvar arquivo 1s 8.3

Lar / Recuperação de dados

O tempo avança inexoravelmente e a plataforma 1C 8 funciona ainda mais rápido do que desta vez.

Os formulários gerenciados agora são chamados de "interface TAXI", as janelas modais são proibidas e o modo de usar chamadas síncronas para ramais e componentes externos interrompeu completamente a funcionalidade da maioria dessas extensões e componentes externos, além de metade dos métodos antigos. .

Em geral, pessoal, as coisas são assim - muitos de vocês leram o artigo do magnífico P. Chistov sobre como trabalhar com arquivos no 8.3

Se você ainda não fez isso, vá em frente e marche! ()

A essência do mecanismo para trabalhar com arquivos é resumida:

1) No cliente, selecione o arquivo

2) Colocamos em uma caixa preta

3) Salve o conteúdo da caixa preta no servidor

O problema é que isso deve ser feito especialmente, de uma forma nova e com alma.

Portanto seu

Arquivo Selecionado.Exists()

e outras coisas pagãs não funcionarão aqui.

Então, vamos lá!

Aqui está uma listagem de código que permite baixar um arquivo do cliente

Descrição do Alerta = Nova Descrição do Alerta("ProcessFileSelection", ThisForm); OpenFileDialog = NewFileSelectDialog(FileSelectDialogMode.Open); FileOpenDialog.MultipleSelect = Falso; StartFilePlace(AlertDescription, FileOpenDialog, True, UniqueIdentifier);

Estamos interessados ​​​​no método " Arquivos StartPlace", que, de fato, abre uma caixa de diálogo de seleção de arquivo e coloca esse arquivo no armazenamento temporário. Não faz sentido se preocupar com a descrição do armazenamento temporário, apenas lembre-se - este é o local onde todos os arquivos que selecionamos são colocados a forma de dados binários (caixa preta).

&No procedimento do cliente ProcessFileSelection(PlacedFiles, AdicionalParameters) Exportar If PlacedFiles = Indefinido Então Retornar;

fimSe; Para cada TransferredFile de PlacedFiles Cycle PathToFile = TransferredFile.Name;").

Record.FileName = ParseLine(PathToFile, "\"); Items.OpenFile.Header = Entry.NomeArquivo;", acho que ninguém vai discutir. Obtenha o arquivo do armazenamento temporário e coloque-o em um atributo com o tipo " Items.OpenFile.Header = Entry.NomeArquivo;" pode ser feito da seguinte forma:

NewValueStorage(GetFromTemporaryStorage(Endereço));

Já resolvemos uma coisa, agora a segunda é como obter um arquivo desse armazenamento de valor (que, deixe-me lembrá-lo, está localizado no servidor) e salvá-lo no disco do cliente?

Primeiro de tudo, precisamos obter um link de navegação para o atributo do tipo " Items.OpenFile.Header = Entry.NomeArquivo;", onde colocamos o arquivo na forma de dados binários.

Tome cuidado! Este link de navegação não tem mais nada a ver com armazenamento temporário! Você pode verificar o tipo de link de navegação usando o método

Este é o endereço de armazenamento temporário (endereço)

Por tradição, a listagem de código que chama a caixa de diálogo para salvar arquivo

Descrição do Alerta = Nova Descrição do Alerta("Processamento de Salvamento de Arquivo", ThisForm); Arquivo = Nova DescriçãodeTransferFile(NomeArquivo, Endereço); ReceiveFiles = Nova Matriz; ReceiveFiles.Add(Arquivo); OpenFileDialog = NewFileSelectDialog(FileSelectDialogMode.Save); FileOpenDialog.MultipleSelect = Falso; StartReceiveFiles(DescriptionAlerts, RecomingFiles, OpenFileDialog, True);

Valor variável " Arquivo“Esta é outra característica este método. Aqui vale a pena prestar atenção em " Nome do arquivo“O fato é que ao colocar um arquivo no armazenamento temporário, perdem-se informações sobre seu nome e extensão. Portanto, não se esqueça de salvar o nome correto do arquivo, ou pelo menos sua extensão, em algum lugar, para não se incomodar com o pergunta mais tarde" Este é um documento do Word ou um MP3?"

Método " Comece a receber arquivos"semelhante ao método" Arquivos StartPlace". Simplesmente um abre uma caixa de diálogo para selecionar um arquivo, enquanto o outro, ao contrário, abre uma caixa de diálogo para salvar o arquivo.

É basicamente isso.

Ao usar este método, não há necessidade de definir nenhuma modalidade e compatibilidade de chamada síncrona nas propriedades de configuração.

Escrevi o artigo mais como um lembrete para mim mesmo.

O tempo avança inexoravelmente e a plataforma 1C 8 funciona ainda mais rápido do que desta vez.

Os formulários gerenciados agora são chamados de “interface TAXI”, as janelas modais são proibidas e o modo de usar chamadas síncronas para ramais e componentes externos interrompeu completamente a funcionalidade da maioria dessas extensões e componentes externos, além de metade dos métodos antigos. .

Em geral, pessoal, as coisas são assim - muitos de vocês leram o artigo do magnífico P. Chistov sobre como trabalhar com arquivos no 8.3

Se ainda não o fez, vá em frente e marche! ()

A essência do mecanismo para trabalhar com arquivos é resumida:

1) No cliente, selecione o arquivo

2) Colocamos em uma caixa preta

3) Salve o conteúdo da caixa preta no servidor

O problema é que isso deve ser feito especialmente, de uma forma nova e com alma.

Portanto seu

Arquivo Selecionado.Exists()

e outras coisas pagãs não funcionarão aqui.

Então, vamos lá!

Aqui está uma listagem de código que permite baixar um arquivo do cliente

Descrição do Alerta = Nova Descrição do Alerta("ProcessFileSelection", ThisForm); OpenFileDialog = NewFileSelectDialog(FileSelectDialogMode.Open); FileOpenDialog.MultipleSelect = Falso; StartFilePlace(AlertDescription, FileOpenDialog, True, UniqueIdentifier);

Estamos interessados ​​​​no método “ Arquivos StartPlace“, que, na verdade, abre uma caixa de diálogo de seleção de arquivo e coloca esse arquivo em armazenamento temporário. Não adianta se preocupar com a descrição do armazenamento temporário, apenas lembre-se - este é o local onde todos os arquivos que selecionamos são colocados na forma de dados binários (caixa preta).

&No procedimento do cliente ProcessFileSelection(PlacedFiles, AdicionalParameters) Exportar If PlacedFiles = Indefinido Então Retornar;

É quase impossível entender o que existe e como armazená-lo neste armazenamento temporário. Você só pode acessar nosso arquivo através do link de navegação, que é atribuído automaticamente (veja a variável “ Para cada TransferredFile de PlacedFiles Cycle PathToFile = TransferredFile.Name;“).

Com o fato de os arquivos precisarem ser armazenados em um atributo ou recurso do tipo “ Items.OpenFile.Header = Entry.NomeArquivo;“Acho que ninguém vai discutir. Obtenha o arquivo do armazenamento temporário e coloque-o em um atributo do tipo “ Items.OpenFile.Header = Entry.NomeArquivo;”pode ser feito da seguinte forma:

NewValueStorage(GetFromTemporaryStorage(Endereço));

Já resolvemos uma coisa, agora a segunda é como obter um arquivo desse armazenamento de valor (que, deixe-me lembrá-lo, está localizado no servidor) e salvá-lo no disco do cliente?

Primeiro de tudo, precisamos obter um link de navegação para o atributo do tipo “ Items.OpenFile.Header = Entry.NomeArquivo;“, onde colocamos o arquivo na forma de dados binários.

Tome cuidado! Este link de navegação não tem mais nada a ver com armazenamento temporário! Você pode verificar o tipo de link de navegação usando o método

Este é o endereço de armazenamento temporário (endereço)

Por tradição, a listagem de código que chama a caixa de diálogo para salvar arquivo

Descrição do Alerta = Nova Descrição do Alerta("Processamento de Salvamento de Arquivo", ThisForm); Arquivo = Nova DescriçãodeTransferFile(NomeArquivo, Endereço); ReceiveFiles = Nova Matriz; ReceiveFiles.Add(Arquivo); OpenFileDialog = NewFileSelectDialog(FileSelectDialogMode.Save); FileOpenDialog.MultipleSelect = Falso; StartReceiveFiles(DescriptionAlerts, RecomingFiles, OpenFileDialog, True);

O valor da variável “ Arquivo“Esta é outra característica deste método. Aqui vale a pena prestar atenção a “ Nome do arquivo“. O fato é que ao colocar um arquivo em armazenamento temporário, perdem-se informações sobre seu nome e extensão. Portanto, não se esqueça de salvar em algum lugar o nome correto do arquivo, ou pelo menos sua extensão, para que você não precise se preocupar com a questão “ Este é um documento do Word ou um MP3?

Método “ Comece a receber arquivos”semelhante ao método“ Arquivos StartPlace“. Um simplesmente abre uma caixa de diálogo para selecionar um arquivo, enquanto o outro, ao contrário, abre uma caixa de diálogo para salvar o arquivo.

É basicamente isso.

Ao usar este método, não há necessidade de definir nenhuma modalidade e compatibilidade de chamada síncrona nas propriedades de configuração.

Escrevi o artigo mais como um lembrete para mim mesmo.

A plataforma tecnológica 1C:Enterprise 8 permite salvar arquivos arbitrários na base de informações, recuperá-los de lá e usá-los de várias maneiras. Vejamos essas operações usando exemplos.

Antes de enviar um arquivo para a base de informações 1C, você precisa obter o endereço completo do arquivo no disco. Trabalhar com caixas de diálogo de seleção de arquivos é descrito em .

Para armazenar arquivos, use um atributo (ou registrar recurso) com o tipo Valores de armazenamento.

Carregando um arquivo arbitrário para a base de informações 1C

Qualquer arquivo pode ser representado como dados binários e carregado em Armazenamento de valor.

Ao converter dados binários em um objeto Valores de armazenamento projeto usado novos StorageValues ​​(dados, compactação) com dois parâmetros:

  1. Dados— dados binários que precisam ser armazenados no armazenamento
  2. Compressão— taxa de compressão do algoritmo Deflation. Número inteiro no intervalo -1...9. -1 é o nível de compactação padrão. 0 - sem compactação, 9 - compactação máxima. Valor padrão: -1. O parâmetro é opcional; se não for especificado, a compactação não será usada.

//Converte o arquivo em dados binários
Arquivo = Novo BinaryData(Caminho);

//Criar novo objeto Valores de armazenamento

DataStorage = NewValueStorage(Arquivo, NewDataCompression(9) ) ;

Salvando um arquivo arbitrário da infobase 1C no disco

Para salvar um arquivo do banco de dados 1C no disco, você precisa determinar o caminho e o nome do arquivo. Para fazer isso, existe uma caixa de diálogo para salvar arquivos, cujo trabalho é descrito em.

//Obtém dados binários do armazenamento
//Data Storage - atributo de um objeto com o tipo Value Storage

//grava os dados recebidos no disco
//A variável Path contém o endereço completo do arquivo no disco
Dados. Escreva(Caminho);

Visualizando um arquivo localizado na base de informações 1C

Para visualizar um arquivo salvo no banco de dados, você deve ter um aplicativo instalado em seu computador que abra o arquivo.

//Obtém o nome do arquivo temporário com a extensão necessária
//Na variável Extension você precisa colocar a extensão do arquivo, por exemplo "pdf"
Caminho = GetTemporaryFileName(Extensão);

//Recebe dados do armazenamento
//Data Storage - atributo de um objeto com o tipo Value Storage
Dados = armazenamento de dados. Pegar() ;

//Escreve dados em um arquivo temporário
Dados. Escreva(Caminho);

//Tentando abrir o arquivo na aplicação pretendida
//Se a aplicação não for encontrada, a caixa de diálogo do sistema "Abrir com..." aparecerá.
LaunchApplication(Caminho);

O programa "1C:Enterprise - Trabalhando com Arquivos" é um programa separado produto de software, que é distribuído gratuitamente. Destina-se à visualização e edição de arquivos 1C:Enterprise em computadores onde o sistema 1C:Enterprise não está instalado.

Os seguintes formatos de arquivo são suportados:

  • (*.TXT);
  • (*.mxl);
  • (*.htm, *.html);
  • (*.grs);
  • (*.geo);

Durante o processo de instalação, o programa registra as extensões mxl, grs e geo, para visualizar e editar esses arquivos basta clicar sobre eles com o mouse:

É suportado o lançamento do programa a partir de linha de comando. Neste caso é possível especificar o arquivo a ser processado. Por exemplo, para processar o arquivo “Remains.mxl”, basta executar o comando:

"D:\Arquivos de programas\1cv82fv\bin\1cv8fv.exe" D:\FileWorkshop\Remainings.mxl

"1C:Enterprise - Trabalhando com arquivos" suporta um modo semelhante ao implementado no sistema 1C:Enterprise. Assim, por exemplo, o usuário pode comparar visualmente dois relatórios de saldo:

Opções de entrega

Existem duas opções de entrega para o programa 1C:Enterprise - Trabalhando com Arquivos:

  • Falante russo;
  • internacional.

A diferença entre a entrega internacional e a entrega no idioma russo é que ela inclui as mesmas que o sistema 1C:Enterprise usa.

Além disso, para entrega internacional, a opção de linha de comando /L pode ser usada para especificar o idioma da interface a ser usado. Por exemplo, para processar o arquivo "Remainings.mxl" em um programa com Inglês interface (pt), basta executar o comando:

"D:\Arquivos de Programas\1cv82fv\bin\1cv8fv.exe" /Len D:\FileWorkshop\Remainings.mxl

© 2024 ermake.ru - Sobre reparo de PC - Portal de informações