При попытке сохранения файла СЗВ-СТАЖ если много сотрудников, то программа вылетает с ошибкой windows. Проблема в компоненте "Adodb.Stream" при записи большого файла АдоДБСтрим.WriteText(ТекстАдоДБСтрим)
Для исправления ситуации нужно в отчете ПодготовкаСведенийДляПФР2017 изменить последний блок в процедуре ФайлСЗВ_СТАЖ()
закомментированные строки - это то что было до исправления
// %изм% Mx Начало Большой файл отчета
//ТекстАдоДБСтрим = АдоДБСтрим.ReadText();
//АдоДБСтрим.Close();
//АдоДБСтрим.Charset = "utf-8";
//АдоДБСтрим.Open();
//АдоДБСтрим.WriteText(ТекстАдоДБСтрим);
//АдоДБСтрим.SaveToFile(ПолноеИмяФайла, 2);
//АдоДБСтрим.Close();
АдоДБСтрим2=СоздатьОбъект("ADODB.Stream");
АдоДБСтрим2.Type=2;
АдоДБСтрим2.Mode= 3;
АдоДБСтрим2.charset="utf-8";
АдоДБСтрим2.LineSeparator=-1;
АдоДБСтрим2.Open();
Всего=АдоДБСтрим.size;
Байт=255;
Пока АдоДБСтрим.EOS=0 Цикл
АдоДБСтрим2.WriteText(АдоДБСтрим.ReadText(Байт),?(Байт=-2,1,0));
Состояние("" + Формат(100 * АдоДБСтрим.position/Всего,"Ч(0)5.2")+"%");
КонецЦикла;
АдоДБСтрим2.SaveToFile(ПолноеИмяФайла,2);
АдоДБСтрим2.Close();
АдоДБСтрим.Close();
// %изм% Mx Конец
Спасибо. У меня правда не вылетала, а зависала программа, поэтому я отключал строки перекодировки в 1с, а перекодировал Акелпадом через ТоталКоммандер.
Сначала поискал здесь по инфостарту, с ходу не нашёл. Скрипт — самое первое и простое, что пришло в голову. Сделал свой велосипед: https://infostart.ru/public/778263/ За такой вариант спасибо, если там ещё в каких отчётах вылезет — попробую.
Огромнейшее спасибо Олегу Несытову, я совсем не специалист и мне никто не мог помочь, изменила в конфигураторе ПодготовкаСведенийДляПФР2017 и вот оно счастье, всё заработало!!!! Ещё раз спасибо!!!
Дополню чутка, у меня после данной дописки программа проверки начала выводить ошибку:
"в прологе проверяемого файла отсутствует указание кодировки или отсутствует пролог", я покурил интернеты и нашел, что 1С-ка сохраняет не в той кодировке, помогло в notepad++ изменить кодировку на UTF-8 без BOM, после чего ошибка ушла