|
Код выполняется только в отладке | ☑ | ||
---|---|---|---|---|
0
AlexToo
27.12.16
✎
12:51
|
Люди, помогите!!! Конфа КА 2.0 платформа 3.0 управляемое приложение, дописал доработку по загрузке ПДФ файлов, и тут ситуация странная если я смотрю код по отладке т.е. отладчиком прохожу код, тогда у меня ПДФ файл добавляется к документу, если же без отладки просто запустить то не добавляется, уже голову сломал что не так...
|
|||
1
AlexToo
27.12.16
✎
12:53
|
Функции по добавлению файла выполняются на клиенте, в отладке файлы вижу, всё есть.
|
|||
2
Вафель
27.12.16
✎
12:53
|
сообщить везде добавь
|
|||
3
Franchiser
гуру
27.12.16
✎
12:54
|
Добавь обработку в базу
|
|||
4
Cyberhawk
27.12.16
✎
12:56
|
Думаю, причина в контексте исполнения кода
|
|||
5
Cyberhawk
27.12.16
✎
12:56
|
Или кэше метаданных и/или клиент-серверных вызовов
|
|||
6
AlexToo
27.12.16
✎
12:57
|
(3) там и так всё в общих модулях прописанно
|
|||
7
Любопытная
27.12.16
✎
12:58
|
Или не в отладке запускается другая обработка
|
|||
8
AlexToo
27.12.16
✎
12:58
|
(4) (5) как проверить? У меня получается всё на клиенте выполняется, и есть две функции которые обращаются на сервер и возвращают значение типа булево.
|
|||
9
Franchiser
гуру
27.12.16
✎
12:58
|
Ну, почисти кеш. Вообще лучше читать файлы на сервере.
|
|||
10
SergTheGreat
27.12.16
✎
12:59
|
(0) А сам документ, после добавления к нему PDF, ты не забыл записать?
|
|||
11
Cyberhawk
27.12.16
✎
13:00
|
(8) Почистить оба кэша для начала
|
|||
12
Cyberhawk
27.12.16
✎
13:01
|
Ну и покажи на картинке, что это за "без отладки просто запустить"
|
|||
13
AlexToo
27.12.16
✎
13:01
|
(7) у меня получается есть расширение в нём в форме списка журнала документов прописана кнопка типа "Начать загрузку" с неё и начинается, затем передается на общий модуль который работает на клиенте и в нём есть пару функций который обращаются к модулю который на сервере.
|
|||
14
Franchiser
гуру
27.12.16
✎
13:04
|
какие галочки у модуля? Сервер, вызов сервера?
|
|||
15
AlexToo
27.12.16
✎
13:19
|
(12) блин не знаю как на картинке показать))) ну когда конфигуратор закрыт полностью, просто кнопку загрузить нажимаю, происходит загрузка и всё.
|
|||
16
Cyberhawk
27.12.16
✎
13:22
|
(15) Отладчик к какому сеансу подключен (когда все отрабатывает как надо)? Покажи на картинке
|
|||
17
Cyberhawk
27.12.16
✎
13:23
|
Плюс покажи на картинке диалог "О программе" из сеанса, в котором без отладчика, как ты говоришь, не работает
|
|||
18
AlexToo
27.12.16
✎
13:25
|
(17) сейчас
|
|||
19
AlexToo
27.12.16
✎
13:48
|
(16) вот о программе https://yadi.sk/i/6EDpqZ4q35Gfgm, вот отладчик: https://yadi.sk/i/aqee6BVo35GnyF
|
|||
20
AlexToo
27.12.16
✎
13:50
|
(14) у клиентского модуля в которм происходи основная работа галка "Клиент (Управляемое приложение)", у серверного модуля который выполняет пару функций галки:Сервер, Вызов сервера.
|
|||
21
AlexToo
27.12.16
✎
13:50
|
(11) кэш почистил, не помогло, так же пробовал запустить обновление информационной базы, не помогло(((
|
|||
22
mxs089
27.12.16
✎
13:58
|
попробуй переустановить 1с, мне помогало
|
|||
23
ELEA26
27.12.16
✎
14:00
|
(21) Толстым клиентом - тот же результат?
|
|||
24
AlexToo
27.12.16
✎
14:02
|
(22) да не могу я переустановить 1С.
|
|||
25
AlexToo
27.12.16
✎
14:02
|
(23) под толстым клиентам не пробовал, все пользователи под тонким работают
|
|||
26
Franchiser
гуру
27.12.16
✎
14:21
|
Серверный кеш почисти.
Покажи код который не отрабатывает |
|||
27
Franchiser
гуру
27.12.16
✎
14:25
|
Закомментируй попытки
|
|||
28
AlexToo
27.12.16
✎
14:29
|
(26) как серверный кэш почистить?
|
|||
29
AlexToo
27.12.16
✎
14:33
|
(26) подозреваю, что не срабатывает процедура по добавлению файла к документу:
&НаКлиенте Функция ДобавитьПДФ(Акт, ПДФ) Файл = Новый Файл(ПДФ); ВладелецФайла=Акт; ИмяСоздаваемогоФайла=файл.ИмяБезРасширения; ПолноеИмяФайла=ПДФ; ИдентификаторФормы=Акт.УникальныйИдентификатор(); ОбщиеНастройки = ФайловыеФункцииСлужебныйКлиентСервер.ОбщиеНастройкиРаботыСФайлами(); ФайловыеФункцииСлужебныйКлиентСервер.ПроверитьВозможностьЗагрузкиФайла(Файл); Если ОбщиеНастройки.ИзвлекатьТекстыФайловНаСервере Тогда АдресВременногоХранилищаТекста = ""; Иначе АдресВременногоХранилищаТекста = ФайловыеФункцииСлужебныйКлиентСервер.ИзвлечьТекстВоВременноеХранилище( ПолноеИмяФайла, ИдентификаторФормы); КонецЕсли; ВремяИзмененияУниверсальное = Файл.ПолучитьУниверсальноеВремяИзменения(); //ОбновитьСостояниеОСохраненииФайлов(Объект, Файл, 1, ИмяСоздаваемогоФайла); ПоследнийСохраненныйФайл = Файл; ПомещаемыеФайлы = Новый Массив; Описание = Новый ОписаниеПередаваемогоФайла(Файл.ПолноеИмя, ""); ПомещаемыеФайлы.Добавить(Описание); ПомещенныеФайлы = Новый Массив; //ПоместитьВоВременноеХранилище(ПомещаемыеФайлы); Если НЕ ПоместитьФайлы(ПомещаемыеФайлы, ПомещенныеФайлы, , Ложь, ИдентификаторФормы) Тогда ОбщегоНазначенияКлиентСервер.СообщитьПользователю( СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( НСтр("ru = 'Ошибка при помещении файла |""%1"" |во временное хранилище.'"), Файл.ПолноеИмя) ); КонецЕсли; АдресВременногоХранилищаФайла = ПомещенныеФайлы[0].Хранение; ИмяБезРасширения = ?(ПустаяСтрока(ИмяСоздаваемогоФайла), Файл.ИмяБезРасширения, ИмяСоздаваемогоФайла); // Создание карточки Файла в базе данных. ПрисоединенныйФайл = ПрисоединенныеФайлыСлужебныйВызовСервера.ДобавитьФайл( ВладелецФайла, ИмяБезРасширения, ОбщегоНазначенияКлиентСервер.РасширениеБезТочки(Файл.Расширение), , ВремяИзмененияУниверсальное, АдресВременногоХранилищаФайла, АдресВременногоХранилищаТекста); Сообщ = Новый СообщениеПользователю; Сообщ.Текст = "К документу: " + Акт+" загружен файл: "+Файл.Имя; Сообщ.Сообщить(); КонецФункции т.к. сообщение из этой процедуры не отображается, но если проходить отладкой и заходить в эту процедуру тогда код работает |
|||
30
k1noshkin
27.12.16
✎
14:35
|
(25) Пользователи то под тонким работают, а отладку,наверно, под толстым запускаешь.
|
|||
31
AlexToo
27.12.16
✎
14:41
|
(30) я щас переделал эту доработку внешней обработкой, и всё работает.я не понимаю в чём причина. внешнюю обработку запускаю так же на тонком клиенте.
|
|||
32
Cyberhawk
27.12.16
✎
14:43
|
(31) Что за внешняя обработка, покажи на картинке и в чем ее отличие от сценария, когда у тебя не работает (тоже покажи на картинке)
|
|||
33
Cyberhawk
27.12.16
✎
14:43
|
Я имею в виду, кнопка там в обработке этой внешней или что у тебя
|
|||
34
AlexToo
27.12.16
✎
14:53
|
(33) Вот доработка в самой конфигурации: https://yadi.sk/i/4kdBa5c235HX4z при помощи расширения добавлена кнопка "Загрузить данные по МГМН" по нажатию на неё происходит загрузка документов Акт выполненных работ и к этим актам должны цепляться пдф файлы, акты загружаются, но пдф не цепляются.
А вот внешняя обработка https://yadi.sk/i/e3UKZxYd35HY8q , она цепляет только ПДФ файлы, после того как акты уже загружены. Код один и тот же, даже разбиение на клиент и сервер тоже самое. |
|||
35
Cyberhawk
27.12.16
✎
14:57
|
"акты загружаются, но пдф не цепляются" // Может не записываешь объекты в БД до того, как хочешь прицепить к ним файлы?
|
|||
36
Cyberhawk
27.12.16
✎
14:57
|
(понятно, что так делать по сути может и не надо и даже плохо, но вдруг)
|
|||
37
Cyberhawk
27.12.16
✎
14:57
|
Ну а так-то раз у тебя расширение, то велика вероятность причины все-таки в кэше метаданных
|
|||
38
AlexToo
27.12.16
✎
15:02
|
(35) да это я сразу проверил, акты уже проведенные к тому моменту как ПДФ цепляться начинают в отладке же я когда по строчно проходу я вижу что он созданный акт находит и цепляет к нему пдф.
|
|||
39
AlexToo
27.12.16
✎
15:04
|
(37) да расширение вообще не моя доработка, по-моему вообще не нужна т.к. конфа и без расширения дофига доработанная зачем было в расширение выносить не понятно. Но переделывать всё тоже пока не берусь. А подскажите пожалуйста, если Вы считаете, что дело в кэше, как правильно его почистить-то? тут писали почистить серверный кэш, не понимаю как правильно эт сделать? И кэш тогда у всех пользователей чистить придется?
|
|||
40
Franchiser
гуру
27.12.16
✎
15:25
|
(39) на сервере папка srvinfo, там есть каталог с сеансовыми данными sntx как-то называется. Но нужно останавливать сервер.
|
|||
41
ELEA26
27.12.16
✎
15:26
|
(39) "C:\Program Files\1cv8\srvinfo\reg_1541\snccntx....." при остановленном сервере.
Но после этого у некоторых не стартует служба. У меня такого не было, но раз народ пишет - будь готов. |
|||
42
ELEA26
27.12.16
✎
15:26
|
(41) саму папку не грохни! Только что внутри.
|
|||
43
Лохматые Уши
27.12.16
✎
15:27
|
(39) Также как и кеш пользователя. Но это делаешь для того пользователя, под которым запущена служба сервера 1С.
C:\Users\Вася Пупкин\AppData\Local\Temp Предварительно стопоришь сервер и все rphost. |
|||
44
AlexToo
27.12.16
✎
15:34
|
(43) (42) (41) (40) спасибо буду знать, но увы мне никто не позволит остановить службы сервера. У всех же дофига важная работа.
|
|||
45
Franchiser
гуру
27.12.16
✎
15:34
|
(29) по коду не понял: переменные владелецфайла и Акт - одно и то же?
|
|||
46
ELEA26
27.12.16
✎
15:35
|
(44) вечерком... :)
|
|||
47
AlexToo
27.12.16
✎
15:35
|
(45) да, одно и то же
|
|||
48
AlexToo
27.12.16
✎
15:37
|
(46) я сам на удалёнке без полного доступа, а их сис. админ вряд ли захочет оставаться ради меня и отрубать службы.
|
|||
49
ELEA26
27.12.16
✎
15:50
|
(48) ну это организационный вопрос. У нас это вообще зона ответственности админов. Нам надо перегрузить - сообщаем и ждем обратной связи, когда готово.
Тут уж как у вас устроено - так и поступайте :) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |