|
v7: Старая форма документа | ☑ | ||
---|---|---|---|---|
0
Eugene_a
30.06.18
✎
06:12
|
1С 7.7 SQL
Внёс изменения в один документ. На всех компах загружается новый документ, а на одном - старая форма. Причем не зависит от того, под каким пользователем зашли в 1С. Что это за глюк? |
|||
1
Мимохожий Однако
30.06.18
✎
07:03
|
На глюкнутом компьютере старая копия базы вместо рабочей
|
|||
2
Джордж1
30.06.18
✎
07:55
|
(30)не печатная форма?
|
|||
3
Eugene_a
30.06.18
✎
07:57
|
Не печатная. Рабочая, с полями и кнопками.
Открываю ее конфигуратор - виду новую версию. Открываю предприятие - вижу старый вариант. База везде на шаре, скульная. |
|||
4
Джордж1
30.06.18
✎
08:00
|
Помнится мне что в SQL md-ник кэшируется
А если комп перезагрузить? |
|||
5
Eugene_a
30.06.18
✎
10:33
|
Перезагрузка не помогла.
Темпы тоже чистил. Попробую на проблемном компе пересобрать конфигурацию. |
|||
6
LienXo
30.06.18
✎
12:27
|
ОС на проблемном какая?
|
|||
7
NSSerg
30.06.18
✎
13:08
|
В приоткрытии() напиши
сообщить("новая форма"); Ну и замер производительности, и посмотри какая форма реально открывается. |
|||
8
Попытка1С
30.06.18
✎
13:28
|
(4) "Помнится мне что в SQL md-ник кэшируется"
ну-ну |
|||
9
palpetrovich
30.06.18
✎
16:45
|
(8) не ну-ну, а угумс, бывает такое, уже приходилось удивляться
|
|||
10
Попытка1С
30.06.18
✎
19:43
|
(9) Скуль про md файл ничего не знает вообще.
|
|||
11
Chameleon1980
30.06.18
✎
19:54
|
может 1с знает? что мд где-то в скл
хотя таблицу видно было бы какуюнить кто-то врет |
|||
12
Chameleon1980
30.06.18
✎
19:55
|
хотя 1с без мд то куда
|
|||
13
Попытка1С
30.06.18
✎
20:16
|
@может 1с знает? что мд где-то в скл@
1c платформа знает что формат базы sql, по наличию файла dds если файл dd то это файловая. |
|||
14
Chameleon1980
30.06.18
✎
22:05
|
(13) ну и отсюда возможно (9)
хотя (11) п.2 |
|||
15
Eugene_a
07.07.18
✎
01:41
|
Теперь уже на нескольких компах в одном документе начал ругаться на деление на ноль в строке 80.
Смотрю в отладчике - делит на ненулевое число, но вылетает с этой же ошибкой. Переписал немного код, все равно деление на ноль в строке 80. Причем отладчик показывает код, где строка 80 пустая, доходит до нее по F8 , ставит на нее курсор. При нажатии F8 выдает ошибку деления на ноль. |
|||
16
AliAksA
07.07.18
✎
07:34
|
(15) ну ты хоть бы кусочек кода сюда сбросил (с 80 строкой),
конечно не факт, что телепатов нет - всяко бывает ... |
|||
17
Salimbek
07.07.18
✎
09:24
|
(15) МД-шник может битый, проверить его GComp-ом.
|
|||
18
Salimbek
07.07.18
✎
09:27
|
+(17) И я очень надеюсь, что в конфе ТурбоМД не подключен, а то будет весело...
|
|||
19
Eugene_a
07.07.18
✎
11:07
|
вот здесь скриншоты:
код с установленным курсором на пустое место и лог с ошибкой. https://drive.google.com/drive/folders/1mz6mdQ4jmdWqBlOU_YFa2y3iDqKeI9TM?usp=sharing ругается на строчку, которая теперь на 17 строк ниже и изменена. |
|||
20
Salimbek
07.07.18
✎
11:13
|
(19) Еще раз попробую...
Выполните, пожалуйста, глобальный поиск в вашей конфигурации текста turbomd.dll |
|||
21
Salimbek
07.07.18
✎
11:41
|
Ну, пока мы ждем ответа, я напишу - почему спрашиваю об этой длл: дело в том, что если эта компонента подключена, и в prm-файле прописано, что форма этого документа будет лежать не в конфе, а в файле на диске, то и база будет брать и форму, и модули из указанных файлов, а не из МД-шника.
Я, в свое время, так одну конфу дорабатывал - с обменом присылал zip-файл в перифериные базы, там они ночью распаковывались и обновляли то, что мне было нужно. В итоге с утра народ приходил, а у них был уже новый функционал. |
|||
22
Djelf
07.07.18
✎
11:44
|
А еще можно модуль formex`ом менять.
(0) В глобальнике есть процедура ПриЗагрузкеМодуляФормы? |
|||
23
Eugene_a
07.07.18
✎
13:01
|
(20)
Процедура ПриНачалеРаботыСистемы() Если юПроверитьРегНомер() = 0 Тогда СтатусВозврата(0); Возврат; КонецЕсли; Попытка ЗагрузитьВнешнююКомпоненту(КаталогИБ()+"1cpp.dll"); ЗагрузитьВнешнююКомпоненту(КаталогИБ()+"turbomd.dll"); Исключение Сообщить("Ошибка загрузки внешних компонент."); КонецПопытки; (22) ПриЗагрузкеМодуляФормы - нету |
|||
24
Eugene_a
07.07.18
✎
13:04
|
(20)
а в turbomd.prm действительно, прописано куча всего, в том числе и искомая форма. |
|||
25
Salimbek
07.07.18
✎
13:33
|
(24) Ну вот )) Вопчем - если ОпенКонфом пользуешься, то у него есть готовый скрипт, но горячие клавиши его вешаешь, и прямо в конфе - как все свои изменения внес - нажимаешь и текущее окошко в нужные файлики само выгружается. После этого прямо сразу у соседей в 1С-ке смотришь - уже все должно по новому работать. Никаких выгонялок пользователей из конфы, и монопльных сохранений не нужно.
|
|||
26
Злопчинский
07.07.18
✎
16:27
|
(25) хорошая штука, когда юзверей много.
но никогда не пользовался... |
|||
27
Eugene_a
07.07.18
✎
23:35
|
(26) я когда-то такое на фокспро делал.
А в 1с этого очень не хватало. Будем пользоваться. Только какая последовательность действий? В конфигуратор нужно открыть форму либо в конфигурации, либо ранее отдельносохраненную, если она занесена в turbomd.prm ? |
|||
28
Eugene_a
09.07.18
✎
10:18
|
(25) и в итоге новая форма документа есть в моей тестовой конфигурации и в выгруженных файликах для продакш-конфигурации.
потом приходит новый 1Сник, который может взять только продакшн с дополнительными файликами и он должен их засунуть в скаченную на свой комп конфигурацию? |
|||
29
Eugene_a
09.07.18
✎
10:28
|
кстати, выяснено, почему на некоторых компах загружалась старая форма, а на некоторых - новая.
те компы, где уже успели поставить вин10, при старте 1С выдавали: "Ошибка при создании объекта из компоненты \\1c_bases\sql\turbomd.dll (отсутствует CLSID)" то есть не стартовала dllка, и в итоге, грузились необновленные формы. без прав админа она не хочет грузиться, регистрироваться она тоже не хочет. при этом об ошибке запуска 1cpp.dll сообщений нет. |
|||
30
Djelf
09.07.18
✎
10:47
|
(29) У тебя turbomd старая, обнови
http://www.1cpp.ru/forum/YaBB.pl?num=1160630298 |
|||
31
ADirks
09.07.18
✎
10:47
|
Да, TurboMD - крайне полезная штука.
Причём даже не столько в продуктиве, сколько при разработке - не надо перезапускаться на каждый чих. А чтобы удивлений, как в (0), не происходило, в ПриНачалеРаботы пишем ВремяМД = ""; ФС.АтрибутыФайла(КаталогИБ()+"1cv7.md",,,,, ВремяМД); ВремяКонтрольное = СокрЛП(Константа.ДатаПоследнегоИзмененяКонфигурации); Если ВремяМД > ВремяКонтрольное Тогда Если ФС.СуществуетФайл(КаталогИБ()+"TurboMD.prm") = 1 Тогда Размер = 0; ФС.АтрибутыФайла(КаталогИБ()+"TurboMD.prm", Размер); Если Размер > 0 Тогда ФС.ПереименоватьФайл(КаталогИБ()+"TurboMD.prm", КаталогИБ()+"TurboMD.prm~", 1); КонецЕсли; КонецЕсли; Константа.ДатаПоследнегоИзмененяКонфигурации = ВремяМД; КонецЕсли; ну и костанту заводим |
|||
32
tgu82
09.07.18
✎
11:07
|
(0) Полезная инфа.
|
|||
33
Eugene_a
09.07.18
✎
12:04
|
нашел макрос LoadFromFileToMD,
вроде разобрался. то есть после каждого чиха не обновляем продакшн MD, а запускаем UnloadCurrentWnd(), который скидывает в TurboMD.prm в итоге актуальные версии хранятся в нем, а не в MD. когда нужно создать новое место разработчика, то нужно стянуть базу и запустить макрос LoadFromFileToMD, который сделает у разработчика MD с актуальными версиями документов. так? |
|||
34
Eugene_a
09.07.18
✎
12:19
|
(30) что-то у скачанного файлика (слева) и размер, и номер версии меньше, чем у имеющегося (справа).
https://drive.google.com/file/d/1HuWNNahGgl6kxSG1fn5AX5YIlDlBQbNZ/view?usp=sharing |
|||
35
Ёпрст
09.07.18
✎
12:24
|
(34)На версию не смотри, именно эта более менее корректно работает с классами.
|
|||
36
ADirks
09.07.18
✎
12:29
|
(33) Не так. У разработчика МД сохраняем, выгружаем чего надо в файлы, копируем в боевую базу. Как только появляется возможность нормально обновить боевую - обновляем, и удаляем все файлы от TurboMD.
Все изменения хранить в МДшнике. LoadFromFileToMD - это на случай падения конфигуратора или выключения света. |
|||
37
ADirks
09.07.18
✎
12:39
|
А вот когда занимаешься разработкой, то вместо того, чтобы после каждой мелкой правки сохраняться и перезапускаться, делаешь UnloadCurrentWnd, и дальше проверяешь. Макрос можно на кнопку повесить, тогда совсем удобно (Ctrl-U например)
|
|||
38
Eugene_a
09.07.18
✎
14:39
|
Понятно.
Досталась конфа и turboMD.prm нечищеный с почти сотней строк ) Буду их имплементить в MD поштучно, так как некоторые документы в MD уже сам изменял. ( |
|||
39
ADirks
09.07.18
✎
14:46
|
(38) Свезло так свезло :))
|
|||
40
Eugene_a
17.07.18
✎
12:50
|
(35) не знаю на счет классов, но с этой версией на многих печатных формах 1С начала падать.
|
|||
41
Eugene_a
18.07.18
✎
11:14
|
(36) UnloadCurrentWnd() должен уметь выгружать таблицы?
|
|||
42
Salimbek
18.07.18
✎
11:17
|
(41) А для чего? Берешь, сохраняешь в папочку в свой xml, в нужном месте отчета или документа, используя ТурбоМД, грузишь его из этой папочки и работаешь.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |