Имя: Пароль:
1C
 
Ошибка при запуске внешней обработки: не записывает временный файл? 1С Розница 8.3.
0 DenYuliya
 
03.07.18
10:22
Добрый день.
Такой вопрос: есть Розница 8.3, файловая (РИБ по магазинам). Есть внешняя обработка РМК. Во всех магазинах она работает нормально, а в одном при запуске (точнее при открытие одной из страниц обработки и нажатие кнопки "Сформировать") вываливается ошибка.


Вот весь проблемный модуль:
СпрОбработок = Справочники.ВнешниеОбработки.НайтиПоНаименованию("Печать этикеток (клейкие)");
    Если СпрОбработок = Неопределено тогда
        Возврат;
    КонецЕсли;
    
    Если СпрОбработок = Справочники.ВнешниеОбработки.ПустаяСсылка() Тогда
        Сообщить("Внешняя обработка не подключена");
    Иначе
        ВнОбработка = СпрОбработок.ХранилищеВнешнейОбработки.Получить();
        ИмяФайла = ПолучитьИмяВременногоФайла();
        ВнОбработка.Записать(ИмяФайла);
        Форма = ВнешниеОбработки.ПолучитьФорму(ИмяФайла);
        
        Если Не Форма = Неопределено Тогда
            Если ТипЗнч(ЭлементыФормы.ПеремещениеТоваров.ТекущиеДанные)=ТипЗнч(Неопределено) Тогда
                Форма.Документ = Документы.ПеремещениеТоваров.ПустаяСсылка();
            Иначе
                Форма.Документ = ЭлементыФормы.ПеремещениеТоваров.ТекущиеДанные.Ссылка;                
            КонецЕсли;
            Форма.Открыть();
        Иначе
            ВнешняяОбработка = ВнешниеОбработки.Создать(ИмяФайла);
        КонецЕсли;
        УдалитьФайлы(ИмяФайла);
    КонецЕсли;
    
Ошибка тут:
ИмяФайла = ПолучитьИмяВременногоФайла();

после этого вываливается ошибка:
{ВнешняяОбработка.РегистрацияЗаказов.Форма.Форма1.Форма(7801)}: Значение не является значением объектного типа (Записать)
  ВнОбработка.Записать(ИмяФайла);

ПолучитьИмяВременногоФайла() возвращает C:\Users\user\AppData\Local\Temp\v8_BE81_b9.tmp  

У меня (на моем ПК) при тестирование все нормально, как и в других магазинах. У меня- серверная база, в магазинах (во всех) файловие.
Кэш почистила - не помогло. Есть идеи, в чем может быть дело, как леччить, или хотя бы как сформировать ошибку коротко, чтобы загуглить?

Спасибо!
1 Вафель
 
03.07.18
10:23
у тебя в хранилище вместо обработки - пусто
2 DenYuliya
 
03.07.18
10:38
(1) Не очень понимаю, о чем вы  именно. Файл обработки - подключен во внешние обработки и отчеты, и там не пусто. Или речь о временном файле, который должен создаваться во время запуска/выполнения обработки?
Если второе, то это-то я понимаю, в том и вопрос- почему такая фигня и как ее лечить?
3 DenYuliya
 
03.07.18
10:39
Нашла подобную тему, но там очень мало ((( http://forum-1c.ru/index.php?topic=69385.0
4 mehfk
 
03.07.18
10:40
ВнОбработка = СпрОбработок.ХранилищеВнешнейОбработки.Получить();
Если ВнОбработка = Неопределено Тогда
Возврат;
КонецЕсли;
5 DenYuliya
 
03.07.18
10:41
(4) оке, спасибо попробую. А почему оно может быть неопределено?
6 DenYuliya
 
03.07.18
10:42
(4) кстати да, наименование проверю сейчас, хзотя вряд ли, смущает то, что во всех остальных магазинах-то работает все
7 Сияющий в темноте
 
03.07.18
10:45
Если в хранилище ничего нет,то будет неопределено.
8 DenYuliya
 
03.07.18
10:49
Блин. Оке, расшифровываю: почему может быть пусто в хранилище, если внешняя обработка прикреплена, как файл, в справочник "Внешние обработки и отчеты", открывается, запускается и по-логике там не пусто. По какой причине в хранилище может быть пусто?
Третий раз просто дается ответ из серии "капитан очевидность", И я третий раз повторяю: я понимаю, что там пусто. И что неопределено = пусто, я тоже понимаю. И даже что означает текст ошибки - тоже понимаю))).
Я не понимаю, ПОЧЕМУ там пусто и КАК это лечить.
9 ildary
 
03.07.18
11:06
Я бы еще вот эту папку почистил и проверил права - C:\Users\user\AppData\Local\Temp
10 mehfk
 
03.07.18
11:07
(5) см (1)
11 DenYuliya
 
03.07.18
11:11
(10) см п (8) . Я понимаю, что пусто. Почему там может быть пусто?
Обработка заппускается и работает, файлы во временном хранилище создаются в момент запуска обработки.
12 DenYuliya
 
