|
v7: Периодические реквизиты | ☑ | ||
---|---|---|---|---|
0
Amig0_0
09.04.13
✎
11:02
|
Доброе утро!
Не подскажите в чем может быть ошибка? Суть проста. Если элементов в справочнике нет, тогда создать новый. Если есть, то найти нужный по "ПоискМойРеквизит" и добавить в его периодические реквизиты нужные данные. Новый создается без проблем. Так же без проблем в отладчике программа проходит цикл по добавлению данных в периодические реквизиты, но в итоге они не добавляются... Заранее спасибо! Если СпрСессии.ВыбратьЭлементы() = 0 Тогда СпрСессии.Новый(); *** СпрСессии.МойРеквизит = Строка(Строка(СпрСессии.ДатаС) + "-" + Строка(СпрСессии.ДатаС) ); СпрСессии.Записать(); СпрСессии.Оценка.Установить(ДатаДок,Оценка); СпрСессии.Дисциплина.Установить(ДатаДок,Дисциплина); СпрСессии.Преподователь.Установить(ДатаДок,Преподаватель); Иначе ПоискМойРеквизит = Строка(Строка(ТекЭлем.УчГруппа.СессияС) + "-" + Строка(ТекЭлем.УчГруппа.СессияПО) ); Если СпрСессии.НайтиПоРеквизиту("МойРеквизит",ПоискМойРеквизит,1) = 1 Тогда ДопПеремДляЦикла = 0; СтатусВозврата(0); Прервать; Иначе СпрСессии.Оценка.Установить(ДатаДок,Оценка); СпрСессии.Дисциплина.Установить(ДатаДок,Дисциплина); СпрСессии.Преподователь.Установить(ДатаДок,Преподаватель); СпрСессии.Записать(); КонецЕсли; КонецЕсли; |
|||
1
Amig0_0
09.04.13
✎
11:03
|
блин только этого у меня нет) это я для отладки добавлял...
Если СпрСессии.НайтиПоРеквизиту("МойРеквизит",ПоискМойРеквизит,1) = 1 Тогда ДопПеремДляЦикла = 0; СтатусВозврата(0); Прервать; Иначе |
|||
2
vladko
09.04.13
✎
11:05
|
в верхнем условии не хватает после установки периодических
СпрСессии.Записать() |
|||
3
Ёпрст
09.04.13
✎
11:13
|
(0) выкини установить и делай
СпрСессии.ИспользоватьДату(ДатаДок) |
|||
4
Amig0_0
09.04.13
✎
11:20
|
(2) не помогло((
(3) как с помощью "ИспользоватьДату" мне занести новые значения ? |
|||
5
пипец
09.04.13
✎
11:28
|
СпрСессии.ИспользоватьДату
СпрСессии.Преподователь=Преподаватель; СпрСессии.Записать(); |
|||
6
palpetrovich
09.04.13
✎
11:32
|
а что, если создать элемент справочника с таким ключем:
СпрСессии.МойРеквизит = Строка(Строка(СпрСессии.ДатаС) + "-" + Строка(СпрСессии.ДатаС) ); то потом по такому ключу: ПоискМойРеквизит = Строка(Строка(ТекЭлем.УчГруппа.СессияС) + "-" + Строка(ТекЭлем.УчГруппа.СессияПО)); находит? ... ДатаС == СессияС == СессияПО ? |
|||
7
floody
09.04.13
✎
11:33
|
ПрепоВдУватель
|
|||
8
Amig0_0
09.04.13
✎
11:44
|
(6) это моя невнимательность. спасибо . когда долго сижу над одним, попросту не замечаю помарок от которых может ничего не работать.
решение проблемы: 1) сроки С и по С !! 2) СпрСессии.НайтиПоРеквизиту("МойРеквизит",ПоискМойРеквизит, 0 а не 1) |
|||
9
Cthulhu
09.04.13
✎
11:49
|
перечитать синтаксис метода "Установить" срочно и внимательно.
|
|||
10
Amig0_0
09.04.13
✎
11:54
|
(9) Установить(<Дата>,<Значение>)
вроде бы ничего сверхъестественного... |
|||
11
Amig0_0
09.04.13
✎
12:34
|
Все таки работает она не до конца правильно( Перед тем как добавить новые данные к периодическим реквизитам нужна проверка. Не было ли ранее данных на такую дату...
Пробовал так: СпрСессии.ИспользоватьДату СпрСессии.Преподователь=Преподаватель; СпрСессии.Записать();... В таком случае нельзя использовать метод Получить, который мне нужен для проверки |
|||
12
antoneus
09.04.13
✎
13:11
|
(11) Открой для себя объект "Периодический".
|
|||
13
пипец
09.04.13
✎
13:33
|
ПерВал = СоздатьОбъект("Периодический");
ПерВал.ИспользоватьОбъект("мойреквизит",Контр); ПерВал.ОбратныйПорядок(1); ПерВал.ВыбратьЗначения(); Пока ПерВал.ПолучитьЗначение() = 1 Цикл Запр = ПерВал.Значение; ДатаЗапр = ПерВал.ДатаЗнач; КонецЦикла; |
|||
14
пипец
09.04.13
✎
13:35
|
хмм к слову а чо при ипользовать дату без получить не канает ?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |