7.7 Выкидывает программу на определенных пользователях

Тема в разделе "Общие вопросы "1С:Предприятие 7.7"", создана пользователем SerzhM, 6 авг 2012.

  1. TopicStarter Overlay
    SerzhM
    Offline

    SerzhM Опытный в 1С

    Регистрация:
    26 окт 2009
    Сообщения:
    511
    Симпатии:
    3
    Баллы:
    29
    ТИС. В сетевом режиме выкидывает пользователей, точнее операторов ккм(из-за документов чек ккм), ошибки номер нету, окно отправить или не отправлять отчет. На этом же компе пользователь менеджер проблем нет. ДЛя документа чеккм используется длл FormX.dll отлов клавиш в основном. Подскажите куда смотреть из-за чего вся проблема?
  2. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Библа только одна? С FormEx помню проблемы если не тот порядок загрузки библ. Можно попробовать 1с++.
  3. TopicStarter Overlay
    SerzhM
    Offline

    SerzhM Опытный в 1С

    Регистрация:
    26 окт 2009
    Сообщения:
    511
    Симпатии:
    3
    Баллы:
    29
    Библы в базе:
    BARCODE.OCX
    DrvFR.dll
    FormEx.dll
    Scaner1C.dll
    SCANOPOS.DLL
    V7PLUS.DLL
    и еще раз FormEx.dll в папке платформы

    В папке платформы есть такая 1C++.als
    Так что сделать то, переустановить С++ или библиотекой 1с++ можно отлавливать клавиши?
    я грешу на формх т.к до этого где то год не пользовали его, таких проблем не было, этим все объясняется закрытие программы только у операторов ккм которые используют формх.
  4. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    1с++ полностью содержит в себе функции FormEx.
  5. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Есть версия как с формексом, так и без него. А еще есть третья версия, которая пока только в виде исходников. Все это добро можно посмотреть и почитать на оффсайте компоненты 1С++.
  6. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Без FormEx не встречал))))
  7. TopicStarter Overlay
    SerzhM
    Offline

    SerzhM Опытный в 1С

    Регистрация:
    26 окт 2009
    Сообщения:
    511
    Симпатии:
    3
    Баллы:
    29
    Посмотрел сегодня на офф сайте, существуют 2 версии 1срр с формх и без него. Сегодня посмотрел свойства папки галочка стояла Только для чтения, снял и применил ко всем вложенным файлам, проблема остается. Завтра меня формх на 1срр.
    Еще почитал тут будем пробовать обрезать журнал и удалять полную ветку реестра 1с 7.7
    http://forum.infostart.ru/forum9/topic41091/
  8. TopicStarter Overlay
    SerzhM
    Offline

    SerzhM Опытный в 1С

    Регистрация:
    26 окт 2009
    Сообщения:
    511
    Симпатии:
    3
    Баллы:
    29
    Заменил Formx на 1Срр горячие клавиши работают( функционал что был на формх не потерялся) загрузку длл объявил в глобальнике. Почистил ветку реестра HKEY_CURRENT_USER\Software\1C\1Cv7\7.7
    всеравно выкидывает пользователей оператор ккм.
    Советуют снять галочку только для чтения. она у меня не снимается и avz4 снимал ограничения и анлокером, галочка стоит.
  9. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    галка на чтение библы или что?
  10. TopicStarter Overlay
    SerzhM
    Offline

    SerzhM Опытный в 1С

    Регистрация:
    26 окт 2009
    Сообщения:
    511
    Симпатии:
    3
    Баллы:
    29
    папки с базой. Ос хр про. Пользователь админ.
  11. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Создать новую папку, Скопировать в нее БД. Старую удалить. Новую переименовать (или прописать новый путь)
  12. TopicStarter Overlay
    SerzhM
    Offline

    SerzhM Опытный в 1С

    Регистрация:
    26 окт 2009
    Сообщения:
    511
    Симпатии:
    3
    Баллы:
    29
    Эпопея продолжается. Вроде нашел момент когда выкидывает. Когда из подбора возвращаешься в чек и хочешь сделать дальнейшее действие, вот тут и вылазит ошибка отправлять или не отправлять отчет.
  13. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Смотрите при закрытии формы списка. Там скорее всего что-то наворочено значит
  14. TopicStarter Overlay
    SerzhM
    Offline

    SerzhM Опытный в 1С

    Регистрация:
    26 окт 2009
    Сообщения:
    511
    Симпатии:
    3
    Баллы:
    29
    Посмотрел, сравнил с типовой конфой ничего такого не нашел. Выкидывает не каждый раз, а раз так 5-10 в день за 10часов работы.
  15. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    "ничего такого" или код полностью типовой?
  16. TopicStarter Overlay
    SerzhM
    Offline

    SerzhM Опытный в 1С

    Регистрация:
    26 окт 2009
    Сообщения:
    511
    Симпатии:
    3
    Баллы:
    29
    Добавлено
    Код:
    Процедура Иерархия()
    Если ИерархическийСписок()=1 Тогда
    ИерархическийСписок(0,1);
    Иначе
    ИерархическийСписок(1,1);
    КонецЕсли;
    
    КонецПроцедуры
    Код:
    Процедура ОбработкаКликаПоТаблице()
    
    //1Сергей
    Если ВидДок="ЧекККМ" Тогда
    Статусвозврата(0);
    КонецЕсли; 
    Что бы перенесенные позиции в список подбора нельзя было удалять
    Код:
    Процедура УдалитьСтроку()
    //1Сергей
    Если   (  НазваниеИнтерфейса() <> "Администратор") или (НазваниеИнтерфейса()  <> "Менеджер")	 Тогда
    СтатусВозврата(0);
    Возврат;
    КонецЕсли;
    //2Сергей
    Если ТаблицаПодбора.ТекущаяСтрока()>0 Тогда
    ТаблицаПодбора.УдалитьСтроку(ТаблицаПодбора.ТекущаяСтрока());
    Если ЦенаВподборе <> "Нет" Тогда
    ПересчетСуммы();
    КонецЕсли;
    КонецЕсли;
    
    КонецПроцедуры
    Сейчас сделал свертку и перенес документы в новую чистую базу(думаю ошибки в дбф и др файлах)
    И получилось 3 вопроса:
    1)Нужен ли документ ввод остатков по партиям(в документе минуса и заблокирован хоть перенесен в новую базу, константа запрета редактирования стоит намного раньше чем дата документа) на данный момент этот документ не проведен(проведен ввод остатков без партии).
    2)И документ отчет ккм при проведении пишет что не распределилось по партиям.
    3)И еще пытаюсь удалить контрагента пишет что нельзя(хотя по нему движения документов не было) и есть ссылки на документы, номер и дату документа вижу а этих документов нет, база вообще пустая от документов)
  17. TopicStarter Overlay
    SerzhM
    Offline

    SerzhM Опытный в 1С

    Регистрация:
    26 окт 2009
    Сообщения:
    511
    Симпатии:
    3
    Баллы:
    29
    И всеравно выкидывает :(
  18. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Библу только вызываете в справочнике или инициализируете там же? Какие нибудь объекты библы в форме списка не инициализазируете?
  19. TopicStarter Overlay
    SerzhM
    Offline

    SerzhM Опытный в 1С

    Регистрация:
    26 окт 2009
    Сообщения:
    511
    Симпатии:
    3
    Баллы:
    29
    Библу вызывал только в документе чекккм, потом поставил 1с++ и объявил загрузку в глобальнике при начале работы системы.
    Ничего такого серьезного в док чекккм не добавлял.
    прекрепил мд. Посмотрите пожалуйста док чеккм и номенклатуру.
    1Cv7.rar
  20. TopicStarter Overlay
    SerzhM
    Offline

    SerzhM Опытный в 1С

    Регистрация:
    26 окт 2009
    Сообщения:
    511
    Симпатии:
    3
    Баллы:
    29
    Посмотерл чек ккм еще раз что в нем добавили
    В константы добалвены переменные в них добавляем шк товраов что бы быстро вызывать определенный товар(допустим пакетик)
    Код:
    Процедура ВыполнитьНажатиеНаКнопку(ИмяКнопки)
    
    Если ИмяКнопки="Записать" Тогда
    
    Записать();
    
    ИначеЕсли ИмяКнопки="Провести" Тогда
    
    /////Сергей////////////
    Если Получено=0 Тогда
    Предупреждение("Введите сумму от покуателя!");
    СтатусВозврата(0);
    Возврат;
    КонецЕсли;
    /////////сергей/////////////////
    //1 Сергей
    Если Модифицированность()=1 Тогда
    ВыбратьСтроки();
    Пока ПолучитьСтроку()=1 Цикл
    Если (Количество=0)Или(Сумма=0) Тогда
    Предупреждение("В строке "+НомерСтроки+" не указано количество или сумма",20);
    СтатусВозврата(0);
    Возврат;
    КонецЕсли;  
    КонецЦикла;
    КонецЕсли;
    //2Сергей
    БылПроведен=Проведен();
    Если Записать()=1 Тогда
    
    // если документ был проведен, то при записи он перепроведется
    // и поэтому нет необходимости его снова проводить
    Если БылПроведен=0 Тогда
    Если ПравоДоступа("ПроведениеДокумента", "Документ.ЧекККМ") = 1 Тогда
    Провести();
    // пробьем чек на ККМ
    Если Касса.РежимККМ = Перечисление.РежимыККМ.ФР Тогда
    Если глФРВкл = 1 Тогда
    Если ЧекПробитККМ = 0 Тогда
    Если ПробитьЧекНаККМ() = 0 Тогда
    
    // по каким-то причинам Чек не пробит
    Сообщить("Чек ККМ не пробит!");
    Возврат;
    
    КонецЕсли;
    КонецЕсли;
    КонецЕсли;
    КонецЕсли;
    //////Сергей//////////// 
    Форма.Закрыть(1);
    ОткрытьФорму("Документ.ЧекККМ");
    //////////Сергей////////////
    Иначе
    Предупреждение("Недостаточно прав доступа!");
    КонецЕсли;
    КонецЕсли; 
    
    
    КонецЕсли;
    Код:
    ////////////////////Сергей///////////////////////////////////
    Процедура ПриНажатииКнопкиКлавиатуры(КодКлавиши,Алт,Шифт,Контрол)
    
    // Сообщить(КодКлавиши);
    //Сообщить(Форма.АктивныйЭлемент());															   
    Если КодКлавиши=49 Тогда  // 1
    ШтрихкодОсн=Константа.Кнопка1;
    ОбработкаСобытия(,"BarCodeValue",ШтрихкодОсн);
    КонецЕсли;
    
    Если КодКлавиши=50 Тогда  // 2
    ШтрихкодОсн=Константа.Кнопка2;
    ОбработкаСобытия(,"BarCodeValue",ШтрихкодОсн);
    КонецЕсли;
    
    Если КодКлавиши=51 Тогда  // 3
    ШтрихкодОсн=Константа.Кнопка3;
    ОбработкаСобытия(,"BarCodeValue",ШтрихкодОсн);
    КонецЕсли;				 
    Если КодКлавиши=52 Тогда  // 4
    ШтрихкодОсн=Константа.Кнопка4;
    ОбработкаСобытия(,"BarCodeValue",ШтрихкодОсн);
    КонецЕсли;
    
    Если КодКлавиши=53 Тогда  // 5
    ШтрихкодОсн=Константа.Кнопка5;
    ОбработкаСобытия(,"BarCodeValue",ШтрихкодОсн);
    КонецЕсли;
    
    Если КодКлавиши=54 Тогда  // 6
    ШтрихкодОсн=Константа.Кнопка6;
    ОбработкаСобытия(,"BarCodeValue",ШтрихкодОсн);
    КонецЕсли;				  
    Если КодКлавиши=55 Тогда  // 7
    ШтрихкодОсн=Константа.Кнопка7;
    ОбработкаСобытия(,"BarCodeValue",ШтрихкодОсн);
    КонецЕсли;				  
    Если КодКлавиши=56 Тогда  // 8
    ШтрихкодОсн=Константа.Кнопка8;
    ОбработкаСобытия(,"BarCodeValue",ШтрихкодОсн);
    КонецЕсли;
    
    Если КодКлавиши=57 Тогда  // 9
    ШтрихкодОсн=Константа.Кнопка9;
    ОбработкаСобытия(,"BarCodeValue",ШтрихкодОсн);
    КонецЕсли; 
    Код:
     //1Сергей///////////////    ДЛя Поиска товара при нажатии кнокпи клавиатуры()
    Функция ПолучитьТоварПоШтрихкоду(пШтрихкод, пТовар, пЕдиница, пКоличество)
    Перем ТоварНайден;
    
    Штрихкод1 = пШтрихкод;
    
    // Определение типа штрих-кода
    ПрефиксШтрихкода = глПрефиксШтрихкода();
    Если ПустоеЗначение(ПрефиксШтрихкода) = 0 Тогда
    Если Найти(ПрефиксШтрихкода, Лев(Штрихкод, 1)) <> 0 Тогда
    // Удаляем спец. символ из штрих-кода
    Штрихкод1 = Сред(Штрихкод1, 2);
    Иначе
    Сообщить("Формат считанного штрих-кода не предназначен для товаров");
    Возврат 0;
    КонецЕсли;
    КонецЕсли;
    
    // идентификация полученного штрихкода
    Если Лев(Штрихкод1, 2) = глПрефиксВесовогоШтрихкода Тогда
    // Используется свой внутренний штрих-код товара
    // Штрих-код построен по коду товара и весу
    ОбЕдиница = СоздатьОбъект("Справочник.Единицы");
    
    ВремШтрихкод = глСформироватьШтрихкод(глПрефиксВесовогоШтрихкода, Сред(Штрихкод, 3, 5) + "00000");
    Рез = ОбЕдиница.НайтиПоРеквизиту("ШтрихКод", ВремШтрихкод, 1);
    
    Если Рез = 1 Тогда
    пТовар  = ОбЕдиница.Владелец;
    пЕдиница = ОбЕдиница.ТекущийЭлемент();
    пКоличество = Число(Сред(Штрихкод, 8, 5)) / 1000;
    КонецЕсли;
    Иначе
    // Используется основной штрих-код товара
    // или свой внутренний штрих-код товара с префиксом "20"
    ОбЕдиница = СоздатьОбъект("Справочник.Единицы");
    Рез = ОбЕдиница.НайтиПоРеквизиту("ШтрихКод", Штрихкод1, 1);
    ИспользоватьЮнискан = глЗначениеПоУмолчанию("СпособыИспользованияСинхронизацииПоШтрихкодам");
    
    Если Рез = 1 Тогда
    пТовар  = ОбЕдиница.Владелец;
    пЕдиница = ОбЕдиница.ТекущийЭлемент();
    пКоличество = 1;
    ИначеЕсли (ИспользоватьЮнискан = Перечисление.СпособыИспользованияСинхронизацииПоШтрихкодам.ЗапрашиватьОтсутствующие)
    или (ИспользоватьЮнискан = Перечисление.СпособыИспользованияСинхронизацииПоШтрихкодам.ЗапрашиватьИСинхронизировать) Тогда
    // В соответсвии с настройками пользователя выполняем запрос в ЮНИСКАН
    Парам = СоздатьОбъект("СписокЗначений");
    Парам.Установить("ПоказыватьДиалог", 0);
    Парам.Установить("Штрихкод", Штрихкод1);
    ОткрытьФормуМодально("Обработка.ЗапросПоШтрихкодамЮнискан", Парам);
    пТовар  = Парам.Получить("пТовар");
    пЕдиница = Парам.Получить("пЕдиница");
    пКоличество = 1;
    
    Если ПустоеЗначение(пТовар) = 0 Тогда
    Если пТовар.Выбран() = 1 Тогда
    Рез = 1;   
    КонецЕсли;   
    КонецЕсли;
    
    КонецЕсли;
    КонецЕсли;
    
    Если Рез = 0 Тогда
    Сообщить("Товар со штрих-кодом " + Штрихкод1 + " не найден.");
    КонецЕсли;
    
    Возврат  Рез;
    КонецФункции
    //2Сергей******************************************************************************
    Подумав что может глючить я так и не понял может это поиск константы через поиск по шк а может сама платформа глючная.

Поделиться этой страницей