![]() |
![]() |
|
Массовая запись | ☑ | ||
---|---|---|---|---|
0
Хрустальчик
05.07.25
✎
12:20
|
Здравствуйте, уже задавал вопрос, но как сделать массовую запись в независимый периодический регистр сведений
Сейчас делаю подобным образом, но запись падает. Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ЗаказПоставщикуТовары.Ссылка КАК Ссылка |ИЗ | Документ.ЗаказПоставщику.Товары КАК ЗаказПоставщикуТовары |ГДЕ | ЗаказПоставщикуТовары.Ссылка.Дата > &Дата"; Запрос.УстановитьПараметр("Дата", '20201203235113'); РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл запрос2 = новый запрос; запрос2.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ | ЗаказПоставщикуТовары.Номенклатура КАК Номенклатура, | ЗаказПоставщикуТовары.Упаковка КАК Упаковка, | ЗаказПоставщикуТовары.Ссылка.Валюта КАК Валюта, | ЗаказПоставщикуТовары.ВидЦеныПоставщика КАК ВидЦеныПоставщика, | ЗаказПоставщикуТовары.Сумма КАК Сумма, | ЗаказПоставщикуТовары.Количество КАК Количество, | ЗаказПоставщикуТовары.Цена КАК Цена, | ЗаказПоставщикуТовары.Ссылка.Дата КАК Дата, | ЗаказПоставщикуТовары.Ссылка.Партнер КАК Партнер, | ЗаказПоставщикуТовары.Ссылка КАК Ссылка |ИЗ | Документ.ЗаказПоставщику.Товары КАК ЗаказПоставщикуТовары |ГДЕ | ЗаказПоставщикуТовары.Ссылка = &Ссылка"; Запрос2.УстановитьПараметр("Ссылка", ВыборкаДетальныеЗаписи.Ссылка); РезультатЗапроса2 = Запрос2.Выполнить(); ВыборкаДетальныеЗаписи2 = РезультатЗапроса2.Выбрать(); Пока ВыборкаДетальныеЗаписи2.Следующий() Цикл Если не ЗначениеЗаполнено(ВыборкаДетальныеЗаписи2.Ссылка) Тогда Возврат; КонецЕсли; НаборЗаписей = РегистрыСведений.ЮТ_ЦеныНоменклатурыПоставщиковСПоставщиком.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Регистр.Установить(ВыборкаДетальныеЗаписи2.Ссылка); НоваяЗапись = НаборЗаписей.Добавить(); НоваяЗапись.Период = ВыборкаДетальныеЗаписи2.Дата; Если ЗначениеЗаполнено(ВыборкаДетальныеЗаписи2.ВидЦеныПоставщика) Тогда НоваяЗапись.ВидЦены = ВыборкаДетальныеЗаписи2.ВидЦеныПоставщика Иначе НоваяЗапись.ВидЦены = Справочники.ВидыЦенПоставщиков.НайтиПоНаименованию("Закупочная"); КонецЕсли; НоваяЗапись.Партнер = ВыборкаДетальныеЗаписи2.Партнер; НоваяЗапись.Номенклатура = ВыборкаДетальныеЗаписи2.Номенклатура; НоваяЗапись.Цена = ВыборкаДетальныеЗаписи2.Сумма/ВыборкаДетальныеЗаписи2.Количество; НоваяЗапись.Упаковка = ВыборкаДетальныеЗаписи2.Упаковка; НоваяЗапись.Валюта = ВыборкаДетальныеЗаписи2.Валюта; НоваяЗапись.Регистр = ВыборкаДетальныеЗаписи2.Ссылка; НаборЗаписей.Записать(); |
|||
2
Волшебник
05.07.25
✎
12:25
|
Мне кажется, это какая-то безумная кодогенерация
НаборЗаписей.Отбор.Регистр.Установить(ВыборкаДетальныеЗаписи2.Ссылка); |
|||
3
Хрустальчик
05.07.25
✎
12:27
|
(2) Факт, а что лучше посоветуете?
|
|||
4
Волшебник
05.07.25
✎
12:28
|
(3) Посоветую перестать морочить нам голову
|
|||
5
Мультук
гуру
05.07.25
✎
13:09
|
(0)
>>Сейчас делаю подобным образом, но запись падает. Сильно падает? С какого этажа? Раздается дзинь или бух ? ИЛИ Всё же появляется какое-то сообщение об ошибке ? |
|||
6
Хрустальчик
05.07.25
✎
13:11
|
Пишет, что память кончается
|
|||
7
Хрустальчик
05.07.25
✎
13:11
|
В другой базе соединение с сервером потерялось
|
|||
8
Волшебник
05.07.25
✎
13:25
|
У Вас в первом запросе ссылки на документ, а сам запрос к табличной части. Зацените, сколько раз крутится верхний цикл
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |