Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

обновление регистра,дозапись

обновление регистра,дозапись
Я
   _barracuda_
 
26.03.18 - 12:47
добрый день.подскажите как можно дозаписать данные.например есть код где записываеться регистр но по разным причинам ресурс Сумма может быть пустым.так вот при закрытии документа ндо проверить если регистр есть то проверить наличие суммы если ее нет то дозаписать ее: ну наверное так?
             НаборЗаписейЗанятыхЯчеек= РегистрыСведений.ЗанятыеЯчейки.СоздатьНаборЗаписей();
            НаборЗаписейЗанятыхЯчеек.Отбор.ДатаНачала.Установить(Строка.ДатаНачала);
            НаборЗаписейЗанятыхЯчеек.Отбор.ДатаОкончания.Установить(Строка.ДатаОкончания);         
            НаборЗаписейЗанятыхЯчеек.Отбор.Ячейка.Установить(Строка.Ячейка);
                            
            НаборЗаписейЗанятыхЯчеек.Прочитать();
                    
                    НаборЗаписейЗанятыхЯчеек.СтоимостьЕденицы = Сумма;!!!!!!!!

                    НаборЗаписейЗанятыхЯчеек.Записать();
 
 
   Малыш Джон
 
1 - 26.03.18 - 12:51
РегистрСведенийНаборЗаписей.<Имя регистра сведений> (InformationRegisterRecordSet.<Имя регистра сведений>)

Элементы коллекции:
РегистрСведенийЗапись

Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются элементы коллекции.
   _barracuda_
 
2 - 26.03.18 - 12:51
(1)можно пример?
   RomaH
 
3 - 26.03.18 - 13:41
(0) запросом с соединением двух таблиц
   _barracuda_
 
4 - 26.03.18 - 13:43
(3)зачем такая жесть?
   _barracuda_
 
5 - 26.03.18 - 13:45
вот нашел делаю похоже http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=610987  но у меня почему то создается запись дополнительная а не меняется существующая

 НаборЗаписейЗанятыхЯчеек= РегистрыСведений.ЗанятыеЯчейки.СоздатьМенеджерЗаписи();
            НаборЗаписейЗанятыхЯчеек.ДатаНачала=(Строка.ДатаНачала);
            НаборЗаписейЗанятыхЯчеек.ДатаОкончания=(Строка.ДатаОкончания);         
            НаборЗаписейЗанятыхЯчеек.Ячейка=(Строка.Ячейка);
                            
            НаборЗаписейЗанятыхЯчеек.Прочитать();
                    
                    НаборЗаписейЗанятыхЯчеек.СтоимостьЕденицы = Сумма;!!!!!!!!

                    НаборЗаписейЗанятыхЯчеек.Записать();
   _barracuda_
 
6 - 26.03.18 - 13:47
все время создается  новая и пишет период не может быть пустым
   oslokot
 
7 - 26.03.18 - 13:48
все правильно
   oslokot
 
8 - 26.03.18 - 13:48
так и будет
   _barracuda_
 
9 - 26.03.18 - 13:51
(8)а как надо?
   oslokot
 
10 - 26.03.18 - 13:54
после того как прочитал записи, надо спозиционироваться на нужной и уже ее то и обновить
 
 Рекламное место пустует
   RomaH
 
11 - 26.03.18 - 13:59
(4) жесть - это, то что у тебя получится - а запросом создать правильный набор - самое оно
   Малыш Джон
 
12 - 26.03.18 - 14:17
НаборЗаписейЗанятыхЯчеек= РегистрыСведений.ЗанятыеЯчейки.СоздатьНаборЗаписи();
НаборЗаписейЗанятыхЯчеек.ДатаНачала=(Строка.ДатаНачала);
НаборЗаписейЗанятыхЯчеек.ДатаОкончания=(Строка.ДатаОкончания);         
НаборЗаписейЗанятыхЯчеек.Ячейка=(Строка.Ячейка);
                            
НаборЗаписейЗанятыхЯчеек.Прочитать();
                    
Для Каждого Запись Из НаборЗаписейЗанятыхЯчеек Цикл                    
  Запись.СтоимостьЕдиницы = Сумма;
КонецЦикла;

НаборЗаписейЗанятыхЯчеек.Записать();
   Малыш Джон
 
13 - 26.03.18 - 14:18
НаборЗаписейЗанятыхЯчеек= РегистрыСведений.ЗанятыеЯчейки.СоздатьНаборЗаписи();
НаборЗаписейЗанятыхЯчеек.Отбор.ДатаНачала.Установить(Строка.ДатаНачала);
НаборЗаписейЗанятыхЯчеек.Отбор.ДатаОкончания.Установить(Строка.ДатаОкончания);         
НаборЗаписейЗанятыхЯчеек.Отбор.Ячейка.Установить(Строка.Ячейка);
                            
НаборЗаписейЗанятыхЯчеек.Прочитать();
                    
Для Каждого Запись Из НаборЗаписейЗанятыхЯчеек Цикл                    
  Запись.СтоимостьЕдиницы = Сумма;
КонецЦикла;

НаборЗаписейЗанятыхЯчеек.Записать();
   _barracuda_
 
14 - 26.03.18 - 15:13
(13)в данном случае все измерения надо указывать абсолютно?или ключевыЕ?
   Малыш Джон
 
15 - 26.03.18 - 15:20
(14) те, по которым нужно делать отбор.  Отбор в наборе записей помогает отобрать только нужные записи. Ставить его не обязательно, можешь и без него, если нужно весь регистр прочитать.
   _barracuda_
 
16 - 26.03.18 - 15:27
(15)Поле объекта не обнаружено (СтоимостьЕдиницы)
   _barracuda_
 
17 - 26.03.18 - 15:28
а сорри.не правильно записал Спасибо огромное.Удачного дня!
   _barracuda_
 
18 - 26.03.18 - 15:28
(15)!!!!!
   arsik
 
19 - 26.03.18 - 15:30
Вообще то в модуле проведения есть свойство Движения
Через него делай.
   arsik
 
20 - 26.03.18 - 15:32
Для Каждого МоеДвижение из Движения.ЗанятыеЯчейки Цикл
   Если МоеДвижение.Сумма = 0 Тогда
      МоеДвижение.Сумма = 21;
   КонецЕсли;
КонецЦикла;

   _barracuda_
 
21 - 26.03.18 - 15:35
(20)Спасибо!


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует