Имя: Пароль:
1C
1С v8
Бьются файлы при отправке из 1с email.
0 OneMan1
 
27.03.24
12:03
Собственно, не могу понять почему и как, но пока в рандомном случае бьются файлы при отправке на email.

При попытке открыть PDF появляется сообщение о том, что файл повреждён (например, отправлен по e-mail как вложение и не декодирован правильно).

Файлы бьются как pdf так и jpg.
Из наблюдений, мне кажется что бьются файлы размером больше 1.5 мб.
Но опять же, все рандомно и пока не могу найти закономерности.
Может кто с таким встречался ?
1 OneMan1
 
27.03.24
12:04
версия: 1С:Предприятие 8.3 (8.3.20.1789)
2 Hmster
 
27.03.24
12:09
некоторые почтовики так делают
Что самое интересное, если отправить точно такое же письмо на те же адреса, результат воспроизведется, если добавить текст, изменить получателя то может прийти нормально
3 Hmster
 
27.03.24
12:10
(2) а что самое интересное одно письмо может по разному доставиться 2 получателям
4 OneMan1
 
27.03.24
12:16
возможно оно так, но я такого еще не встречал.
И так как отправка идет непосредственно из 1с, то линчевать будут меня. в прикрепленных файлах эти файлы так же битые становятся.
5 Hmster
 
27.03.24
12:21
(4) попробуй отправку через другой почтовый сервер
6 Garykom
 
гуру
27.03.24
12:27
При передаче больших файлов (от 1 гига) между клиентом и сервером (и обратно) платформа 1С их портила как минимум на версиях до 8.3.21 (на свежих не проверял)
От чего зависит и как избежать не разбирался

По сути у меня были zip архивы и они прилетали на сервер с клиента уже битые
7 Garykom
 
гуру
27.03.24
12:30
(6)+ Возможно на мелких файлах это тоже проявляется но вероятность очень мала
Заметил что если файл >4 гиг - 100% попортится
от 1 до 4 гиг - вероятность уже меньше 100% но большая
файлы до 1 гиг обычно нормально
8 OneMan1
 
27.03.24
12:43
Ну у меня таких огромных нету... Максимум 25-30 мегов. pdf сканы
Возможно бьются временные файлы в которые 1с-ка пихает при всяких отправках/приемах/передачах?
9 mikecool
 
27.03.24
15:08
(4) если прикрепляешь битый, то почему почта виновата?
10 OneMan1
 
27.03.24
16:43
Так, а есть такая вероятность что они бьются в КЕШе?
Сейчас у юзера(Тонкий клиент, не RDP) не открывался прикрепленный файл, ругается PDF reader, что файл битый. Я на своем компе зашел в док и файл открылся.
Подключился к юзеру, удалил все из AppData\Roaming\1C\1cv8\... и файл открылся!
Получается бьются файлы к КЕШ и так же могу биться в КЕШ на сервере и поэтому отправляются битыми?!
11 Волшебник
 
27.03.24
20:21
(10) Такой вероятности нет.
12 Волшебник
 
27.03.24
20:26
"Бьются файлы" - что это за чушь?
Мы внедрили wiki:Код_Хаффмана и wiki:Бит_чётности во всё, что движется по проводам. Какой файл и где поломался? Может у Вас просто руки кривые?
13 Волшебник
 
27.03.24
20:53
Если бьются потоки/файлы, то никто не отправит данные из памяти на диск и обратно. Давайте исходить из того, что с файлами всё в порядке...

Дайте пруфы!
14 Волшебник
 
27.03.24
21:00
Допускаю квантовое вмешательство или космические лучи, но тут скорее всего программист-долбоёб.
15 Hmster
 
27.03.24
21:48
(10) есть большая вероятность, что в этом больше виноваты антивирус или почтовый сервер.
Когда я столкнулся с похожей проблемой - отправка по почте отчета в формате XLXS регламентным заданием - то был озадачен. Как и описывал выше это было воспроизводимо, главное было словить этот случай. В качестве теста была настроена отправка через gmail на нужные адреса + копия на gmail. ПО итогам теста в gmail ни одного битого письма не пришло, а на внутренний сервер такие поступали. Системные администраторы потом долго со мной не разговаривали.

не стоит придумывать заумных причин, попробуй отправлять принципиально через другое место
16 Волшебник
 
27.03.24
21:52
(15) когда отправляете файлы через почту, они могут быть преобразованы. Что не так?
17 sitex
 
naïve
27.03.24
21:56
(10) Ерунда какая то !!! Ну пред отправок перекиньте программное что отправляет в какую нить шару или папку. Добавьте паузу перед отправку в 1 сек.
18 Garykom
 
гуру
27.03.24
22:37
(4)
в прикрепленных файлах эти файлы так же битые становятся

Они изменяются при отправке?
Какой то штамп ставится?
19 Смотрящий
 
27.03.24
22:39
20 Смотрящий
 
27.03.24
22:40
(0) И не забыывай что файл ты лепишь 25 метров, но он кодируется в base64, и вылетает за объем ограничения сервера ...
21 Волшебник
 
27.03.24
22:41
(20) Про ограничение письма в 25 Мб я уже где-то слышал...
22 Garykom
 
гуру
27.03.24
22:42
(20) У него проблема в рандомности, причем как понял больший размер всего лишь повышает вероятность "побития"
23 Hmster
 
27.03.24
22:43
(16) Всё так, но мне ставили задачу разораться, почему 1С плохо себя ведет, а плохо себя вела их инфраструктура
24 Garykom
 
гуру
27.03.24
22:44
(22)+ Для проверки можете взять zip архивчик размером 4 гига и попробовать его передать с клиента на сервер 1С (и клиент и сервер 1С 64 бит)
Вероятность что придет битый в этом случае 100%
25 Смотрящий
 
27.03.24
22:45
(22) Провайдер не известен, если какой-то нонейм, или сами почтовик подняли то там может быть все что угодно.
26 Garykom
 
гуру
27.03.24
22:46
(25) Ну лично я начал бы хэши делать и логировать на каждом шаге
27 Hmster
 
27.03.24
22:46
(25) скорее всего так и есть
28 Смотрящий
 
27.03.24
22:47
(26) Достаточно сохранить вложение куда нить, и открыть его из этого куданить. Откроется корректно - точно почтовик виноват.
29 Garykom
 
гуру
27.03.24
22:48
(28) Не факт
Ибо не любая замена бит/байт внутри приведет к порче файла которая выявится при попытке открытия
Хеш нужен
30 Смотрящий
 
27.03.24
22:49
(29) Бггг, если замена бита/байта внутри файла не ведет к краху при открытии - то файло корректное )))
31 Garykom
 
гуру
27.03.24
22:51
(29) Типа ну поменялся в PDFке цвет одной или нескольких точек
И что?
Или символ не тот в тесте - как это понять глазками

Только если на служебные части попадет важные вот тогда может "не открываться"
32 Garykom
 
гуру
27.03.24
22:50
(30) очень смешно
особенно когда внутри документа инн контрагента поменяется...
33 Смотрящий
 
27.03.24
22:52
(32) Бггг ... Внутри pdf-а utf8, чтоб поменялся ИНН надо сменить или ДВА байта, или младший байт октета. А в него еще попасть надо
34 Garykom
 
гуру
27.03.24
22:57
(33) 4 ибо у инн контрольная цифра есть ))
а чтоб еще совпало с наименованием другой это уже фантастика

ладно сумма поменялась на порядок
35 OneMan1
 
28.03.24
12:43
Всем еще раз привет.
Пока из экспериментов понятно, что бьются файлы рандомно при отправке по почте и при попытке открыть прикрепленный файл.
Прикрепленный файл - это не обязательно файл в почтовом письме. Это может быть файл прикрепленный к накладной(скан какой-нибудь).

Как писал выше, у юзера не открывался скан прикрепленный к накладной. Почистил кэш и скан открылся.
не понятно, почему кэш?
Получается так, юзер вызывает "ОткрытьФайл" - отрабатывает код, возвращает на сервер битый файл, помещает его в кэш и пытается открыть из него.
При повторой попытке - код проверяет, есть ли файл уже в КЭШ - Да, значит не беру его с сервера - открываю сразу с локальной машины. И так как файл битый - он каждый раз не открывается.
Чистим кэш, и если прилетит уже целый файл - то все норм.

Вопрос теперь такого плана, какого хера с сервер могу прилетать битые файлы ? ))
Причем рандомно!
36 OneMan1
 
28.03.24
12:46
Пока что, для себя я сделал вывод, что бьются файлы размером от +- 1мегабайта.
Все что летит с сервера на клиент, весом больше метра, может поломаться...
Это предварительное утверждение.
37 Волшебник
 
28.03.24
12:47
(36) сказки...
38 OneMan1
 
28.03.24
12:51
Есть варианты как проверить? Можно ли настроить ТЖ ?
39 Garykom
 
гуру
28.03.24
12:54
(38) Угу пиши хеш файлов с именем в журнал до ПоместитьВоВременноеХранилище и после получения из него
40 OneMan1
 
28.03.24
12:58
Я рассматриваю две ситуации:
Первая:
Пользователь прикрепляет целый файл.
Есть код, который сперва с этим файлом что-то делает, и это что-то помещает его в кэш или темп на клиентской машине и он там бьется(почему - пока загадка), потом берет и отправляет на сервак. сохраняет в ТОМ. Ну, а там он всегда лежит битый.
Вторая:
Файл в ТОМ прилетел целый, но при вызове методов для открытия, файл бьется.
Так же и для отправки почты.
Регламентное отрабатывает на сервер. так же берет файл из ТОМа, он ломается или в темпе или в кэше или по пути туда или уже был поломан при сохранении в ТОМ. Отправляется ломаный файл.
Вот как понять ??? возможно что-то с сервером(железом, ОС), или с кодом... или с сетью, какие-то байты теряются почему-то...
41 Волшебник
 
28.03.24
13:07
Ситуация только одна: есть код, который бьёт файл.
42 lodger
 
28.03.24
13:10
(1) что-то припоминаю на багборде про размер файлов в тех версиях.
43 Hmster
 
28.03.24
16:03
(35) есть очень простой ответ. Это может быть антивирус. Как вариант еще винда может такое далать - помню запись не флешку отрабатывала дольше чем показывала, т.е. создавала пустой файл нужного объема и фоном его дописывала, при этом индикация заканчивалась быстрее самого процесса.

Если чистка кэша помогает, то проверяй помимо наличия файла и его хеш, ничего страшного не случится если периодически будешь делать лишние запросы на сервер
44 Garykom
 
гуру
28.03.24
16:26
(43) Багу в платформе 1С типа отсекаем?
45 lodger
 
29.03.24
10:14
(1) если не хочется обновлять прод прям ща, то собери тестовую среду с платформой посвежее.