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


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

v7: Формекс и запись константы

v7: Формекс и запись константы
Я
   kupec
 
09.01.18 - 14:31
Есть вот такой простой код
    Константа.SmtpСервер=SmtpСервер;
Который не работает....мучался мучался, в итоге нашел странный для меня глюк, а может и не глюк, если не загружать компоненту формекс, то все работает, а если её загрузить, не создавая даже никаких из неё объектов, то данный метод уже не работает. Подскажите в чем дело? версия формекса 2.0.5.108. Кстати метод через константа.установить тоже не записывает.
 
 
   Злопчинский
 
1 - 09.01.18 - 14:35
1. Сделать полностью пустую конфигурацию и воспроизвести
   kupec
 
2 - 09.01.18 - 14:44
(1) если база абсолютно пустая то и с формексом работает, в той базе в которой надо после загрузки формекса не работает, перепробовал кучу вариантов
   Злопчинский
 
3 - 09.01.18 - 14:46
(2) ищи код
   kupec
 
4 - 09.01.18 - 14:47
(3) а что может блокировать запись?
   kupec
 
5 - 09.01.18 - 14:51
База не пустая, процедура ПриНачалеРаботыСистемы() пустая, все работает, в данной процедуре пишем ЗагрузитьВнешнююКомпоненту(формекс) и все, константа не пишется, база кстати DBF
   mehfk
 
6 - 09.01.18 - 14:52
Для эксперимента - грохни _1sconst и проверь еще раз.
   kupec
 
7 - 09.01.18 - 14:55
(6) буду пробовать, для начала запустил тестирование и исправление.
   kupec
 
8 - 09.01.18 - 14:57
(6) тестирование и исправление не помогла, а где _1sconst найти?
   kupec
 
9 - 09.01.18 - 15:00
(6) нашел, не помогло
   kupec
 
10 - 09.01.18 - 15:06
Скачал последний формекс, не помогает
 
 Рекламное место пустует
   Chieftain
 
11 - 09.01.18 - 15:09
(9) а код точно вызывается? на пустой базе из этого md повторяется?
   kupec
 
12 - 09.01.18 - 15:14
смысл такой, есть база данных, не пустая, DBF. 
Процедура ПриНачалеЗапсукаСистемы()
    ЗагрузкаDialMail(); 
    ЗагрузкаV7();                                          
    ЗагрузкаFormEx();
    Загрузка1CPP();
КонецПроцедуры
заремариваешь формекс, все сохраняется, разремариваешь не сохраняется. Даже если загрузить только формекс, все равно не то, файл с константами гробил, тестирование делал. НЕ ПОМОГАЕТ, создаю новую базу, загружаю формекс, все сохраняется. Теперь то я понимаю что дело в базе....но вот только где...
   smitti911
 
13 - 09.01.18 - 15:19
Проверь региональные стандарты базы и системы
   Злопчинский
 
14 - 09.01.18 - 15:21
1с++ НАДО ГРУЗИТЬ ПЕРВОЙ
   Злопчинский
 
15 - 09.01.18 - 15:22
В базе с проблемой внешним вьювером просмотри таблицу констант - нет ли у тебя на проблемную константу ДВЕ записи в таблице?
   Злопчинский
 
16 - 09.01.18 - 15:23
Проверь - работает ли на других константах.
   Kigo_Kigo
 
17 - 09.01.18 - 15:26
Сделай выгрузку- загрузку базы
   kupec
 
18 - 09.01.18 - 15:34
(16) первым делом проверял на других константах, тоже НЕ работает
   Масянька
 
19 - 09.01.18 - 15:37
(0) Тот же Формекс (2.0.0.108) - все работает.
Не соответствие типов.
Что-то есть в коде, где записываешь константы.
Короче, не в формексе дело.
В глобальнике:
    // загружаем 1с++

    Отв = ЗагрузитьВнешнююКомпоненту("1cpp.dll");
    
    Если Отв = 0 Тогда
        Сообщить("Не удалось загрузить компоненту 1cpp.dll.");
    КонецЕсли;

    // загружаем FormEx

    Отв = ЗагрузитьВнешнююКомпоненту("FormEx.dll");
    
    Если Отв = 0 Тогда
        Сообщить("Не удалось загрузить компоненту FormEx.dll.");
    Иначе
        Сервис = СоздатьОбъект("Сервис");
        Сервис.ВключитьРаскраскуТаблиц();
    КонецЕсли;
    
    // загружаем 1sci

    Отв = ЗагрузитьВнешнююКомпоненту("1sci.dll");
    
    Если Отв = 0 Тогда
        Сообщить("Не удалось загрузить компоненту 1sci.dll.");
    КонецЕсли;

    // загружаем TableDoc

    Отв = ЗагрузитьВнешнююКомпоненту("TableDoc.dll");
    
    Если Отв = 0 Тогда
        Сообщить("Не удалось загрузить компоненту TableDoc.dll.");
    КонецЕсли;

    // загружаем mxl_doctor.dll

    Отв = ЗагрузитьВнешнююКомпоненту("mxl_doctor.dll");
    
    Если Отв = 0 Тогда
        Сообщить("Не удалось загрузить компоненту mxl_doctor.dll.");
    КонецЕсли;

    // загружаем SpreadSheet.dll

    Отв = ЗагрузитьВнешнююКомпоненту("SpreadSheet.dll");
    
    Если Отв = 0 Тогда
        Сообщить("Не удалось загрузить компоненту SpreadSheet.dll.");
    КонецЕсли;

    // загружаем RWidjets.dll

    Отв = ЗагрузитьВнешнююКомпоненту("RWidjets.dll");
    
    Если Отв = 0 Тогда
        Сообщить("Не удалось загрузить компоненту RWidjets.dll.");
    КонецЕсли;
   Масянька
 