03.07.18
11:11
(9) спс, попробую. чекдбф провела - ничего не дало((
13 DenYuliya
 
03.07.18
11:18
(4)
У меня на компе вот эта часть кода возвращает:

FF FF FF 7F 00 02 00 00 1B 00 00 00 00 00 00 00 0D 0A 30 30 30 30 30 31 34 34 20 30 30 30 30 30 32 30 30 20 37 66 66 66 66 66 66 66 20 0D 0A 2F 02 00 00 AE 02 00 00 FF FF FF 7F CD 04 00 00 50 05 00 00 FF FF FF 7F 06 08 00 00 85 08 00 00 FF FF FF 7F A4 0A 00 00 27 0B 00 00 FF FF FF 7F 8C 0D 00 00 0B 0E 00 00 FF FF FF 7F 2A 10 00 00 AD 10 00 00 FF FF FF 7F 55 13 00 00 D4 13 00 00 FF FF FF 7F F3 15 00 00 76 16 00 00 FF FF FF 7F 9A 18 00 00 19 19 00 00 FF FF FF 7F 38 1B 00 00 BB 1B 00 00 FF FF FF 7F 63 1E 00 00 E2 1E 00 00 FF FF FF 7F 01 21 00 00 84 21 00 00 FF FF FF 7F 35 24 00 00 B4 24 00 00 FF FF FF 7F D3 26 00 00 56 27 00 00 FF FF FF 7F 16 2A 00 00 95 2A 00 00 FF FF FF 7F 3E 2E 00 00 BD 2E 00 00 FF FF FF 7F DC 30 00 00 5F 31 00 00 FF FF FF 7F 1B 35 00 00 9A...

Тип ДвоичныеДанные.

На компе проблемного магазина тот же код возвращает Неопределено.

Как такое вообще может быть? Одна и та же обработка, один и тот же код.
14 DenYuliya
 
03.07.18
11:18
к (13):
вот эта часть кода:

ВнОбработка = СпрОбработок.ХранилищеВнешнейОбработки.Получить();
15 Флориан
 
03.07.18
11:26
это не верно
СпрОбработок = Справочники.ВнешниеОбработки.НайтиПоНаименованию("Печать этикеток (клейкие)");
    Если СпрОбработок = Неопределено тогда
        Возврат;
    КонецЕсли;

так надо

СпрОбработок = Справочники.ВнешниеОбработки.НайтиПоНаименованию("Печать этикеток (клейкие)");
    Если СпрОбработок = Справочники.ВнешниеОбработки.ПустаяСсылка() тогда
        Возврат;
    КонецЕсли;
16 Флориан
 
03.07.18
11:30
РИБ у тебя не засинхронизировал Справочники.ВнешниеОбработки - РИБ смотри
17 DenYuliya
 
03.07.18
11:33
(16) что именно там смотреть? Данная обработка в базе магазина  есть, лежит в справочнике "Внешние обработки и отчеты", я ее оттуда и запускаю. Если бы ее не было -магазин бы не смог работать)).
Остальные отчеты-обработки тоже вроде бы на месте.
правила РИБ для всех магазов одинаковые, данный магаз работает давно и все было ок, потом раз-и стало не ок.

Я не против посмотреть, но может не понимаю, что именно мне в РИБ надо увидеть?
18 DenYuliya
 
03.07.18
11:38
К (17): ошибок при обмене нет, 2 зеленые галки...
19 Флориан
 
03.07.18
11:41
(14) точно под толстым клиентом запускается?
20 DenYuliya
 
03.07.18
11:55
(19) по-умолчанию настроийки стоят, сейчас попробую поменять.
21 DenYuliya
 
03.07.18
11:56
(17) еще раз проверила в спр. "Внешние обработки и отчеты" все обработка, в т.ч. вызываемые из РМК: все на месте.
22 DenYuliya
 
03.07.18
11:57
(9) вычистила оттуда 8500 элементов всякого *овна, но не помогло((
23 DenYuliya
 
03.07.18
12:13
(19) теперь точно -ничего не поменялось(((
24 Флориан
 
03.07.18
13:13
(13) а что СпрОбработок.ХранилищеВнешнейОбработки возвращает?
25 DenYuliya
 
03.07.18
15:39
(24) Неопределено, но при этом элемент справочника находится по коду и по наименованию.
26 DenYuliya
 
03.07.18
15:41
Проблема решена, помогло тупо перезалить вручную обработки, заменив существующие.
Спасибо всем за советы, особенно (16)!
27 Вафель
 
03.07.18
15:44
(26) А как же магазин работал, если обработки не было?
28 DenYuliya
 
03.07.18
15:48
(27) РМК работала корректно, + я ее перезалила в первую же очеоредь, но не подумала, что надо было перезалить так же все обработки, вызываемые из РМК, такие как та же ПечатьЦенников, просто проверила сама наличие этих обработок в справочнике (наличие прикрепленного файла внешней обработки).