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