Marcação de calçados: como colocamos em circulação 2 milhões de códigos de marcação "1C" + "Honest Sign"

Anteriormente, escrevemos sobre como resolver o problema de digitalizar e fazer upload para 1C . Agora, falaremos sobre os recursos de impressão de etiquetas, upload para um Private Sign e colocação em circulação.

Introdução de códigos honest sign shoes, CSV, 1C prof-it.ru

A partir de 1º de março, você só poderá vender sapatos com etiqueta , enquanto a lei de adiamento do tempo estiver pendente e isso se aplica apenas aos atacadistas.

Para começar, tanto o Znak honesto quanto o 1C funcionam mal com grandes quantidades de dados, precisávamos imprimir e colocar em circulação cerca de 2 milhões de códigos.

Não abordaremos os recursos técnicos, mas falaremos sobre os principais problemas que encontramos ao entrar em circulação um grande número de códigos e como os resolvemos. Infelizmente, as ferramentas padrão 1C não permitem rápido e conveniente, mas geralmente não permitem :) um grande número de códigos.

Depois de receber os códigos do ChZ, precisamos apenas imprimir e colocar em circulação. Dividimos este trabalho em três etapas e esperamos encontrar a solução ideal.

1) Processamento de códigos e preparação para impressão.

De todos os códigos recebidos, formamos uma matriz contínua; após o que, de acordo com um número predeterminado, recomendamos 970 (como existem pouco menos de 1000 etiquetas em bobinas para impressão + cerca de 10 etiquetas defeituosas, em cola térmica), dividimos em arquivos com um número de série único.

sapatos de marcação, CSV, 1C

2) Impressão de códigos.

O processamento para impressão trabalha diretamente com a área de transferência, descarrega todos os arquivos CSV da pasta de origem, forma uma tabela com 3 valores.

CSV, 1C, marcação de sapato

  1. Valor do código de marcação legível por humanos
  2. O código de marcação sem uma “cauda criptográfica” (se o código de marcação estiver corrompido para que você possa avaliá-lo visualmente, localize o código e anote)
  3. A linha base 64 codificada por hash com o código de marcação , neste formulário, é transmitida e descriptografada.

É extremamente inconveniente usar o formulário de impressão padrão para esses fins, por um longo tempo, portanto, é impossível. Eu tive que criar um formulário adicional para impressão ...

No qual criamos um layout com parâmetros específicos

  • o código de marcação sem uma cauda de criptografia (como não pode ser reconhecido com uma cauda de criptografia 1C) é exibido automaticamente no layout,
  • Logotipo ChZ,
  • nome da organização etc.

Logotipo do “Honest Sign”, empresa, nome, etc. pode ser definido arbitrariamente.

impressão de etiquetas, sinal honesto, 1C, processamento 1C

Como o processamento não pode ser impresso no modo de comando , o código para impressão forma um formulário impresso, remove as linhas do campo da tabela visual e o transfere para a guia no campo de texto - "impressão na testa", para que possa ser avaliada visualmente.

Layouts formados que são enviados para impressão após a impressão de cada arquivo - são carregados nos arquivos da pasta CSV, que contêm todos os códigos realmente impressos. Os dados CSV não estão vinculados aos arquivos originais, o que permite rastrear se todos os códigos foram impressos.

Também adicionamos uma quebra de controle . Manualmente, você pode interromper a operação e limpar todos os logs, enquanto a coincidência dos arquivos de origem é controlada.

Introduzir códigos sapatos de sinal honesto, CSV, 1C prof-it.ru pskov

O serviço nos oferece o download de 678 códigos, apesar de cada download demorar muito e, além disso, sempre diz que é bem-sucedido, mas às vezes precisa ser baixado várias vezes ... Fazemos o upload via API do PP.

Mais uma vez, tive que escrever um processamento que nos permitisse formar 1 array CSV a partir do CSV de origem, selecionar o primeiro grupo para o “separador de grupo” e gerar XML a partir deles para enviar para a emergência.

O PS 1C começa a "desacelerar" quando você lê um documento de texto na forma de texto e itera sobre as linhas por índice, então eu tive que "escrever uma revisão", que permite iterar rapidamente os índices através da função "STR-split", que permite reduzir dezenas de vezes por enumeração.

Ao aplicar esse conjunto de melhorias, conseguimos evitar um grande número de erros, inconvenientes ao baixar e imprimir grandes volumes de códigos.

All Articles