v8:Помогите плиз... мистика просиходит

Форум 1С: Одинэс.Ру

Найти!

v8:Помогите плиз... мистика просиходит

СветикK
31.03.2009 - 04:21
в элементе справочника прописан код:
  ФормаС=Документы.ПроведениеДиагностики.ПолучитьФормуНовогоДокумента("ФормаДокумента");
  Если ФормаС.Открыта() Тогда
     ФормаС.Закрыть();
  КонецЕсли;
***Заполнение формы***
.......
ФормаС.Открыть();
-------------------------------------------
А модуле проведения документа ПроведениеДиагностики
есть такой код (среди прочего):
//Ищем у клиента были ли уже диагностики, если нет то пишем ему дату отслеживания сл.день
     Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Клиент", Клиент);
         Запрос.Текст =
               "ВЫБРАТЬ
|  *
             | ИЗ
             | Документ.ПроведениеДиагностики КАК ПроведениеДиагностики
             | ГДЕ ПроведениеДиагностики.Клиент = &Клиент";
         Результат = Запрос.Выполнить();
         ВыборкаДетали = Результат.Выбрать();
        
Если ВыборкаДетали.Количество()=1 Тогда
  Пациент = Справочники.Контрагенты;
       СсылкаПациент = Пациент.НайтиПоКоду(Клиент.Код);
           Если НЕ СсылкаПациент.Пустая() Тогда
             ОбъектПациент = СсылкаПациент.ПолучитьОбъект();
             ОбъектПациент.ОчередноеОтслеживаниеДата= Дата + 60 * 60 * 24;
Предупреждение("Изменение даты отслеживания! "+ОбъектПациент.Наименование + " с " +  ОбъектПациент.ОчередноеОтслеживаниеДата + " на " + (Дата + 60 * 60 * 24));
ОбъектПациент.Записать();
           КонецЕсли;
   КонецЕсли;
-----------------------------------
Происходит иногда следующее: пользователь открывает контрагента (замечаю не в списке контрагентов создает документ, а именно в элементе) и у него при проведении диагностики вываливается не только по его контрагенту Предупреждение о изменении очередной даты отслеживания, а и на других  с которыми данный пользователь не работал...
помогите плиз у кого какие соображения...(((
 
К списку тем 1 > К списку форумов

Интересные темы

odines.ru
29.04.2024 - 01:06
Смотри также:
запрос
Почему не могу тестовое форме отредактировать?
Описание языка

Re: v8:Помогите плиз... мистика просиходит

СветикK
1 - 31.03.2009 - 04:25
Конечно код в элементе справочника Контрагенты переделаю, чтобы пользователи в списке контрагентов создавали документы диагностики а не открывали сам элемент контрагента для создания диагностики...

Re: v8:Помогите плиз... мистика просиходит

angro
2 - 31.03.2009 - 04:36
да вроде должно работать, а отладчик пробовала?

Re: v8:Помогите плиз... мистика просиходит

СветикK
3 - 31.03.2009 - 04:39
дело в том, что отладчик невозможно запустить именно в тот момент когда это началось (((
когда у пользователей вылезает этот "глюк", хотя я думаю проблема в коде...

Re: v8:Помогите плиз... мистика просиходит

angro
4 - 31.03.2009 - 04:45
а зачем
СсылкаПациент = Пациент.НайтиПоКоду(Клиент.Код);?
если у тебя запрос уже нашёл
результат.клиент
 
это вобще не то же самое?
Результат = Запрос.Выполнить().Выбрать();
        
Если Результат.Количество()=1 Тогда
      ОбъектПациент = Результат.Клиент.ПолучитьОбъект();
      ОбъектПациент.ОчередноеОтслеживаниеДата= Дата + 60 * 60 * 24;
Предупреждение("Изменение даты отслеживания! "+ОбъектПациент.Наименование + " с " +  ОбъектПациент.ОчередноеОтслеживаниеДата + " на " + (Дата + 60 * 60 * 24));
      ОбъектПациент.Записать();
КонецЕсли;

Re: v8:Помогите плиз... мистика просиходит

roma n
5 - 31.03.2009 - 04:53
Это всё тот самопал?
"вываливается не только по его контрагенту" - то есть при проведении одного документа вываливает несколько предупреждений? Я правильно понимаю поток сознания?
ЗЫ
1) некошерно для установления очередной даты заводить реквизит объекта и каждый раз этот объект переписывать. Но иногда (крайне редко!) нормально
2) Пациент.НайтиПоКоду(Клиент.Код) а вот это не лезет ни в какие рамки
ЗЗЫ Давно бы уже пригласили кого на рюмочку чая. Глядишь - дело бы веселей пошло.

Интересные темы

odines.ru
29.04.2024 - 01:06
Смотри также:
ошибка SDBL: Ссылочная константа содержит недопустимый ссылочный номер
Методолигия разработки дополнений к типовым конфигурациям
Помогите с настройкой схемы компоновки данных, отчет!!!!!!!!

Re: v8:Помогите плиз... мистика просиходит

СветикK
6 - 31.03.2009 - 04:59
(4) дело в том, что это не я писала а какой-то человек  студент до меня...
(((

Re: v8:Помогите плиз... мистика просиходит

СветикK
7 - 31.03.2009 - 05:02
(4) согласна надо убрать из кода лишнее... эх,

Re: v8:Помогите плиз... мистика просиходит

angro
8 - 31.03.2009 - 05:03
(6) (5) не слушай, он женат

Re: v8:Помогите плиз... мистика просиходит

roma n
9 - 31.03.2009 - 05:03
Не расстраивайся, разгребать чужой код - это часть работы. Перепиши. Делов-то...
Или есть сомнения в собственных силах? Тогда см (5), а именно PPS

Re: v8:Помогите плиз... мистика просиходит

СветикK
10 - 31.03.2009 - 05:05
(5)да, при проведении одного документа вываливается несколько предупреждений с другими фамилия... с начала с тем с кем работали а потом пошло поехало...

Re: v8:Помогите плиз... мистика просиходит

roma n
11 - 31.03.2009 - 05:06
8-angro >
да я свою кандидатуру и не предлагаю :))
{хотя кого это останавливало?...}
Базу жалко. Угробится...

Re: v8:Помогите плиз... мистика просиходит

СветикK
12 - 31.03.2009 - 05:07
(9) спасибо, перепишу и так поработаем...

Re: v8:Помогите плиз... мистика просиходит

СветикK
13 - 31.03.2009 - 05:09
Пациент.НайтиПоКоду(Клиент.Код)  - это ужас какой-то а что там в других местах написано это же вообще там приглашай не приглашай... но после этого человека еще франчи конфу смотрели...

Re: v8:Помогите плиз... мистика просиходит

roma n
14 - 31.03.2009 - 05:11
(10) в (0) нет куска, отвечающего за это "несколько".
Ищи внимательней цикл, в котором (0) вызывается. Или рекурсию.
Второе: проверь, совпадают ли тексты модулей у тебя и у пользователя (может этот кусок давным-давно поправлен, а пользователь всё со старым работает. Такое возможно при динамическом обновлении)

Re: v8:Помогите плиз... мистика просиходит

angro
15 - 31.03.2009 - 05:12
и кстати
ОбъектПациент.ОчередноеОтслеживаниеДата= Дата + 60 * 60 * 24;
 
Предупреждение("Изменение даты отслеживания! "+ОбъектПациент.Наименование + " с " +  ОбъектПациент.ОчередноеОтслеживаниеДата + " на " + (Дата + 60 * 60 * 24));
 
видимо неправильно, надо
 
Предупреждение("Изменение даты отслеживания! "+ОбъектПациент.Наименование + " с " +  ОбъектПациент.ОчередноеОтслеживаниеДата + " на " + (Дата + 60 * 60 * 24));
ОбъектПациент.ОчередноеОтслеживаниеДата= Дата + 60 * 60 * 24;
 

Re: v8:Помогите плиз... мистика просиходит

СветикK
16 - 31.03.2009 - 05:19
(14) цикл искала ... не определила что найденные циклы могут влиять... надо повнимательней посмотреть...

Re: v8:Помогите плиз... мистика просиходит

СветикK
17 - 31.03.2009 - 05:24
(15) думаете от того что поменять местами все работает правильно...?

Re: v8:Помогите плиз... мистика просиходит

roma n
18 - 31.03.2009 - 13:49
гы... только что понял что, скрытое за словесной ерундой, мне покоя не давало с начала дня...
Предупреждения... В модуле проведения...

Re: v8:Помогите плиз... мистика просиходит

tsd
19 - 31.03.2009 - 15:27
18-roma n > на третьи сутки зоркий глаз заметил, что у сарая не было одной стены :))
а мне (6) понравилось, прям как в анекдоте про 3 пакета
К списку тем 1 > К списку форумов

Добавить новое сообщение

Ваше имя:
Тема сообщения:
Сообщение:
« Документация 1С8 Кадровое Агентство v8: Обработка табличных частей УТ »
© 2009 Форум 1С: Одинэс.Ру