Не записывается новая запись в регистр

1. LOTR 22.04.19 13:34 Сейчас в теме
Привет, всем написал проверки, если они проходят создает запись в регистр, проблема только в том, что все работает, проверки работают но не регистр не наполняется записями, а постоянно перезаписывает первую, никто не знает как это исправить?
По теме из базы знаний
Найденные решения
15. fenixnow 269 22.04.19 14:49 Сейчас в теме
у тебя нет измерения...

запись.Записать(Ложь);
19. fenixnow 269 22.04.19 14:58 Сейчас в теме
у тебя их вообще сейчас нет,
почитай обязательно про регистры сведений. я так понимаю ты не уловил суть их хранения, назначения и как с ними работать дальше.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. fenixnow 269 22.04.19 14:00 Сейчас в теме
кусочек кода можно увидеть при создании записи... :)
4. LOTR 22.04.19 14:27 Сейчас в теме
5. LOTR 22.04.19 14:38 Сейчас в теме
(2)Простите вот целый код с проверкой регистра еще
//151321 Проверка регистра 
Функция НетЗаписейУведомленияORDRSP(Ссылка) 
Проверка = ложь; 
Запрос = новый Запрос(); 
Запрос.УстановитьПараметр("ТекущийЗаказ",Ссылка); 
Запрос.Текст = "ВЫБРАТЬ
               |	УведомленияORDRSP.ЗаказПокупателя
               |ИЗ
               |	РегистрСведений.УведомленияORDRSP КАК УведомленияORDRSP
               |ГДЕ
               |	УведомленияORDRSP.ЗаказПокупателя <> &ТекущийЗаказ
               |	И УведомленияORDRSP.ОтправленВРучную <> ИСТИНА"; 
Выборка = Запрос.Выполнить().Выбрать(); 
Если Выборка.Следующий() тогда 
Проверка=Истина;  
КонецЕсли;
Возврат Проверка;
КонецФункции 


//151321 Создание записи регистра 
Процедура РегистрУведомленияORDRSP() 
Если НетЗаписейУведомленияORDRSP(Ссылка) тогда 
запись = РегистрыСведений.УведомленияORDRSP.СоздатьМенеджерЗаписи(); 
запись.ЗаказПокупателя = Ссылка; 
запись.ЗаказEDI = ПолучитьЗаказEDI(); 
запись.УникальныйИдентификатор = Новый УникальныйИдентификатор(); 
запись.ОтправленВРучную = Ложь; 
запись.ВариантЗаполнения = Перечисления.ВариантыЗаполненияORDRSP.ПовкладкеМТСС; 
запись.Состояние = Перечисления.СостоянияORDRSP.Ожидает; 
запись.ДатаПостановки = ТекущаяДата(); 
запись.Записать(); 
КонецЕсли; 
КонецПроцедуры 


Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
//Проверка--151321	
Если (ТорговаяТочка.АвтоматическаяОтправкаORDRSP и Контрагент.АвтоматическаяОтправкаORDRSP)= Истина 
и торговаяточка.ВариантОтправкиORDRSP = Перечисления.ВариантыОтправкиORDRSP.ПриКаждомИзменении 
и торговаяточка.ВариантЗаполненияORDRSP = Перечисления.ВариантыЗаполненияORDRSP.ПовкладкеМТСС 
и НЕ (ТоварыSFA = ссылка.ТоварыSFA)Тогда 
РегистрУведомленияORDRSP(); 
КонецЕсли;
Показать
3. LOTR 22.04.19 14:16 Сейчас в теме
Процедура РегистрУведомленияORDRSP() 
Если НетЗаписейУведомленияORDRSP(Ссылка) тогда 
запись = РегистрыСведений.УведомленияORDRSP.СоздатьМенеджерЗаписи(); 
запись.ЗаказПокупателя = Ссылка; 
запись.ЗаказEDI = ПолучитьЗаказEDI(); 
запись.УникальныйИдентификатор = Новый УникальныйИдентификатор(); 
запись.ОтправленВРучную = Ложь; 
запись.ВариантЗаполнения = Перечисления.ВариантыЗаполненияORDRSP.ПовкладкеМТСС; 
запись.Состояние = Перечисления.СостоянияORDRSP.Ожидает; 
запись.ДатаПостановки = ТекущаяДата(); 
запись.Записать(); 
КонецЕсли; 
КонецПроцедуры 


Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
//Проверка--151321	
Если (ТорговаяТочка.АвтоматическаяОтправкаORDRSP и Контрагент.АвтоматическаяОтправкаORDRSP)= Истина 
и торговаяточка.ВариантОтправкиORDRSP = Перечисления.ВариантыОтправкиORDRSP.ПриКаждомИзменении 
и торговаяточка.ВариантЗаполненияORDRSP = Перечисления.ВариантыЗаполненияORDRSP.ПовкладкеМТСС 
и НЕ (ТоварыSFA = ссылка.ТоварыSFA)Тогда 
РегистрУведомленияORDRSP(); 
КонецЕсли;
Показать
6. fenixnow 269 22.04.19 14:39 Сейчас в теме
кинь еще структуру регистра
7. fenixnow 269 22.04.19 14:40 Сейчас в теме
пишу тебе ответ...
лаконичности у тебя маловато....
8. LOTR 22.04.19 14:40 Сейчас в теме
9. LOTR 22.04.19 14:42 Сейчас в теме
(7)А не может это быть из-за того, что я не раскидал регистр по измерениям и ресурсам
10. fenixnow 269 22.04.19 14:42 Сейчас в теме
у тебя используется менеджер записи и тут же отбор,
можно использовать набор в котором уже есть "отбор"
11. fenixnow 269 22.04.19 14:43 Сейчас в теме
ЭЭЭЭЭЭЭ!!!!! А как же ты тогда записываешь? :)
12. LOTR 22.04.19 14:43 Сейчас в теме
(11)Реквизиты создал просто
13. fenixnow 269 22.04.19 14:45 Сейчас в теме
Это фиаско.... :( У тебя измерение должен быть или ЗаказПокупателя или ЗаказEDI, а то и все вместе,
14. LOTR 22.04.19 14:47 Сейчас в теме
(13)Не он все верно выводит, единственное он перезаписывает одну и ту же запись при вновь прохождении проверки
15. fenixnow 269 22.04.19 14:49 Сейчас в теме
у тебя нет измерения...

запись.Записать(Ложь);
16. LOTR 22.04.19 14:50 Сейчас в теме
(15)Да сейчас раскидаю измерения и ресурсы тогда, спасибо, надеюсь это поможет))
17. fenixnow 269 22.04.19 14:52 Сейчас в теме
Если у тебя есть состояние, это состояние является ресурсом для измерения Заказ,
если переводить на русский то для Уникального заказа может изменяться значение состояния,

Если уникальность записи у тебя в рамках заказ + заказEDI тогда и измерения должно быть Заказ + ЗаказEDI.
18. LOTR 22.04.19 14:56 Сейчас в теме
(17)К сожалению согласно ТЗ мне необходимо хранить их в разных измерениях
19. fenixnow 269 22.04.19 14:58 Сейчас в теме
у тебя их вообще сейчас нет,
почитай обязательно про регистры сведений. я так понимаю ты не уловил суть их хранения, назначения и как с ними работать дальше.
20. fenixnow 269 22.04.19 14:59 Сейчас в теме
Откажись в итоге от запроса, и начни пользоваться НаборомЗаписей
21. LOTR 22.04.19 15:02 Сейчас в теме
22. fenixnow 269 22.04.19 15:15 Сейчас в теме
для набораЗаписей ты можешь читать данные из регистра и проводить манипуляции с ними и не нужен тебе запрос.

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

набор.Отбор.Заказ.Уставноить(Ссылка);
набор.Прочитать();

После этого ты можешь пройти в цикле по записям и изменить Ресурсы

// Записи присуствуют
Для Каждого Запись из набор Цикл
.....
КонецЦикла;

// Записи отсуствуют
Если Набор.Количество() = 0 тогда
Запись = набор.Добавить();

Запись.ЗаказПокупателя = Ссылка;
.......

КонецЕсли;

Набор.Записать();
Показать
23. LOTR 22.04.19 15:41 Сейчас в теме
(22)Мне не нужны манипуляции с регистром, мне просто надо его проверить, я посчитал что запросом будет лучше, про набор да знаю, спасибо за помощь, после заполнения измерений и ресурсов все пошло как надо
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот