Имя: Пароль:
1C
 
Регл.задание не создает документ
,
0 Vigor06
 
04.06.15
17:51
Доброго дня!
В регл.задании читаю файлы АТС-ки и создаю док-ты "событие". код такой:

Путь = "\\192.168.2.199\eventexchange\";
    фМассив = НайтиФайлы(Путь,"*.txt");
    
    Для Каждого Элемент из фМассив Цикл
        Текст = Новый ЧтениеТекста(Элемент.Полноеимя, КодировкаТекста.UTF8);
        Строка = Текст.ПрочитатьСтроку();
        
        Пока Строка <> Неопределено Цикл
            мСтрока = РазложитьСтрокуВМассивПодстрок(Строка,"/");
            //ПолучениеСпискаАктивныхПользователей();
            Строка = Текст.ПрочитатьСтроку();
        КонецЦикла;
        
        ДокСобытие = Документы.Событие.СоздатьДокумент();
        ДокСобытие.Дата = ТекущаяДата();
        ДокСобытие.Контрагент = ПолучитьОбъектПоНомеруТелефона(мСтрока[0]);
        ДокСобытие.НачалоСобытия = ТекущаяДата();
        ДокСобытие.ОкончаниеСобытия = КонецДня(ТекущаяДата());
        ДокСобытие.Ответственный = ПолучитьОбъектПоНомеруТелефона(мСтрока[2]);
        ДокСобытие.ВидСобытия = Перечисления.ВидыСобытий.ТелефонныйЗвонок;
        ДокСобытие.СостояниеСобытия = Перечисления.СостоянияСобытий.Завершено;
        ДокСобытие.Важность = Перечисления.Важность.Средняя;
        ДокСобытие.ВидОбъекта = Перечисления.ВидыОбъектовСобытия.Контрагент;
        ДокСобытие.ТипСобытия = Перечисления.ВходящееИсходящееСобытие.Входящее;
        ДокСобытие.Записать();
        
        УдалитьФайлы(Элемент.Полноеимя);
    КонецЦикла;
    
    
КонецПроцедуры


Функция РазложитьСтрокуВМассивПодстрок(Знач Стр, Разделитель = ",") Экспорт
    
    МассивСтрок = Новый Массив();
    Если Разделитель = " " Тогда
        Стр = СокрЛП(Стр);
        Пока 1=1 Цикл
            Поз = Найти(Стр,Разделитель);
            Если Поз=0 Тогда
                МассивСтрок.Добавить(Стр);
                Возврат МассивСтрок;
            КонецЕсли;
            МассивСтрок.Добавить(Лев(Стр,Поз-1));
            Стр = СокрЛ(Сред(Стр,Поз));
        КонецЦикла;
    Иначе
        ДлинаРазделителя = СтрДлина(Разделитель);
        Пока 1=1 Цикл
            Поз = Найти(Стр,Разделитель);
            Если Поз=0 Тогда
                МассивСтрок.Добавить(Стр);
                Возврат МассивСтрок;
            КонецЕсли;
            МассивСтрок.Добавить(Лев(Стр,Поз-1));
            Стр = Сред(Стр,Поз+ДлинаРазделителя);
        КонецЦикла;
    КонецЕсли;
    
КонецФункции// глРазложить


Функция ПолучитьОбъектПоНомеруТелефона(Телефон)
    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("Телефон",Телефон);
    ЗАпрос.Текст = "ВЫБРАТЬ
    |    КонтактнаяИнформация.Объект
    |ИЗ
    |    РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
    |ГДЕ
    |    КонтактнаяИнформация.Представление ПОДОБНО &Телефон";
    Выборка = Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
        Возврат Выборка.Объект;    
    КонецЦикла;
    Возврат Неопределено;
КонецФункции



Но при этом в момент выполения команды создатьдокумент() ничего не происходит,отладчик дальше не идет.

Процедура находится в общем модуле,галки "сервер" и "вызов сервера" стоят

Что не так??
спасибо
1 Vigor06
 
04.06.15
17:53
Конфиига УТ 10.3
2 pavelul73
 
04.06.15
17:55
Попробуйте ДокСобытие.Записать(); обернуть в Попытку/Исключение в исключение сообщить описаниеошибки()
3 pavelul73
 
04.06.15
17:55
(2) + не сообщить, а сделать запись в ЖР
4 Vigor06
 
04.06.15
17:56
При этом в консоли заданий указана ошиюка,которая ссылается на совсем другой модуль и используется при считывании данных сканером штрихкода
5 Vigor06
 
04.06.15
17:56
(2) так он у меня до "записать" и не доходит.Ставил точки останова после "создатьДокумент()" - не останавливается
6 разработчик 1с
 
04.06.15
17:56
(0) > отладчик дальше не идет.
а что происходит?
7 Vigor06
 
04.06.15
17:57
(6)ничего, стрелочка,которая указывает строку отладки исчезает и все
8 pavelul73
 
04.06.15
17:58
(4) ошибку в студию
9 разработчик 1с
 
04.06.15
18:00
(7) попробуй скопировать весь этот код во внеш обработку и запусти. может какие-то подписки в создании документа вылетают
10 Vigor06
 
04.06.15
18:01
{ОбщийМодуль.Доработки.Модуль(660,11)}: Процедура или функция с указанным именем не определена (ПолучитьФорму)


А там вот что
Функция ПолучитьССылкуПоШК(ШХ) Экспорт
    Если Лев(ШХ,2) = "TT" Тогда
        ШХ = СтрЗаменить(ШХ,"TT","TRT");    
    КонецЕсли;
    ДанныеДок = Прав(ШХ,СтрДлина(ШХ) - Найти(ШХ,"_") + 1);
    ДокТипКод = Прав(ШХ,3);
    ТипДок = Справочники.ТипДокументаДляШХ.НайтиПоКоду(ДокТипКод).Наименование;
    Для Каждого ТипДокумента Из Метаданные.Документы Цикл
        Если ТипДокумента.Синоним = ТипДок Тогда
            ТипДок = ТипДокумента.Имя;
            Продолжить;
        КонецЕсли;
    КонецЦикла;

    Если Найти(ШХ,"/") > 0 Тогда
        НаимНомер = 10;
        Для индекс = 0 по 9 цикл
            ПервЧисло = НАйти(ШХ,индекс);
            Если ПЕрвЧисло < НаимНомер и ПервЧисло > 0 Тогда
                НаимНомер = ПервЧисло;
            КонецЕсли;
        конецЦикла;
        
        Префикс = Лев(ШХ,НаимНомер-1);
        
        Если Префикс = "KAV" Тогда
            ПрефиксРус = "КАВ";
        ИначеЕсли Префикс = "KIS" Тогда
            ПрефиксРус = "КИС";
        ИначеЕсли Префикс = "ST" Тогда
            ПрефиксРус = "СТ";
        ИначеЕсли Префикс = "KAT" Тогда
            ПрефиксРус = "КАТ";
        ИначеЕсли Префикс = "STS" Тогда
            ПрефиксРус = "СТС";
        ИначеЕсли Префикс = "TRT" Тогда
            ПрефиксРус = "ТРТ";
        ИначеЕсли Префикс = "TРT" Тогда
            ПрефиксРус = "ТРТ";
        ИначеЕсли Префикс = "TT" Тогда
            ПрефиксРус = "ТРТ";
        Иначе                                
            ПрефиксРус = Префикс;
        КонецЕсли;
        Если НЕ ПрефиксРУс = Префикс Тогда
            НомерДок = ПрефиксРУс + "-" + Сред(ШХ,НаимНомер,5) + "-" + Сред(ШХ,НаимНомер + 5,9-НаимНомер);
        Иначе
            НомерДок = СтрЗаменить(ШХ,ДокТипКод,"");
            Если Найти(НомерДок,"/") = 3 тогда
                НомерДок = ЛЕв(НомерДок,5) + "-" + Прав(НомерДок,СтрДлина(НомерДок) - 5);
            ИначеЕсли Найти(НомерДок,"/") = 5 тогда
                НомерДок = ЛЕв(НомерДок,2) + "-" + Прав(НомерДок,СтрДлина(НомерДок) - 2);
            ИначеЕсли Найти(НомерДок,"/") = 4 тогда
                НомерДок = ЛЕв(НомерДок,1) + "-"  + Сред(НомерДок,2,5)+ "-" + Прав(НомерДок,СтрДлина(НомерДок) - 6);
            КонецЕсли;
        конецЕсли;
        
    Иначе
        НомерДок = Лев(ШХ,СтрДлина(ШХ) - 3);    
    КонецЕсли;
    
    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("Номер",НомерДок);
    Запрос.Текст =  
    "ВЫБРАТЬ
    |    Документ." + ТипДок + ".ссылка,
    |    Документ." + ТипДок + ".Дата,
    |    Документ." + ТипДок + ".Номер
    |ИЗ Документ." + ТипДок + "
    |Где Документ." + ТипДок + ".Номер = &Номер
    |УПОРЯДОЧИТЬ ПО  Документ." + ТипДок + ".Дата";    
    Итог = Запрос.Выполнить().Выгрузить();
    Если Итог.Количество()>1 Тогда
        Параметры = Новый Структура("ТЗ",Итог);
        Форма = ПолучитьФорму("ОбщаяФорма.ФормаВыбораДокументаПриДублировании");
        Форма.ТЗ = Итог;
        Возврат Форма.открытьМодально();        
    
    ИначеЕсли Итог.Количество()= 1 Тогда    
        Возврат Итог[0].ссылка;
    ИначеЕсли Итог.Количество()= 0 Тогда
        Возврат Неопределено;
    КонецЕсли;
КонецФункции




Но эта процедура испоользуется при считывании штрихкода сканером
11 Vigor06
 
04.06.15
18:01
(9) внешней обработкой все создается. С нее и начинал,потом код переносил
12 Гёдза
 
04.06.15
18:01
может модуль документа не компилируется на сервере вообще?
13 Гёдза
 
04.06.15
18:02
Ктож на сервере формы то открывает
14 Vigor06
 
04.06.15
18:03
(13) да не открываю я форму! Я вообще своим кодом в ту процедуру не лезу
15 разработчик 1с
 
04.06.15
18:04
документооборот какой-то. кури подписки
16 Vigor06
 
04.06.15
18:10
(15) да вроде смотрел все...
17 Vigor06
 
04.06.15
18:32
Прошелся по все модулю объекта,закомментил строки,в которых вызываются модули,не являющиеся серверными - не помогло
18 Vigor06
 
04.06.15
18:39
Пфф,убрал документ из ВСЕХ подписок - помогло вроде как
Независимо от того, куда вы едете — это в гору и против ветра!