(1) Добрый вечер! Столкнулся с тупой проблемой в самописной конфе: не отрабатывает запись в регистр сведений:
Код, естественно, не конечный и будет дорабатываться. Пока запускаю на минималках. Прошу помочь советом.
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ
| Пользователи.Ссылка КАК Исполнитель
|ПОМЕСТИТЬ ВременнаяТаблица
|ИЗ
| Справочник.Пользователи КАК Пользователи
|ГДЕ
| Пользователи.Ссылка = &Сотр
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ЗаявкаНаВакансию.Ссылка КАК Документ,
| ВременнаяТаблица.Исполнитель КАК Исполнитель,
| NULL КАК РольИсполнителя,
| NULL КАК ОсновнойОбъектАдресации
|ИЗ
| Документ.ЗаявкаНаВакансию КАК ЗаявкаНаВакансию,
| ВременнаяТаблица КАК ВременнаяТаблица
|ГДЕ
| ЗаявкаНаВакансию.Ссылка = &Ссылка
| И ЗаявкаНаВакансию.ПометкаУдаления = ЛОЖЬ";
Запрос.УстановитьПараметр("Ссылка", ЭтотОбъект.Ссылка);
Запрос.УстановитьПараметр("Сотр", Справочники.Пользователи.НайтиПоНаименованию("Какой-то человек"));
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
НаборЗаписей = РегистрыСведений.ЗадачиСогласований.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Документ.Установить(ЭтотОбъект.Ссылка);
Пока Выборка.Следующий() Цикл
НоваяЗапись = НаборЗаписей.Добавить();
ЗаполнитьЗначенияСвойств(НоваяЗапись, Выборка);
КонецЦикла;
НаборЗаписей.Записывать = Истина;
НаборЗаписей.Записать(Истина);
ПоказатьКод, естественно, не конечный и будет дорабатываться. Пока запускаю на минималках. Прошу помочь советом.
По теме из базы знаний
- Регистры сведений 1С. Как это устроено.
- Универсальные обработки документов, справочников, регистров, констант для 1С: Предприятие 8.3, управляемые формы
- Чтение и запись в регистр сведений данных с api owen
- Доработка проведения в ERP 2.5. (Регистры накопления, Регистры сведений)
- Корректировка, изменение регистра "Соответствие объектов информационных баз"
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
Прошу помочь советом.
Мой совет. В пустой, либо тестовой базе создайте регистр сведений с парой измерений и поработайте с регистром через набор записей реализовав варианты записи с отбором и без, а также Записать(Истина) и Записать(Ложь) до полного просветления в этом вопросе.
(1) Единственно не понимаю сакрального смысла запроса: если всегда будет один пользователь и один документ, то зачем это всё городить? Не проще ли было бы
Запись = Регистрысведений...СоздатьМенеджерзаписи
Запись.Документ = Ссылка
Запись.Исполнитель = Какой-то пользователь
Запись.Записать(ИСТИНА);
1. Смотрите в отладчике, что выдает запрос
2. Чтоб что-то сказать, про работает/неработает нужно видеть структуру регистра, а точнее его измерения и необходимость их заполнения (из кода можно вангонуть, что измерение у регистра одно - "Документ", вот его заполненность и нужно проверить в выборке)
2. Чтоб что-то сказать, про работает/неработает нужно видеть структуру регистра, а точнее его измерения и необходимость их заполнения (из кода можно вангонуть, что измерение у регистра одно - "Документ", вот его заполненность и нужно проверить в выборке)
Вопрос так и не решили? У меня похожая проблема: в независимом, непериодическом регистре сведений одно измерение -- отбор производится по уиду с типом число, есть еще несколько реквизитов. Пробовал и через менеджер записи и через набор записей, и ставил записывать истина и замещать и не замещать -- всё перепробовал, но не записывает. Транзакция проходит успешно, но запись не отрабатывает. В чем может быть проблема? Платформа 8.3.21.1644
Решено: Забыл "ЗафиксироватьТранзакцию()"
Решено: Забыл "ЗафиксироватьТранзакцию()"
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот