Перейти к контенту
(2) высокая вероятность, что пилят маркировку и ккм. там похожие упражнения выполняются:
Процедура СформироватьДвоичныеДанныеДляЧисла(ДанныеМаркировки, Знач ЗначениеЧисла = Неопределено, Знач ЗначениеСтроки = Неопределено)
Префикс = ПрефиксКодированияРеквизита(ДанныеМаркировки.ТипИдентификатораТовара);
Тело = Новый ПотокВПамяти();
ЗаписьДанных = Новый ЗаписьДанных(Тело);
ЗаписьДанных.ЗаписатьЦелое64(Число(ЗначениеЧисла), ПорядокБайтов.BigEndian);
Если Не ПустаяСтрока(ЗначениеСтроки) Тогда
ЗаписьДанных.ЗаписатьСимволы(ЗначениеСтроки);
КонецЕсли;
ЗаписьДанных.Закрыть();
Тело.Перейти(0, ПозицияВПотоке.Начало);
ЗаписьДанных = Новый ЗаписьДанных(Тело);
ЗаписьДанных.ЗаписатьЦелое16(Префикс, ПорядокБайтов.BigEndian);
ЗаписьДанных.Закрыть();
ДанныеМаркировки.РевизитКодаТовараHEX = Тело.ЗакрытьИПолучитьДвоичныеДанные();
ДанныеМаркировки.РевизитКодаТовара = Base64Строка(ДанныеМаркировки.РевизитКодаТовараHEX);
КонецПроцедуры
Народ что-то с утра не задалось у меня, в инете уже поискал все пишут про права на папку, на доступ и все в таком духе. Специально дал права на папку всем пользователям и полные права, все равно не хочет записывать туда файл. Запускается этот кусок как регламентное задание, в режиме #сервер вот код: Уже по разному пробовал, и сетевой путь указывать и всякое, но все равно в консоли заданий пишет что ошибка при вызове конструктора (ЗаписьТекста)
Что надо сделать чтобы в режиме сервера не было такой ошибки?
Делай import.txt, затем меняй разрешение на .csv
Так когда запускаю этот же код под клиентом, все нормально создается и с форматом csv
С другой папкой тоже пишет такую же ошибку при вызове конструктора (ЗаписьТекста)
На папку помимо прав доступа, права по безопасности тоже установил?
щас как раз смотрю права по безопасности, есть ли у юзверя под которым запускается сервер 1С права на эту папку…
У пользователя под которым запускается сервер 1С полные права и по безопасности тоже стоят… Но в эту папку все равно не хочет гад писать файл…
там еще надо убирать наследование из родительских папок. Чтобы в родительской папке не стояло распространять права на дочерние папки.
+ например, на диск С: нет прав или безопасности, и у него стоит это «распространять на дочерние». Тогда все папки на диске С будут недоступными, независимо, что в самой папке указано.
Смотрел уже это, даже пробовал на время давать админские права пользователю. Не помогает…
Причем что самое интересное, обмен с РИБ идет в папку нормально, а если указываю эту папку для ЗаписьТекста, то 1С выдает ошибку при вызове конструктора…
Тэги: 1С 8
Комментарии доступны только авторизированным пользователям
Пользователь 164786 Эксперт Сообщений: 457 |
#1 0 23.08.2017 17:55:19 УТ 8.3 11.3 При обмене лезет постоянно ошибка при этом файл .tmp всегда разный. Как вылечить? Обмен 7 версии, такое было и в 6, но через раз. Ошибка возникает при полной выгрузки картинок
|
||
Пользователь 14571 Эксперт Сообщений: 787 |
Может быть файл этот использует и 1С и какой-нибудь антивирус. Попробуйте отключить антивирус и посмотреть будет ли повторяться ошибка. |
Пользователь 164786 Эксперт Сообщений: 457 |
Точно нет, не антивирус. Пробовал с разных машин. С чистой windows. И не понятно, куда пишет он в TMP чего, сервера или TMP машины с которой клиент запущен |
Пользователь 105835 Эксперт Сообщений: 761 |
На сервере создается каталог. |
Пользователь 164786 Эксперт Сообщений: 457 |
Сервер 1с на debian, куда он там создаёт в home или /var/tmp? |
Пользователь 164786 Эксперт Сообщений: 457 |
И такое только с полной выгрузкой картинок |
Пользователь 164786 Эксперт Сообщений: 457 |
Помогите с проблемой…Такое было и на виндовом серваке и на линуксовом, на 8.2 всё нормально было, как перешли на 8.3 так всё, ошибка эта. Может такое быть, что два rphost’a пытаются ломится в один файл? |
Пользователь 14571 Эксперт Сообщений: 787 |
#8 0 29.08.2017 14:50:15
в windows аналогично пишет ошибку? мои проекты: https://blog.sokov.org/category/dhynedhdhudhnn/ | меня рекомендуют: https://blog.sokov.org/recommendations/ | обо мне: https://spb.hh.ru/resume/9f303161ff02e561e20039ed1f654846726333 | 1 час работы — 1200 руб. |
||
Пользователь 164786 Эксперт Сообщений: 457 |
|
Пользователь 164786 Эксперт Сообщений: 457 |
#10 0 30.08.2017 09:09:03 Уже игрался с кол-вом выгружаемых пакетов и зипом. Не вышло. Самое тупое, что обмен идёт по 4 часа и потом валится в эту тупую ошибку. Это жесть. |
Пользователь 164786 Эксперт Сообщений: 457 |
#11 0 30.08.2017 09:10:00 У меня есть ещё один сайт на битрикс, там ситуация такая же. Мелкие обмены проскакивают хорошо, а чуть больше 5к позиций и всё, аут. |
Администратор Сообщений: 4915 |
#12 0 30.08.2017 16:02:21 Может на момент обращения к файлу — файла уже не существует? |
Пользователь 164786 Эксперт Сообщений: 457 |
#13 0 30.08.2017 17:01:53 А куда же он может деться если его создаёт сама 1ска по требованию из модуля обмена с сайтом? |
Пользователь 164786 Эксперт Сообщений: 457 |
#14 0 30.08.2017 17:13:55 Вот заметил, что файлы TMP после обмена не удаляются, либо удаляются не все. Может проблема в этом? |
Пользователь 164786 Эксперт Сообщений: 457 |
#15 0 30.08.2017 17:18:21 Вот ещё что замечено. Если сформировать дерево каталога и выгрузить его пару раз, а потом поменять дерево каталога и попытаться выгрузить, выгружается и старое дерево, которое уже удалено и с сайта и из 1с модуля обмена, т.е не правильное кеширование где-то происходит |
Пользователь 164786 Эксперт Сообщений: 457 |
#16 0 30.08.2017 22:31:32 Вот лог: Ошибка на стороне сервера. Как понимать сервера — хостинга или сервера 1с? Что может вызывать эту ошибку?
|
||
Пользователь 164786 Эксперт Сообщений: 457 |
#17 0 31.08.2017 09:50:33 А может быть нехватка ОЗУ на хостинге причиной? |
Пользователь 14571 Эксперт Сообщений: 787 |
#18 0 31.08.2017 11:25:31
так /tmp/* должны удаляться после рестарта системы по моему. мои проекты: https://blog.sokov.org/category/dhynedhdhudhnn/ | меня рекомендуют: https://blog.sokov.org/recommendations/ | обо мне: https://spb.hh.ru/resume/9f303161ff02e561e20039ed1f654846726333 | 1 час работы — 1200 руб. |
||
Пользователь 14571 Эксперт Сообщений: 787 |
#19 0 31.08.2017 11:34:20
а может быть так, чисто гипотетически, что вы выгружаете на сайт с двух 1С-ок? Одна какая-то тестовая, а другая рабочая. мои проекты: https://blog.sokov.org/category/dhynedhdhudhnn/ | меня рекомендуют: https://blog.sokov.org/recommendations/ | обо мне: https://spb.hh.ru/resume/9f303161ff02e561e20039ed1f654846726333 | 1 час работы — 1200 руб. |
||
Пользователь 164786 Эксперт Сообщений: 457 |
#20 0 31.08.2017 11:36:15
Нет, менял пароль к сайту. |
||||
Пользователь 164786 Эксперт Сообщений: 457 |
#21 0 31.08.2017 11:42:40 Попробовать выгрузить в каталог и засунуть через импорт на сайт? Так получиться с картинками? |
Пользователь 164786 Эксперт Сообщений: 457 |
#22 0 12.09.2017 16:20:55 |
Пользователь 164786 Эксперт Сообщений: 457 |
#23 0 12.09.2017 17:16:27 Чем можно отследить ошибку? |
Александр Денисюк
Администратор Сообщений: 4915 |
#24 0 12.09.2017 19:10:40
Не знаю. Надо смотреть. Самый простой способ — экспортировать дерево групп, а потом назад его импортировать. |
||
Пользователь 164786 Эксперт Сообщений: 457 |
#25 0 12.09.2017 20:23:49
Эта проблема решена, осталась с ошибкой доступа к файлу или хотя бы пустому ответа сервера в логе, что бы понять что ему не так |
||||
ОТЛАДКА - ПутьКТонкомуКлиенту1С: получили путь к тонкому клиенту 1С <C:Program Files (x86)1cv88.3.10.2650bin1cv8c.exe>
ОТЛАДКА - "C:Program Files (x86)1cv88.3.10.2650bin1cv8c.exe" ENTERPRISE /F"W:repoSBaddbuildibservicexdd" /N"Admin" /WA+ /DisableStartupMessages /DisableStartupDialogs /C"xddRun ЗагрузчикФайла ""W:repoSBaddtestsxunitPluginsТест_ЗапускТестовДляПользователей.epf"";xddReport ГенераторОтчетаJUnitXML ""W:repoSBaddbuildjunit.xml"";xddReport ГенераторОтчетаAllureXML ""W:repoSBaddbuildallureallure-testsuite.xml""; xddConfig ""W:repoSBaddtoolsJSONxUnitParams.json"" ; xddExitCodePath ГенерацияКодаВозврата ""W:repoSBaddbuildxddExitCodePath.txt"" ; workspaceRoot W:repoSBadd ; xddShutdown " /out"C:Usersa.ayukhanovAppDataLocalTempgm0xdqha.n12.tmp" /TESTMANAGER /DisplayAllFunctions /Lru /Debug /DebuggerURL tcp://ws-msk-0107:1560 /Execute"W:repoSBaddxddTestRunner.epf"
ИНФОРМАЦИЯ - ОТЛАДКА: ВыводитьЛогВыполненияСценариевВТекстовыйФайл <Да>
ИНФОРМАЦИЯ - ОТЛАДКА: ИмяФайлаЛогВыполненияСценариев <W:repoSBadd/build/ServiceBases/log-xunit.txt>
ИНФОРМАЦИЯ - ОТЛАДКА: КонтейнерДереваТестовЗагрузчика.Имя W:repoSBaddtestsxunitPlugins - <Admin>, Новое имя W:repoSBaddtestsxunitPlugins - <Admin>
ИНФОРМАЦИЯ - ОТЛАДКА: КонтейнерДереваТестовЗагрузчика.Имя Тест_ЗапускТестовДляПользователей - <Admin>, Новое имя Тест_ЗапускТестовДляПользователей - <Admin>
ИНФОРМАЦИЯ - ОТЛАДКА: ЭлементКоллекции.Представление ТестДолжен_ЗапуститьПользователя - <Admin>, Новое представление ТестДолжен_ЗапуститьПользователя - <Admin>
ИНФОРМАЦИЯ - . ==>> набор тестов W:repoSBaddtestsxunitPlugins - <Admin>
ИНФОРМАЦИЯ - . ==>> набор тестов Тест_ЗапускТестовДляПользователей - <Admin>
ИНФОРМАЦИЯ - . -->> тест ТестДолжен_ЗапуститьПользователя - <Admin>
ОТЛАДКА - файл статуса:
<Не найден файл статуса C:Usersa.ayukhanovAppDataLocalTempgm0xdqha.n12.tmp>
ИНФОРМАЦИЯ - Не найден файл статуса C:Usersa.ayukhanovAppDataLocalTempgm0xdqha.n12.tmp
ИНФОРМАЦИЯ - Выполнение команды/действия в режиме 1С:Предприятие завершено.
ОТЛАДКА - файл статуса:
<1>
ОШИБКА - Ошибка:{Модуль W:repovanessa-runnersrcКлассыМенеджерКонфигуратора.os / Ошибка в строке: 170 / Результат работы не равен 0 или 2, а равен 1}
КРИТИЧНАЯОШИБКА - {Модуль W:repovanessa-runnersrcКлассыКомандаТестирование_xUnitFor1C.os / Ошибка в строке: 145 / {Модуль W:repovanessa-runnersrcКлассыМенеджерКонфигуратора.os / Ошибка в строке: 175 / ЗапуститьТестироватьЮнит}
ВызватьИсключение ПредставлениеКоманды;
}
Я сделал процедуру, которая при записи пользователя создает файл и записывает в него время записи
НовоеВремя = Формат(ТекущаяДата(), "ДФ='ЧЧммсс'");
Файл = Новый ЗаписьТекста("D:" + НовоеВремя + ".txt");
Файл.ЗаписатьСтроку(НовоеВремя);
Файл.Закрыть();
Но почему-то при записи вылетает ошибка
Ошибка доступа к файлу 'D:194111.txt'
{Справочник.Пользователи.Форма.ФормаЭлемента.Форма(1889)}: Записать(ПараметрыЗаписи);
{mngcore/MessageBox.clf(4)}: Close(-100);
по причине:
Ошибка при выполнении обработчика - 'ПриЗаписи'
по причине:
Ошибка доступа к файлу 'D:194111.txt'
по причине:
Ошибка доступа к файлу 'D:194111.txt'
С чем это может быть связано и как ее можно исправить?
задан 23 ноя 2022 в 16:53
2
Вероятно проблема связана с правами пользователя; Запустите 1С от имени администратора и попробуйте Запись в файл.
Либо создайте новую папку на диске D и предоставьте к ней доступ пользователю операционной системы под которым работаем в момент записи файла …
ответ дан 23 ноя 2022 в 23:07
santavitalsantavital
1,6437 серебряных знаков14 бронзовых знаков
А если так:
НовоеВремя = Формат(ТекущаяДата(), "ДФ='ЧЧммсс'");
Текст = Новый ТекстовыйДокумент;
Текст.ДобавитьСтроку(НовоеВремя);
ИмяФайла = СтрШаблон("D:%1.txt", НовоеВремя);
Текст.Записать(ИмяФайла);
ответ дан 24 ноя 2022 в 5:57
SagittariusSagittarius
5633 серебряных знака8 бронзовых знаков
Я сделал процедуру, которая при записи пользователя создает файл и записывает в него время записи
НовоеВремя = Формат(ТекущаяДата(), "ДФ='ЧЧммсс'");
Файл = Новый ЗаписьТекста("D:" + НовоеВремя + ".txt");
Файл.ЗаписатьСтроку(НовоеВремя);
Файл.Закрыть();
Но почему-то при записи вылетает ошибка
Ошибка доступа к файлу 'D:194111.txt'
{Справочник.Пользователи.Форма.ФормаЭлемента.Форма(1889)}: Записать(ПараметрыЗаписи);
{mngcore/MessageBox.clf(4)}: Close(-100);
по причине:
Ошибка при выполнении обработчика - 'ПриЗаписи'
по причине:
Ошибка доступа к файлу 'D:194111.txt'
по причине:
Ошибка доступа к файлу 'D:194111.txt'
С чем это может быть связано и как ее можно исправить?
задан 23 ноя 2022 в 16:53
2
Вероятно проблема связана с правами пользователя; Запустите 1С от имени администратора и попробуйте Запись в файл.
Либо создайте новую папку на диске D и предоставьте к ней доступ пользователю операционной системы под которым работаем в момент записи файла …
ответ дан 23 ноя 2022 в 23:07
santavitalsantavital
1,7898 серебряных знаков15 бронзовых знаков
А если так:
НовоеВремя = Формат(ТекущаяДата(), "ДФ='ЧЧммсс'");
Текст = Новый ТекстовыйДокумент;
Текст.ДобавитьСтроку(НовоеВремя);
ИмяФайла = СтрШаблон("D:%1.txt", НовоеВремя);
Текст.Записать(ИмяФайла);
ответ дан 24 ноя 2022 в 5:57
SagittariusSagittarius
5903 серебряных знака8 бронзовых знаков
(2) высокая вероятность, что пилят маркировку и ккм. там похожие упражнения выполняются:
Процедура СформироватьДвоичныеДанныеДляЧисла(ДанныеМаркировки, Знач ЗначениеЧисла = Неопределено, Знач ЗначениеСтроки = Неопределено)
Префикс = ПрефиксКодированияРеквизита(ДанныеМаркировки.ТипИдентификатораТовара);
Тело = Новый ПотокВПамяти();
ЗаписьДанных = Новый ЗаписьДанных(Тело);
ЗаписьДанных.ЗаписатьЦелое64(Число(ЗначениеЧисла), ПорядокБайтов.BigEndian);
Если Не ПустаяСтрока(ЗначениеСтроки) Тогда
ЗаписьДанных.ЗаписатьСимволы(ЗначениеСтроки);
КонецЕсли;
ЗаписьДанных.Закрыть();
Тело.Перейти(0, ПозицияВПотоке.Начало);
ЗаписьДанных = Новый ЗаписьДанных(Тело);
ЗаписьДанных.ЗаписатьЦелое16(Префикс, ПорядокБайтов.BigEndian);
ЗаписьДанных.Закрыть();
ДанныеМаркировки.РевизитКодаТовараHEX = Тело.ЗакрытьИПолучитьДвоичныеДанные();
ДанныеМаркировки.РевизитКодаТовара = Base64Строка(ДанныеМаркировки.РевизитКодаТовараHEX);
КонецПроцедуры
Народ что-то с утра не задалось у меня, в инете уже поискал все пишут про права на папку, на доступ и все в таком духе. Специально дал права на папку всем пользователям и полные права, все равно не хочет записывать туда файл. Запускается этот кусок как регламентное задание, в режиме #сервер вот код: Уже по разному пробовал, и сетевой путь указывать и всякое, но все равно в консоли заданий пишет что ошибка при вызове конструктора (ЗаписьТекста)
Что надо сделать чтобы в режиме сервера не было такой ошибки?
Делай import.txt, затем меняй разрешение на .csv
Так когда запускаю этот же код под клиентом, все нормально создается и с форматом csv
С другой папкой тоже пишет такую же ошибку при вызове конструктора (ЗаписьТекста)
На папку помимо прав доступа, права по безопасности тоже установил?
щас как раз смотрю права по безопасности, есть ли у юзверя под которым запускается сервер 1С права на эту папку…
У пользователя под которым запускается сервер 1С полные права и по безопасности тоже стоят… Но в эту папку все равно не хочет гад писать файл…
там еще надо убирать наследование из родительских папок. Чтобы в родительской папке не стояло распространять права на дочерние папки.
+ например, на диск С: нет прав или безопасности, и у него стоит это «распространять на дочерние». Тогда все папки на диске С будут недоступными, независимо, что в самой папке указано.
Смотрел уже это, даже пробовал на время давать админские права пользователю. Не помогает…
Причем что самое интересное, обмен с РИБ идет в папку нормально, а если указываю эту папку для ЗаписьТекста, то 1С выдает ошибку при вызове конструктора…
Тэги: 1С 8
Комментарии доступны только авторизированным пользователям
Пытаюсь выгрузить отчёт в csv, по средствам гугла нашла пример, пытаюсь разобраться… так вот выдаёт ошибку на строке
ТекстовыйФайлЗапись = Новый ЗаписьТекста(имяФайла,Кодировка);
сама функция:
Функция ЗаписатьCSV(текст,имяФайла)
//кодировка = КодировкаТекста.ANSI;
кодировка = КодировкаТекста.UTF8; // задаем кодировку CSV файла
ТекстовыйФайлЗапись = Новый ЗаписьТекста(имяФайла,Кодировка);
ТекстовыйФайлЗапись.ЗаписатьСтроку(текст);
ТекстовыйФайлЗапись.Закрыть();
Возврат 0;
КонецФункции
ошибка
{Отчет.Отчёт_для_выгрузки.Форма.ФормаОтчета.Форма(599)}: Ошибка при вызове конструктора (ЗаписьТекста)
ТекстовыйФайлЗапись = Новый ЗаписьТекста(имяФайла,Кодировка);
кто знаток, в чём причина??