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