20 - 09.01.18 - 15:38
+(19) И - как проверяешь, что константа не записалась?
   kupec
 
21 - 09.01.18 - 15:43
(20) глазами
   kupec
 
22 - 09.01.18 - 15:43
загрузка выгрузка базы не помогла
   mehfk
 
23 - 09.01.18 - 15:49
(21) А ты закрой список констант и снова открой.
   kupec
 
24 - 09.01.18 - 15:50
(23) капец....серьезно????
   Масянька
 
25 - 09.01.18 - 15:52
(23) А еще лучше - сохранить константу, выйти (из Предприятия) и снова зайти... Можно очень сильно удивиться...
   kupec
 
26 - 09.01.18 - 15:55
(25) не работает....сейчас пробовал на той же конфигурации, но на SQL версии.......не работает (((( буду искать проблему, если найду отпишусь
   Chieftain
 
27 - 09.01.18 - 16:51
(24) тебе, кстати, вполне серьезно сказали в (14) - могут всякие странности вылезать
   mehfk
 
28 - 09.01.18 - 17:14
(26) А нет у тебя нигде примерно такого кода?

Процедура ПриНачалеРаботыСистемы()

    Попытка
        Сервис = СоздатьОбъект("Сервис");
        Сервис.ОбработкаОжидания("глУстановитьДатуЗапретаРедактирования", 1000);
    Исключение
        
    КонецПопытки;
    
КонецПроцедуры// ПриНачалеРаботыСистемы


//======================================================================

Процедура глУстановитьДатуЗапретаРедактирования()
    Если Константа.ДатаЗапретаРедактирования <> ТекущаяДата() - 1 Тогда
        Константа.ДатаЗапретаРедактирования = ТекущаяДата() - 1;
    КонецЕсли;
КонецПроцедуры// глПроверитьКонстанты
   Злопчинский
 
29 - 09.01.18 - 18:13
Ставлю 0.5шоколадки что (с учетом того что в пустой базе все ОК) - что работают 1С++ подписки на события. или какой-то другой код (да Винчи)
   Chieftain
 
30 - 10.01.18 - 08:54
(28)(29) при прямой записи констант, емнип, нет никаких событий
   kupec
 
31 - 10.01.18 - 09:56
НАШЕЛ.....
в глобальном модуле была процедура
Процедура ПриНачалеБлокировкиОбъекта(Объект) 
её заремарил и все ОК
   kupec
 
32 - 10.01.18 - 09:57
какой то в ней есть код, который все это дело блокирует
   Масянька
 
33 - 10.01.18 - 09:58
(31) А ты на формекс гнал... Не хорошо, однако...
 
 
   kupec
 
34 - 10.01.18 - 09:59
(33) согласен....
   Shur1cIT
 
35 - 10.01.18 - 10:00
ОГО я думал мамонты уже все вымерли...
   kupec
 
36 - 10.01.18 - 10:00
В итоге что же было, в данной процедуре было обращение к константе, из-за этого и ничего не записывалось. Константа не та, для которой производилось изменение
   Масянька
 
37 - 10.01.18 - 10:04
(35) В природе это большая редкость, но, по счастью, у нас есть. (С) :)
   Chieftain
 
38 - 10.01.18 - 11:10
(37) На карте много белых пятен, где вы не бываете, а мамонты там в изобилии))
   Chieftain
 
39 - 10.01.18 - 11:15
(36) Может там запись другой константы есть?
   Злопчинский
 
40 - 10.01.18 - 11:19
(31) гони полшоколадки!
   Злопчинский
 
41 - 10.01.18 - 11:20
(33) ну так это и есть формексовская поп-проуедура ;-)
   Масянька
 
42 - 10.01.18 - 11:34
(41) Не докапывайся.
Дело не в "кривом" формексе, а в кривом использовании инструментов формекса.


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