Имя: Пароль:
1C
1С v8
com-объект.Непериодический регистр сведений.
0 me_ТЁЛКА
 
05.09.12
14:47
обращаюсь через com к базе, в регистре сведений необходимо перебрать записи и добавить новые.Какой цикл лучше использовать?Сейчас так:

Для Счетчик = 1 По 3 Цикл
Менеджер = ОбъектСоединения.РегистрыСведений.ИмяРегистра.СоздатьМенеджерЗаписи();
               Выборка = ОбъектСоединения.Справочники.Организации.Выбрать();
               Менеджер = ОбъектСоединения.РегистрыСведений.ИмяРегистра.СоздатьМенеджерЗаписи();
               Менеджер.Прочитать();
               Менеджер.Организация = ОбъектСоединения.Справочники.Организации.НайтиПоКоду("00000000"+ Строка(Счетчик));
               Менеджер.ИмяРегистра= Дата;
               Менеджер.Записать();
           КонецЦикла;
1 Heckfy
 
05.09.12
14:49
"Сейчас так:" - Работает?
2 me_ТЁЛКА
 
05.09.12
14:50
(1) да, только если меньше 3 строк, добавляется лишняя пустая. вот и не знаю что лучше удалять пустую или цикл как то по другому нужно сделать???
3 Fish
 
05.09.12
14:51
(2) Для начала нужно фото
4 Рэйв
 
05.09.12
14:52
(3)+1
Второй раз на халяву не прокатит:-)
5 Heckfy
 
05.09.12
14:53
(2) А чем обусловлен цикл от 1 до 3, а не 7 например?
6 me_ТЁЛКА
 
05.09.12
14:53
(3), (4) обойдемся без вас тогда :)
7 me_ТЁЛКА
 
05.09.12
14:53
(5) не имеет значения..
8 me_ТЁЛКА
 
05.09.12
14:57
Всё??? нет вариантов?
9 artems
 
05.09.12
14:59
(8) нет вариантов без фотки...
10 me_ТЁЛКА
 
05.09.12
15:00
(9) кто бы говорил...
11 Steel_Wheel
 
05.09.12
15:01
(0) Запрос. Потом обращение к менеджеру набора записей
12 me_ТЁЛКА
 
05.09.12
15:02
Запрос через com-соединение? мутабельные значения же
13 Heckfy
 
05.09.12
15:02
(7) Все, ты мне мозг в рекурсию завернула.... Что сделать то надо??? Что бы пустая не добавлялась?

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

Или я тебя не понял....
14 me_ТЁЛКА
 
05.09.12
15:03
(13) так будет ошибка проверки заполнения мутабельных значений (com-объект)
15 me_ТЁЛКА
 
05.09.12
15:04
может кто то подскажет способ не через менеджерЗаписи?
16 Heckfy
 
05.09.12
15:04
Ну проверь: ЗначениеЗаполнено(Орг.Код)
17 Ненавижу 1С
 
гуру
05.09.12
15:05
неясная формулировка и что значит "если меньше 3 строк, добавляется лишняя пустая"?

может это?

Организация = ОбъектСоединения.Справочники.Организации.НайтиПоКоду("00000000"+ Строка(Счетчик));
Если Не ЗначениеЗаполнено(Организация) Тогда
 Продолжить;
Конецесли;
Менеджер.Организация = Организация;
18 Ненавижу 1С
 
гуру
05.09.12
15:06
+(17) конечно же

Если Не ОбъектСоединения.ЗначениеЗаполнено(Организация) Тогда
19 Miss1C
 
05.09.12
15:06
(3) Вот что нужно для счастья
20 me_ТЁЛКА
 
05.09.12
15:11
(17) Спасибо!!!

"Если Не ОбъектСоединения.ЗначениеЗаполнено(Организация) Тогда" - то, что доктор прописал!:)
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший