Minha área de responsabilidade é o departamento de assinatura da República da Ossétia do Norte, cem mil e quinhentas contas pessoais em três regiões da região. Como pano de fundo, mostrarei como recebo declarações.
Começou a trabalhar com a Rosreestr, como se costuma dizer, na testa: abriu a solicitação por meio do acesso à Inspeção Estadual de Imóveis do Cadastro Único das Pessoas Jurídicas do Estado , inseriu a chave, preencheu o formulário de busca, clicou em "Localizar", clicou em "Localizar", selecionou um objeto do tipo "prédio residencial" ou "apartamento", solicitou um extrato, baixou um documento eletrônico converteu-o em um formato legível por humanos (*) e o salvou. Tudo é simples, mas não sem nuances.
O principal problema era que, em muitos casos, a pesquisa produz vários objetos adequados, e você deve decidir qual pedir a declaração. Não encontrei nenhum critério óbvio e ninguém me ajudou. Eu sempre pedi todas as opções adequadas - na maioria das vezes havia duas, às vezes três, às vezes quatro. Na maioria dos casos, um documento acabou sendo um extrato, e o restante - “manequins”: “nenhuma informação”. Em alguns casos, todos os documentos acabaram sendo "manequins". Impasse: dinheiro gasto, nenhuma informação.

O problema foi resolvido por um novo colega em uma conversa casual: antes de entrar no FSIS USR, você precisa descobrir o endereço na parte aberta do Rosreestr.Informações de referência sobre objetos imobiliários on-line . Lá, verificamos a disponibilidade de informações sobre a transferência de direitos de propriedade e, já com um número cadastral pronto, solicitamos um extrato. Isso aumenta um pouco (e ao mesmo tempo torna mais fácil e rápido!) O caminho para descarregar, mas é muito útil, porque para nossos propósitos, uma captura de tela com a data de transição da direita costuma ser suficiente; Além disso, eu uso esses dados para trabalhar nos utilitários GIS.

Então:
- no endereço, determinamos o número cadastral da propriedade em que (na propriedade) há informações sobre a transferência de direitos de propriedade (primeiro captcha);
- nesse número cadastral, solicitamos um extrato (segundo captcha);
- esperando uma resposta, salve o arquivo;
- obtemos uma cópia legível por humanos (*) do documento (terceiro captcha).
No começo, eu fazia uma dúzia de declarações por mês, então a questão da automação não era de todo. E então - bam! Cento e cinquenta! Um pacote! E eu quebrei.
E agora para os slides.
O zoldaten automatizou o pedido de extrações e até derrotou o captcha . Simplifiquei a redução de extratos para uma forma legível por humanos (*).
- Começamos com a folha "# Address List for Request":
- LAN e endereço - os dados iniciais que recebemos do cliente; a declaração recebida será chamada como está escrita na coluna "Endereço" (mas isso não é exato, veja abaixo);
- Número cadastral - o que encontramos na parte aberta do Rosreestr é a primeira etapa do processo;
- Solicitação - depois de confirmar a criação da solicitação, salvamos seu número, no futuro, o número é necessário para controlar todo o processo, entrar em contato com o suporte técnico etc. - a segunda etapa do processo.
- Planilha "#Main": clique no botão "Processar todos os arquivos". A uma velocidade de 5 a 50 peças por minuto (dependendo da velocidade de acesso ao armazenamento de arquivos), obtemos extrações legíveis por humanos (*) em formato PDF.

- Salvamos relatórios, enviamos para o cliente.
O que precisa ser feito para fazê-lo funcionar.
- permitir macros, é claro;
- inclua um link para um componente para processar XML (Alt + F11> Ferramentas> Referências, encontre algo com letras XML na lista, verifique);

- habilitar a exibição de extensões de arquivo - sem isso, o arquivador incorporado no Windows não funciona;

- colocar todos os arquivos "Response-80- .zip", recebidos da Rosrestrestra, em uma pasta; no processo, todos os arquivos, exceto “Response-80- .zip” serão excluídos desta pasta ; as instruções serão salvas lá; todos os arquivos serão processados.
Onde marcado:
- servidor de terminal Windows 2008 + Office 2010 - funciona com XML versão 3.0 e 6.0;
- Windows 10 + Office 365 - funciona apenas com XML 3.0.
Além disso.
- há proteção mínima do tolo.
- se houver duas instruções com os mesmos números cadastrais, tudo cai. Você precisa olhar para o log (em um arquivo separado), remover o excesso e reiniciar tudo desde o início;
- somente declarações sobre a transferência de direitos e "manequins" são implementadas, declarações do tipo "Informações sobre o objeto" não são processadas;
- se os dados de origem não contiverem o número cadastral necessário (por exemplo, a planilha geralmente está vazia e iniciamos o processamento), as instruções são nomeadas no endereço da própria instrução;
- se houver duas ou mais instruções com endereços idênticos, um número adicional será gravado no nome do arquivo;
- nomes de folhas - hardcode, você não pode alterar; toda vez que você inicia, tudo, exceto essas (e duas folhas ocultas), é excluído do livro.
Não comento o código, não há absolutamente nada de interessante por lá - loops banais, travessia de nós XML, expansão de variáveis em células.
O código é aberto e livre de quaisquer restrições.Processamento de solicitações.
(*) a palavra "legível por humanos" aparece nesta página 6 vezes.