|
v8: Периодический независимый регистр сведений изменение данных в цикле | ☑ | ||
---|---|---|---|---|
0
nikalexgorb
13.08.12
✎
15:50
|
Надо пробежаться по записям регистра и установить измерение СостаБригад в истину
Но почему-то создаются дополнительные записи в регистре В чем проблема. Помогите. Плиз !!! Проба = РегистрыСведений.ОграничениеПравПоДокументамМастеров; ВыборкаПроба = Проба.Выбрать(,,); Пока ВыборкаПроба.Следующий() Цикл Период1 = ВыборкаПроба.Период; ЗаписьВычета = ВыборкаПроба.ПолучитьМенеджерЗаписи(); // Период1 ='20101201050607'; // Год-4, месяц-2,День(2цифры),часы-2,минуты-2,секунды-2 ЗаписьВычета.Период = Период1; ВыборкаПроба.СостаБригад = Истина; ВыборкаПроба.Записать(Истина); КонецЦикла; |
|||
1
Mort
13.08.12
✎
15:54
|
Если не обращать внимание что способ выбран очень хреновый - запись сначала надо прочитать в менеджер, чтобы он её "затёр". А так у тебя тупо новые записи создаются.
|
|||
2
DrShad
13.08.12
✎
15:55
|
да и не ПолучитьМенеджерЗаписи, а СоздатьМенеджерЗаписи
|
|||
3
nikalexgorb
13.08.12
✎
15:56
|
Верно. Но если создать менедер, тогда будут новые записи. А мне надо изменить те которые есть
|
|||
4
Popkorm
13.08.12
✎
15:57
|
(0)какие именно дополнительные записи?!
По РегСведениям давно не делал, ЗаписьВычета = ВыборкаПроба.ПолучитьОбъект();-не работает?! |
|||
5
nikalexgorb
13.08.12
✎
15:59
|
т.е. Дату периода оставить прежнюю , новые записи не создавать, а перезаписать одно поле (которое булево)
|
|||
6
Irbis
13.08.12
✎
16:00
|
Кури Прочитать()
|
|||
7
DrShad
13.08.12
✎
16:02
|
(4) какой объект!? иди проспись
|
|||
8
nikalexgorb
13.08.12
✎
16:08
|
ЗаписьВычета = РегистрыСведений.ОграничениеПравПоДокументамМастеров.СоздатьМенеджерЗаписи();
ЗаписьВычета.Период = ВыборкаПроба.Период; ЗаписьВычета.СостаБригад = Истина; ЗаписьВычета.Записать(Истина); Вот это в цикле создает еще запись, мне это не подходит. Надо прочитать старую, установить поле СостаБригад в истину и записать |
|||
9
Irbis
13.08.12
✎
16:09
|
(8) И что ты сделал, чтобы прочитать старую запись?
|
|||
10
DrShad
13.08.12
✎
16:10
|
(8) Прочитать() где?
|
|||
11
nikalexgorb
13.08.12
✎
16:10
|
Пытался прочитать командой ПолучитьМенеджерЗаписи()
|
|||
12
Irbis
13.08.12
✎
16:10
|
(11) Странно, наверное ты пейсатель.
|
|||
13
DrShad
13.08.12
✎
16:11
|
(11) писец
|
|||
14
Irbis
13.08.12
✎
16:11
|
(12) гвозди тоже iPhonом заколачиваешь
|
|||
15
nikalexgorb
13.08.12
✎
16:12
|
Да ладно прикалываться Тоже мне крутизна. Лучше подскажите в чем ошибка
|
|||
16
DrShad
13.08.12
✎
16:12
|
(15) читать научись
|
|||
17
Irbis
13.08.12
✎
16:12
|
(15) Читай эту ветку до просветления два или три раза уже правильно подсказали
|
|||
18
nikalexgorb
13.08.12
✎
16:13
|
Всё эта мутатень в форме списка регистра
|
|||
19
Irbis
13.08.12
✎
16:13
|
||||
20
nikalexgorb
13.08.12
✎
16:13
|
Хорошо перепроверю
|
|||
21
nikalexgorb
13.08.12
✎
16:22
|
Не то все (Создаются записи) Мне это не подходит
|
|||
22
DrShad
13.08.12
✎
16:23
|
пнх
|
|||
23
nikalexgorb
13.08.12
✎
16:24
|
Туда же. Конец дня. Нервишки наверное шалят
|
|||
24
Irbis
13.08.12
✎
16:24
|
Ветку закрыть, автора забанить за неумение читать на языке форума и толстый троллинг.
|
|||
25
DrShad
13.08.12
✎
16:25
|
(23) читать ветку до просветления, а то у всех как положено работает, а ему видите ли не подходит и создает новые записи
|
|||
26
Бледно Золотистый
13.08.12
✎
16:29
|
РегистрСведенийВыборка.<Имя регистра сведений> (InformationRegisterSelection.<Имя регистра сведений>)
ПолучитьМенеджерЗаписи (GetRecordManager) Синтаксис: ПолучитьМенеджерЗаписи() Возвращаемое значение: Тип: РегистрСведенийМенеджерЗаписи. Описание: ВыбранПолучает объект для чтения, изменения, добавления и удаления записи регистра сведений, на которой в данный момент спозиционирована выборка. Доступность: Сервер, толстый клиент, внешнее соединение. Примечание: Полученный объект не является выбранным (метод Выбран возвратит Ложь). Для внесения изменений в полученную запись необходимо для этой записи сначала выполнить метод Прочитать. |
|||
27
Popkorm
13.08.12
✎
16:32
|
как то так:
ЗаписьВычета = РегистрыСведений.ОграничениеПравПоДокументамМастеров.СоздатьМенеджерЗаписи(); ЗаписьВычета.Период = ВыборкаПроба.Период; ЗаписьВычета.СостаБригад = Истина; ЗаписьВычета.Прочитать(); Если ЗаписьВычета.Выбран() Тогда ЗаписьВычета.Период=ВыборкаПроба.Период; ЗаписьВычета.СостаБригад = Истина; Запись.Записать(); КонецЕсли; |
|||
28
Popkorm
13.08.12
✎
16:32
|
+(27)ЗаписьВычета.Записать();
|
|||
29
DrShad
13.08.12
✎
16:33
|
// В результате запроса должны присутствовать все измерения регистра
МенеджерЗаписи = РегистрыСведений.Регистр1.СоздатьМенеджерЗаписи(); ЗаполнитьЗначенияСвойств(МенеджерЗаписи, СтрокаРезультата); МенеджерЗаписи.Прочитать(); // Обработка менеджера записи МенеджерЗаписи.Реквизит1 = ; МенеджерЗаписи.Записать(); |
|||
30
DrShad
13.08.12
✎
16:33
|
(27) и без всякого Выбран()
|
|||
31
nikalexgorb
13.08.12
✎
16:35
|
Всем спасибо Перепроверю
|
|||
32
hhhh
13.08.12
✎
16:35
|
(31) в регистрах сведений не бывает корректировки записей. Там по-любому старая запись удаляется и пишется новая. Так что ты занимаешься фигней.
|
|||
33
zoom_4x
13.08.12
✎
16:37
|
Или вот так:
ПробаНаборЗаписей = РегистрыСведений.ОграничениеПравПоДокументамМастеров.СоздатьНаборЗаписей; ПробаНаборЗаписей.Прочитать(); Для каждого ПробаЗапись из ПробаНаборЗаписей Цикл // Период1 ='20101201050607'; // Год-4, месяц-2,День(2цифры),часы-2,минуты-2,секунды-2 ПробаЗапись.Период = Период1; ВыборкаПроба.СостаБригад = Истина; КонецЦикла; ПробаНаборЗаписей.Записать(Истина); |
|||
34
nikalexgorb
13.08.12
✎
16:37
|
hhh Верно. До меня только сейчас как до жирафа дошло. (Привычка по семерке думать)
|
|||
35
DrShad
13.08.12
✎
16:37
|
(32) если я не задам все измерения перед Прочитать, то создаст новую запись ровно с теми измерениями, которые я задал
|
|||
36
Vakhrin
13.08.12
✎
16:39
|
+ (33) или выгрузить в ТЗ, заполнить колонку и обратно загрузить в набор, который и записать
|
|||
37
nikalexgorb
13.08.12
✎
16:40
|
Тоже вариант. Спасибо
|
|||
38
DrShad
13.08.12
✎
16:42
|
(33) отборы где? он прочитает все записи
|
|||
39
Popkorm
13.08.12
✎
16:43
|
(33)да да........Как то забыли про это
|
|||
40
Popkorm
13.08.12
✎
16:43
|
(32)да да........Как то забыли про это
|
|||
41
DrShad
13.08.12
✎
16:44
|
(39) НаборЗаписей без отборов что считает?
|
|||
42
zoom_4x
13.08.12
✎
17:00
|
Если нужно отобрать и изменить записи за определенный период, то тогда вот так:
ПробаНаборЗаписей = РегистрыСведений.ОграничениеПравПоДокументамМастеров.СоздатьНаборЗаписей; ПробаНаборЗаписей.Отбор.Период.Установить('20101201050607'); ПробаНаборЗаписей.Прочитать();// Для каждого ПробаЗапись из ПробаНаборЗаписей Цикл // Период1 ='20101201050607'; // Год-4, месяц-2,День(2цифры),часы-2,минуты-2,секунды-2 ВыборкаПроба.СостаБригад = Истина; КонецЦикла; ПробаНаборЗаписей.Записать(Истина); |
|||
43
DrShad
13.08.12
✎
17:01
|
(42) а если по определенному измерению или набору измерений
|
|||
44
zoom_4x
13.08.12
✎
17:11
|
(43) РегистрСведенийНаборЗаписей.<Имя регистра сведений> (InformationRegisterRecordSet.<Имя регистра сведений>)
Отбор (Filter) Использование: Только чтение. Описание: Тип: Отбор. Содержит объект Отбор, по которому осуществляется текущая фильтрация записей при считывании или записи набора. Список свойств объекта зависит от свойств регистра: для регистров сведений, для которых в конфигураторе установлен режим записи "Подчинение регистратору", отбор возможен только по регистратору, для периодических регистров сведений отбор возможен по периоду и значениям измерений, для непериодических - только по значению измерений. Важно! Отбор может устанавливаться только на равенство. |
|||
45
nikalexgorb
13.08.12
✎
17:18
|
Спасибо !!!
|
|||
46
DrShad
13.08.12
✎
17:19
|
(44) ты думаешь я СП не читал? в твоих примерах этого нет
|
|||
47
zoom_4x
13.08.12
✎
17:45
|
(46)Напишите свой.
|
|||
48
DrShad
13.08.12
✎
18:03
|
я разве не написал?
|
|||
49
Serginio1
13.08.12
✎
18:56
|
Так может вместо
ЗаписьВычета.Период = Период1; ВыборкаПроба.СостаБригад = Истина; ВыборкаПроба.Записать(Истина); Сделать ЗаписьВычета.Период = Период1; ЗаписьВычета.СостаБригад = Истина; ЗаписьВычета.Записать(Истина); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |