Имя: Пароль:
1C
1С v8
Как в обработке заполнить значения в регистре?
,
0 Boudybuilder
 
04.12.11
13:43
Есть обработка уведомления клиентов по смс о завершенных ремонтах.
Хочется чтоб при нажатии кнопки "Отправить" гдето зарегистрировало , что этим уже отправлено. Для этого создал регистр с булевом "Уведомлен". Как туда записать? Или как бы лучше отмечать уведомленных клиентов?
1 DrShad
 
04.12.11
13:48
про менеджер записи слышал?
2 Boudybuilder
 
04.12.11
13:51
Неа
3 Boudybuilder
 
04.12.11
13:56
Курс = РегистрыСведений.КурсыВалют.СоздатьМенеджерЗаписи();
Курс.Валюта = ВыбВалюта;
Курс.Период = ТекущаяДата();
Курс.Прочитать();
Если Не Курс.Выбран() Тогда
   Курс.Период = ТекущаяДата();
   Курс.Валюта = ВыбВалюта;
   Курс.Курс = 41.35;
   Курс.Кратность = 1;
КонецЕсли;
Если ВвестиЧисло(Курс.Курс, "Введите курс на сегодня",15,5) Тогда
   Курс.Записать();
КонецЕсли;


Типа Этого?!
4 DrShad
 
04.12.11
14:03
а что тебя смущает?
5 Boudybuilder
 
04.12.11
14:06
Рег = РегистрыСведений.РассылкаУведомлений.СоздатьМенеджерЗаписи();
   Для Каждого ТекСтрокаКонтрагенты Из Контрагенты Цикл
       ТекСтрокаКонтрагенты.Флаг                = Рег.Уведомлен;
       ТекСтрокаКонтрагенты.Наименование        = Рег.Партия;
       Рег.Записать();
   КонецЦикла;

У меня это выдает ошибку :


{Обработка.РассылкаSMS.Форма.Форма.Форма(551)}: Error calling context method (СоздатьМенеджерЗаписи)
   Рег = РегистрыСведений.РассылкаУведомлений.СоздатьМенеджерЗаписи();


Хелп ми! Ато я тут не шарю ничего... :(
6 Boudybuilder
 
04.12.11
14:06
Научите , как сне с этим работать...
7 DrShad
 
04.12.11
14:07
регистры нужно правильно создавать
8 Boudybuilder
 
04.12.11
14:09
(7) В смысле?
9 DrShad
 
04.12.11
14:09
Описание:

Позволяет читать, записывать и удалять отдельную запись регистра сведений. Используется только для регистров сведений, неизменяемых регистраторами, т.е. для которых в конфигураторе установлен режим записи "Независимый".
Предназначен для интерактивной работы с записью регистра сведений.
10 Boudybuilder
 
04.12.11
14:11
Ок , если я его переделаю и сделаю независимым , то как тогда мне записать значения в него из дока ?

Тоже менеджером ?
11 DrShad
 
04.12.11
14:12
(10) кто вобще так решает задачи? т.е. если у тебя кто-то снимет с проведения документ, то он уже будет считаться не отправленным, даже если раньше был отправленным?
12 Boudybuilder
 
04.12.11
14:13
Ведь начальные значения в него записываются доком с реквизитом булево "Уведомлен" значение ложь.  Потом я в рассылке должен все вытянуть где "ложь" и отправить им всем сообщения, после чего в регистр должно записаться новое значение или переписать существующее уже как "ИСТИНА".

Умею я это делать тока доками...
К этому способу ни разу в жизни не прибегал. Это для меня новинка.
13 Boudybuilder
 
04.12.11
14:15
(11) Ну почему , я из регистра получаю срез последних. Тоесть доком записываю значение = ложь , обработкой на него запишу Истина. Проблем быть не должно...
14 DrShad
 
04.12.11
14:21
пиши в зависимый через Набор записей
15 Boudybuilder
 
04.12.11
14:26
(14)
Напиши пожалуйста пример...
16 DrShad
 
04.12.11
14:34
ну ты же нашел пример из типовой по записи в независимый, неужели не можешь найти по записи с отбором по регистратору
17 Boudybuilder
 
04.12.11
14:38
(16)
Хотя можно сделать и так , если записи в регистре вобще нету , тоесть доком ЛОЖЬ не записывать , то тогда будет считаться что ЛОЖЬ. А потом обработкой добавлю истина и по всему! :)
18 DrShad
 
04.12.11
14:44
вот видишь уже начинаешь соображать, правильно ведь зачем хранить значение по умолчанию
19 Boudybuilder
 
04.12.11
18:31
Рег = РегистрыСведений.РассылкаУведомлений.СоздатьМенеджерЗаписи();
   Для Каждого ТекСтрокаКонтрагенты Из Контрагенты Цикл
       Рег.Период      = ТекущаяДата();
       Рег.Партия      = ТекСтрокаКонтрагенты.Наименование;
       Рег.Уведомлен   = ТекСтрокаКонтрагенты.Флаг;
       Рег.Записать();
   КонецЦикла;


Почему оно тока по одной записи добавляет?
20 Boudybuilder
 
04.12.11
18:31
Все строки не закидывает?
21 Boudybuilder
 
04.12.11
18:39
Че делать? Что не правильно написано?
22 Boudybuilder
 
04.12.11
18:43
Для Каждого ТекСтрокаКонтрагенты Из Контрагенты Цикл
       Рег = РегистрыСведений.РассылкаУведомлений.СоздатьМенеджерЗаписи();
       Рег.Период      = ТекущаяДата();
       Рег.Партия      = ТекСтрокаКонтрагенты.Наименование;
       Рег.Уведомлен   = ТекСтрокаКонтрагенты.Флаг;
       Рег.Записать();
   КонецЦикла;
23 Boudybuilder
 
04.12.11
18:43
Вот так будет правильно... :)
24 Boudybuilder
 
04.12.11
18:43
Сам себе ответил...:)