Имя: Пароль:
1C
1С v8
Ошибка записи данных в регистр сведений
0 v8Newbie
 
09.08.12
09:58
Добрый день!

Платформа 8.2.15.301, УТ 11.0.4.5.

Добавил свой регистр сведений, подчиненный регистратору. Добавил документ-регистратор. Оба, что регистр, что документ -  слова доброго не стоят, собирают небольшой объем некой статистики. И все в порядке было, но вчера я добавил туда реквизит, прописал его в обработке проведения. Регистр перестал заполняться! Не ругается, не пишет ничего, просто не создает записи. Ладно, думаю, уберу изменения, просмотрю на свежую голову. Закомментировал строку в обработке проведения, убрал реквизит из регистра. Регистр по-прежнему не заполняется, не ругается, ничего не говорит. Заполняю через НаборЗаписей.Записать(). Записи в нем есть, все типы данных совпадают. Куда копать?
1 Нуф-Нуф
 
09.08.12
09:59
создай движения конструктром
2 chelentano
 
09.08.12
10:00
(0) скорее всего не ставишь отбор по измерениям, в это случае НаборЗаписей.Записать() просто всё затирает
3 х86
 
09.08.12
10:01
(0)код давай
4 wade25
 
09.08.12
10:02
Записывать = Истина или типа того не забывай.
5 chelentano
 
09.08.12
10:04
(4) ну да, тоже может быть
6 Нуф-Нуф
 
09.08.12
10:05
(2) какой отбор по измерениям у РС подчиненному регистратору?
7 chelentano
 
09.08.12
10:07
(6)
НаборЗаписей.Отбор.Регистратор.Установить(Документ);
НаборЗаписей.Записать();
8 х86
 
09.08.12
10:08
(6)мошт он набор записей "руками" создаёт
9 v8Newbie
 
09.08.12
10:08
(2)(6) Отбор ставлю по регистратору, измерения заполняю в наборе записей, отбор по измерениям не ставлю.
Сейчас код дам, сменили пароль на корп. вай-фай.
10 v8Newbie
 
09.08.12
10:12
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
   
   НаборЗаписейТочки = РегистрыСведений.СведенияПоТочкам.СоздатьНаборЗаписей();
   НаборЗаписейТочки.Отбор.Регистратор.Установить(Ссылка);
   МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
   Запрос = новый Запрос;
   Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
   Запрос.Текст = "Выбрать * поместить ВРВ из &ВерхнийРядВыкладки как ВРВ;
   |Выбрать * поместить CРВ из &СреднийРядВыкладки как CРВ;
   |Выбрать * поместить НРВ из &НижнийРядВыкладки как НРВ";
   Запрос.УстановитьПараметр("ВерхнийРядВыкладки",ВерхнийРядВыкладкиТаб);
   Запрос.УстановитьПараметр("СреднийРядВыкладки",СреднийРядВыкладкиТаб);
   Запрос.УстановитьПараметр("НижнийРядВыкладки",НижнийРядВыкладкиТаб);
   Запрос.Выполнить();
   
   Запрос = Новый Запрос;
   Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
   Запрос.Текст = "Выбрать Номенклатура, Наличие, ЦенаРеальная, ЦенаОтпуска из ВРВ
   |объединить все Выбрать Номенклатура, Наличие, ЦенаРеальная, ЦенаОтпуска из CРВ
   |объединить все Выбрать Номенклатура, Наличие, ЦенаРеальная, ЦенаОтпуска из НРВ";
   
   Выборка = Запрос.Выполнить().Выбрать();
   Пока Выборка.Следующий() цикл
       НоваяЗапись = НаборЗаписейТочки.Добавить();
       НоваяЗапись.Свойство = Выборка.Номенклатура;
       НоваяЗапись.Период =  Ссылка.Дата;
       НоваяЗапись.Значение = Выборка.Наличие;
       НоваяЗапись.ЦенаРеальная = Выборка.ЦенаРеальная;
       НоваяЗапись.ЦенаОтпуска = Выборка.ЦенаОтпуска;
       НоваяЗапись.Регистратор = Ссылка;
       НоваяЗапись.Точка = Ссылка.Точка;
       НоваяЗапись.Активность = Истина;
   конеццикла;    
       
   
   Запрос = новый Запрос;
   Запрос.Текст = "ВЫБРАТЬ
                  |    ОтчетПоТочке.Стекла как Стекла,
                  |    ОтчетПоТочке.Витрины как Витрины,
                  |    ОтчетПоТочке.Накопитель как Накопитель,
                  |    ОтчетПоТочке.Испаритель как Испаритель,
                  |    ОтчетПоТочке.Радиатор как Радиатор,
                  |    ОтчетПоТочке.Ротация_товара,
                  |    ОтчетПоТочке.Оценка_по_пятибальной_шкале,
                  |    ОтчетПоТочке.Выкладка_товара,
                  |    ОтчетПоТочке.Головной_убор,
                  |    ОтчетПоТочке.Халат,
                  |    ОтчетПоТочке.Жалобная_книга
                  |ИЗ
                  |    Документ.ОтчетПоТочке КАК ОтчетПоТочке
                  |ГДЕ
                  |    ОтчетПоТочке.Ссылка = &Ссылка";
   Запрос.УстановитьПараметр("Ссылка",Ссылка);
   ВыпЗапроса = Запрос.Выполнить();
   Выборка = ВыпЗапроса.Выбрать();
   Выборка.Следующий();
   Колонки = ВыпЗапроса.Колонки;
   Для каждого Колонка из Колонки цикл
       НоваяЗапись = НаборЗаписейТочки.Добавить();
       НоваяЗапись.Свойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию(СтрЗаменить(Колонка.Имя,"_"," "));
       НоваяЗапись.Период =  Ссылка.Дата;
       НоваяЗапись.Значение = Выборка[Колонка.Имя];
       НоваяЗапись.ЦенаРеальная = 0;
       НоваяЗапись.ЦенаОтпуска = 0;
       НоваяЗапись.Регистратор = Ссылка;
       НоваяЗапись.Точка = Ссылка.Точка;
       НоваяЗапись.Активность = Истина;
   Конеццикла;
   НаборЗаписейТочки.Записывать = Истина;
   НаборЗаписейТочки.Записать();
11 v8Newbie
 
09.08.12
10:17
ЦенаОтпуска добавил, это реквизит, ЦенаРеальная уже был, когда работал.
12 Ненавижу 1С
 
гуру
09.08.12
10:20
вот это
НаборЗаписейТочки.Записывать = Истина;
тут нафиг не надо, ведь вы не используете предопределенный набор движений из коллекции Движения
кстати который наверняка все вашу работу перетирает, ставлю на то, что вы сменили релиз платформы
13 v8Newbie
 
09.08.12
10:23
(12) Ну хорошо, давай закомментируем...
14 Ненавижу 1С
 
гуру
09.08.12
10:26
(13) давай вместо

НаборЗаписейТочки = РегистрыСведений.СведенияПоТочкам.СоздатьНаборЗаписей();

будем использовать

НаборЗаписейТочки = Движения.СведенияПоТочкам;
15 v8Newbie
 
09.08.12
10:43
(14) Заработала! Шаманство! Спасибо! А в чем разница?
16 Ненавижу 1С
 
гуру
09.08.12
10:45
(15) и еще, а у документа, что стоит в свойстве "Запись движений при проведении"?
17 Ненавижу 1С
 
гуру
09.08.12
10:45
(15) предопределенный набор (а он пуст у тебя) перетирает твои данные
18 v8Newbie
 
09.08.12
10:56
(16) Записывать выбранные.
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.