Gererro
13.09.2017, 10:36
Суть такая, есть обработчик который создает Документ корректировки записей регистров.
Заполняются реквизиты формы и при нажатии Выполнить заводится этот самый документ корректировки. Если документ уже существует он перезаписывается без ведома пользователя. Что можно прописать что предоставить пользователю выбор - Перезаписывать документ или нет. Вариант РежимДиалогВопрос конечно можно. Но как его описать.
ДвиженияКорр = НовДокКоррЗап.Движения;
НовСтрРег = НовДокКоррЗап.ТаблицаРеги� �тровНакопления.Добавить();
НовСтрРег.Имя = "ВзаиморасчетыСКонтрагента ми";
НовСтрРег.Представление = "Взаиморасчеты с контрагентами";
//Получаем набор записей
ВзаиморасчетыСКонтрагента ми = ДвиженияКорр.Взаиморасчет� �СКонтрагентами;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ВзаиморасчетыСКонтрагента миОбороты.Период,
| ВзаиморасчетыСКонтрагента миОбороты.ДоговорКонтраге� �та,
| ВзаиморасчетыСКонтрагента миОбороты.Сделка,
| ВзаиморасчетыСКонтрагента миОбороты.Организация,
| ВзаиморасчетыСКонтрагента миОбороты.Контрагент,
| ВзаиморасчетыСКонтрагента миОбороты.СуммаВзаиморасч� �товПриход,
| ВзаиморасчетыСКонтрагента миОбороты.СуммаУпрПриход,
| ВзаиморасчетыСКонтрагента миОбороты.Регистратор
|ИЗ
| РегистрНакопления.Взаимор� �счетыСКонтрагентами.Оборо ты(
| &НачалоПериода,
| &ОкончаниеПериода,
| Регистратор,
| Организация = &Организация
| И Контрагент = &Контрагент
| И ДоговорКонтрагента = &ДоговорКонтрагента) КАК ВзаиморасчетыСКонтрагента миОбороты
|ГДЕ
| ВзаиморасчетыСКонтрагента миОбороты.СуммаВзаиморасч� �товПриход <> 0";
Запрос.УстановитьПараметр("Организация", Организация);
Запрос.УстановитьПараметр("Контрагент", Контрагент);
Запрос.УстановитьПараметр("НачалоПериода", НачалоДня(НачалоПериода));
Запрос.УстановитьПараметр("ОкончаниеПериода", Новый Граница(КонецДня(Окончание Периода), ВидГраницы.Включая));
Запрос.УстановитьПараметр("ДоговорКонтрагента", Договор);
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
Строка = ВзаиморасчетыСКонтрагента ми.Добавить();
Строка.Период = КонецДня(Выборка.Период);
Строка.Регистратор = НовДокКоррЗап.Ссылка;
Строка.ВидДвижения = ВидДвиженияНакопления.Рас� �од;
Строка.Активность = Истина;
Строка.Сделка = Выборка.Сделка;
Строка.Организация = Выборка.Организация;
Строка.Контрагент = Выборка.Контрагент;
Строка.ДоговорКонтрагента = Выборка.ДоговорКонтрагент� �;
Строка.СуммаВзаиморасчето� � = Выборка.СуммаВзаиморасчет� �вПриход;
Строка.СуммаУпр = Выборка.СуммаУпрПриход;
КонецЦикла;
Заполняются реквизиты формы и при нажатии Выполнить заводится этот самый документ корректировки. Если документ уже существует он перезаписывается без ведома пользователя. Что можно прописать что предоставить пользователю выбор - Перезаписывать документ или нет. Вариант РежимДиалогВопрос конечно можно. Но как его описать.
ДвиженияКорр = НовДокКоррЗап.Движения;
НовСтрРег = НовДокКоррЗап.ТаблицаРеги� �тровНакопления.Добавить();
НовСтрРег.Имя = "ВзаиморасчетыСКонтрагента ми";
НовСтрРег.Представление = "Взаиморасчеты с контрагентами";
//Получаем набор записей
ВзаиморасчетыСКонтрагента ми = ДвиженияКорр.Взаиморасчет� �СКонтрагентами;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ВзаиморасчетыСКонтрагента миОбороты.Период,
| ВзаиморасчетыСКонтрагента миОбороты.ДоговорКонтраге� �та,
| ВзаиморасчетыСКонтрагента миОбороты.Сделка,
| ВзаиморасчетыСКонтрагента миОбороты.Организация,
| ВзаиморасчетыСКонтрагента миОбороты.Контрагент,
| ВзаиморасчетыСКонтрагента миОбороты.СуммаВзаиморасч� �товПриход,
| ВзаиморасчетыСКонтрагента миОбороты.СуммаУпрПриход,
| ВзаиморасчетыСКонтрагента миОбороты.Регистратор
|ИЗ
| РегистрНакопления.Взаимор� �счетыСКонтрагентами.Оборо ты(
| &НачалоПериода,
| &ОкончаниеПериода,
| Регистратор,
| Организация = &Организация
| И Контрагент = &Контрагент
| И ДоговорКонтрагента = &ДоговорКонтрагента) КАК ВзаиморасчетыСКонтрагента миОбороты
|ГДЕ
| ВзаиморасчетыСКонтрагента миОбороты.СуммаВзаиморасч� �товПриход <> 0";
Запрос.УстановитьПараметр("Организация", Организация);
Запрос.УстановитьПараметр("Контрагент", Контрагент);
Запрос.УстановитьПараметр("НачалоПериода", НачалоДня(НачалоПериода));
Запрос.УстановитьПараметр("ОкончаниеПериода", Новый Граница(КонецДня(Окончание Периода), ВидГраницы.Включая));
Запрос.УстановитьПараметр("ДоговорКонтрагента", Договор);
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
Строка = ВзаиморасчетыСКонтрагента ми.Добавить();
Строка.Период = КонецДня(Выборка.Период);
Строка.Регистратор = НовДокКоррЗап.Ссылка;
Строка.ВидДвижения = ВидДвиженияНакопления.Рас� �од;
Строка.Активность = Истина;
Строка.Сделка = Выборка.Сделка;
Строка.Организация = Выборка.Организация;
Строка.Контрагент = Выборка.Контрагент;
Строка.ДоговорКонтрагента = Выборка.ДоговорКонтрагент� �;
Строка.СуммаВзаиморасчето� � = Выборка.СуммаВзаиморасчет� �вПриход;
Строка.СуммаУпр = Выборка.СуммаУпрПриход;
КонецЦикла;