Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Старая форма документа

v7: Старая форма документа
Я
   Eugene_a
 
30.06.18 - 06:12
7.7 SQL
Внёс изменения в один документ.
На всех компах загружается новый документ, а на одном - старая форма.
Причем не зависит от того, под каким пользователем зашли в 1С.
Что это за глюк?
 
 
   МимохожийОднако
 
1 - 30.06.18 - 07:03
На глюкнутом компьютере старая копия базы вместо рабочей
   Джордж1
 
2 - 30.06.18 - 07:55
(30)не печатная форма?
   Eugene_a
 
3 - 30.06.18 - 07:57
Не печатная. Рабочая, с полями и кнопками.
Открываю ее конфигуратор - виду новую версию.
Открываю предприятие - вижу старый вариант.
База везде на шаре, скульная.
   Джордж1
 
4 - 30.06.18 - 08:00
Помнится мне что в SQL md-ник кэшируется
А если комп перезагрузить?
   Eugene_a
 
5 - 30.06.18 - 10:33
Перезагрузка не помогла.
Темпы тоже чистил.
Попробую на проблемном компе пересобрать конфигурацию.
   LienXo
 
6 - 30.06.18 - 12:27
ОС на проблемном какая?
   NSSerg
 
7 - 30.06.18 - 13:08
В приоткрытии() напиши
сообщить("новая форма");
Ну и замер производительности, и посмотри какая форма реально открывается.
   Попытка1С
 
8 - 30.06.18 - 13:28
(4) "Помнится мне что в SQL md-ник кэшируется"

ну-ну
   palpetrovich
 
9 - 30.06.18 - 16:45
(8) не ну-ну, а угумс, бывает такое, уже приходилось удивляться
   Попытка1С
 
10 - 30.06.18 - 19:43
(9) Скуль про md файл ничего не знает вообще.
 
 Рекламное место пустует
   Chameleon1980
 
11 - 30.06.18 - 19:54
может 1с знает? что мд где-то в скл
хотя таблицу видно было бы какуюнить

кто-то врет
   Chameleon1980
 
12 - 30.06.18 - 19:55
хотя 1с без мд то куда
   Попытка1С
 
13 - 30.06.18 - 20:16
@может 1с знает? что мд где-то в скл@

1c платформа знает что формат базы sql, по наличию файла dds если файл dd то это файловая.
   Chameleon1980
 
14 - 30.06.18 - 22:05
(13) ну и отсюда возможно (9)
хотя (11) п.2
   Eugene_a
 
15 - 07.07.18 - 01:41
Теперь уже на нескольких компах в одном документе начал ругаться на деление на ноль в строке 80.
Смотрю в отладчике - делит на ненулевое число, но вылетает с этой же ошибкой.
Переписал немного код, все равно деление на ноль в строке 80.
Причем отладчик показывает код, где строка 80 пустая, доходит до нее по F8 , ставит на нее курсор. При нажатии F8 выдает ошибку деления на ноль.
   AliAksA
 
16 - 07.07.18 - 07:34
(15) ну ты хоть бы кусочек кода сюда сбросил (с 80 строкой),
конечно не факт, что телепатов нет - всяко бывает ...
   Salimbek
 
17 - 07.07.18 - 09:24
(15) МД-шник может битый, проверить его GComp-ом.
   Salimbek
 
18 - 07.07.18 - 09:27
+(17) И я очень надеюсь, что в конфе ТурбоМД не подключен, а то будет весело...
   Eugene_a
 
19 - 07.07.18 - 11:07
вот здесь скриншоты:
код с установленным курсором на пустое место и лог с ошибкой.

https://drive.google.com/drive/folders/1mz6mdQ4jmdWqBlOU_YFa2y3iDqKeI9TM?usp=sharing

ругается на строчку, которая теперь на 17 строк ниже и изменена.
   Salimbek
 
20 - 07.07.18 - 11:13
(19) Еще раз попробую...
Выполните, пожалуйста, глобальный поиск в вашей конфигурации текста turbomd.dll
   Salimbek
 
21 - 07.07.18 - 11:41
Ну, пока мы ждем ответа, я напишу - почему спрашиваю об этой длл: дело в том, что если эта компонента подключена, и в prm-файле прописано, что форма этого документа будет лежать не в конфе, а в файле на диске, то и база будет брать и форму, и модули из указанных файлов, а не из МД-шника.
Я, в свое время, так одну конфу дорабатывал - с обменом присылал zip-файл в перифериные базы, там они ночью распаковывались и обновляли то, что мне было нужно. В итоге с утра народ приходил, а у них был уже новый функционал.
   Djelf
 
22 - 07.07.18 - 11:44
А еще можно модуль formex`ом менять.
(0) В глобальнике есть процедура ПриЗагрузкеМодуляФормы?
   Eugene_a
 
23 - 07.07.18 - 13:01
(20)
Процедура ПриНачалеРаботыСистемы()
    Если юПроверитьРегНомер() = 0 Тогда
        СтатусВозврата(0);
        Возврат;
    КонецЕсли;    
    
    Попытка
        ЗагрузитьВнешнююКомпоненту(КаталогИБ()+"1cpp.dll");
        ЗагрузитьВнешнююКомпоненту(КаталогИБ()+"turbomd.dll");
    Исключение
        Сообщить("Ошибка загрузки внешних компонент.");
    КонецПопытки;



(22) ПриЗагрузкеМодуляФормы - нету
   Eugene_a
 
24 - 07.07.18 - 13:04
(20)
а в turbomd.prm
действительно, прописано куча всего, в том числе и искомая форма.
   Salimbek
 
25 - 07.07.18 - 13:33
(24) Ну вот )) Вопчем - если ОпенКонфом пользуешься, то у него есть готовый скрипт, но горячие клавиши его вешаешь, и прямо в конфе - как все свои изменения внес - нажимаешь и текущее окошко в нужные файлики само выгружается. После этого прямо сразу у соседей в 1С-ке смотришь - уже все должно по новому работать. Никаких выгонялок пользователей из конфы, и монопльных сохранений не нужно.
   Злопчинский
 
26 - 07.07.18 - 16:27
(25) хорошая штука, когда юзверей много.
но никогда не пользовался...
   Eugene_a
 
27 - 07.07.18 - 23:35
(26) я когда-то такое на фокспро делал.
А в 1с этого очень не хватало.
Будем пользоваться.

Только какая последовательность действий?
В конфигуратор нужно открыть форму либо в конфигурации, либо ранее отдельносохраненную, если она занесена в turbomd.prm ?
   Eugene_a
 
28 - 09.07.18 - 10:18
(25) и в итоге новая форма документа есть в моей тестовой конфигурации и в выгруженных файликах для продакш-конфигурации.

потом приходит новый 1Сник, который может взять только продакшн с дополнительными файликами и он должен их засунуть в скаченную на свой комп конфигурацию?
   Eugene_a
 
29 - 09.07.18 - 10:28
кстати, выяснено, почему на некоторых компах загружалась старая форма, а на некоторых - новая.

те компы, где уже успели поставить вин10, при старте 1С выдавали:
"Ошибка при создании объекта из компоненты \\1c_bases\sql\turbomd.dll (отсутствует CLSID)"
то есть не стартовала dllка, и в итоге, грузились необновленные формы.

без прав админа она не хочет грузиться, регистрироваться она тоже не хочет.

при этом об ошибке запуска 1cpp.dll сообщений нет.
   Djelf
 
30 - 09.07.18 - 10:47
(29) У тебя turbomd старая, обнови
http://www.1cpp.ru/forum/YaBB.pl?num=1160630298
   ADirks
 
31 - 09.07.18 - 10:47
Да, TurboMD - крайне полезная штука.
Причём даже не столько в продуктиве, сколько при разработке - не надо перезапускаться на каждый чих.

А чтобы удивлений, как в (0), не происходило, в ПриНачалеРаботы пишем
    ВремяМД = "";
    ФС.АтрибутыФайла(КаталогИБ()+"1cv7.md",,,,, ВремяМД); 
    ВремяКонтрольное = СокрЛП(Константа.ДатаПоследнегоИзмененяКонфигурации);
    
    Если ВремяМД > ВремяКонтрольное Тогда
        Если ФС.СуществуетФайл(КаталогИБ()+"TurboMD.prm") = 1 Тогда
            Размер = 0;
            ФС.АтрибутыФайла(КаталогИБ()+"TurboMD.prm", Размер);
            Если Размер > 0 Тогда
                ФС.ПереименоватьФайл(КаталогИБ()+"TurboMD.prm", КаталогИБ()+"TurboMD.prm~", 1);
            КонецЕсли;
        КонецЕсли;
        Константа.ДатаПоследнегоИзмененяКонфигурации = ВремяМД;
    КонецЕсли;


ну и костанту заводим
   tgu82
 
32 - 09.07.18 - 11:07
(0) Полезная инфа.
   Eugene_a
 
33 - 09.07.18 - 12:04
нашел макрос LoadFromFileToMD,
вроде разобрался.

то есть после каждого чиха не обновляем продакшн MD, а запускаем UnloadCurrentWnd(), который скидывает в TurboMD.prm
в итоге актуальные версии хранятся в нем, а не в MD.

когда нужно создать новое место разработчика, то нужно стянуть базу и запустить макрос LoadFromFileToMD, который сделает у разработчика MD с актуальными версиями документов.

так?
 
 
   Eugene_a
 
34 - 09.07.18 - 12:19
(30) что-то у скачанного файлика (слева) и размер, и номер версии меньше, чем у имеющегося (справа).

https://drive.google.com/file/d/1HuWNNahGgl6kxSG1fn5AX5YIlDlBQbNZ/view?usp=sharing
   Ёпрст
 
35 - 09.07.18 - 12:24
(34)На версию не смотри, именно эта более менее корректно работает с классами.
   ADirks
 
36 - 09.07.18 - 12:29
(33) Не так.  У разработчика МД сохраняем, выгружаем чего надо в файлы, копируем в боевую базу. Как только появляется возможность нормально обновить боевую - обновляем, и удаляем все файлы от TurboMD.

Все изменения хранить в МДшнике. LoadFromFileToMD - это на случай падения конфигуратора или выключения света.
   ADirks
 
37 - 09.07.18 - 12:39
А вот когда занимаешься разработкой, то вместо того, чтобы после каждой мелкой правки сохраняться и перезапускаться, делаешь UnloadCurrentWnd, и дальше проверяешь. Макрос можно на кнопку повесить, тогда совсем удобно (Ctrl-U например)
   Eugene_a
 
38 - 09.07.18 - 14:39
Понятно.
Досталась конфа и turboMD.prm нечищеный с почти сотней строк )
Буду их имплементить в MD поштучно, так как некоторые документы в MD уже сам изменял. (
   ADirks
 
39 - 09.07.18 - 14:46
(38) Свезло так свезло :))
   Eugene_a
 
40 - 17.07.18 - 12:50
(35) не знаю на счет классов, но с этой версией на многих печатных формах 1С начала падать.
   Eugene_a
 
41 - 18.07.18 - 11:14
(36) UnloadCurrentWnd() должен уметь выгружать таблицы?
   Salimbek
 
42 - 18.07.18 - 11:17
(41) А для чего? Берешь, сохраняешь в папочку в свой xml, в нужном месте отчета или документа, используя ТурбоМД, грузишь его из этой папочки и работаешь.


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует