Встала такая задача - автосоздание передач, начал искать, хотел уже качать-покупать, а оказалось вопрос решается за 5 мин - берется типовой код из 2-х процедур, собирается в 1 и все работает, кому интересно - рабочий код для ут 11.1 (11.1.9.56) (:
Процедура Запуск() Экспорт
Запрос = Новый Запрос("
|ВЫБРАТЬ
| Потребления.ДатаОформления,
| Потребления.Отправитель,
| Потребления.Получатель,
| Потребления.АналитикаУчетаНоменклатуры,
| Потребления.Склад,
| Потребления.Период,
| Потребления.ВидЗапасов,
| Потребления.ВидЗапасовПолучателя,
| Потребления.ТипЗапасов,
| Потребления.НалогообложениеНДС,
| Потребления.НомерГТД,
| Потребления.Потреблено
|ПОМЕСТИТЬ Потребления
|ИЗ &ТоварыКПередаче КАК Потребления
|;
|
|ВЫБРАТЬ
| (ВЫБОР Потребления.ТипЗапасов
| КОГДА ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПередачаНаКомиссиюВДругуюОрганизацию)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияТоваровВДругуюОрганизацию) КОНЕЦ) КАК ХозяйственнаяОперация,
| Потребления.ДатаОформления,
| Потребления.Отправитель,
| Потребления.Получатель,
| Потребления.Склад,
| Потребления.ТипЗапасов,
| Потребления.НалогообложениеНДС КАК ПередачаПодДеятельность,
| МАКСИМУМ(Потребления.Период) КАК ДатаПоследнейПродажи,
| КОЛИЧЕСТВО(1) КАК СтрокТоваров,
| 1 КАК Порядок
|ИЗ
| Потребления КАК Потребления
|СГРУППИРОВАТЬ ПО
| Потребления.ДатаОформления,
| Потребления.Отправитель,
| Потребления.Получатель,
| Потребления.Склад,
| Потребления.ТипЗапасов,
| Потребления.НалогообложениеНДС
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| (ВЫБОР ВидыЗапасов.ТипЗапасов
| КОГДА ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратПоКомиссииМеждуОрганизациями)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратТоваровМеждуОрганизациями) КОНЕЦ) КАК ХозяйственнаяОперация,
| ДАТАВРЕМЯ(1,1,1) КАК ДатаОформления,
| ВидыЗапасов.Организация КАК Отправитель,
| НаДату.ОрганизацияВладелец КАК Получатель,
| Аналитика.Склад КАК Склад,
| ВидыЗапасов.ТипЗапасов КАК ТипЗапасов,
| ВидыЗапасов.НалогообложениеНДС КАК ПередачаПодДеятельность,
| ДАТАВРЕМЯ(1,1,1) КАК ДатаПоследнейПродажи,
| 0 КАК СтрокТоваров,
| 2 КАК Порядок
|ИЗ
| РегистрНакопления.ТоварыОрганизацийКПередаче.Остатки(&ГраницаПериода) КАК НаДату
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ВидыЗапасов КАК ВидыЗапасов
| ПО ВидыЗапасов.Ссылка = НаДату.ВидЗапасовПродавца
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаУчетаНоменклатуры КАК Аналитика
| ПО
| НаДату.АналитикаУчетаНоменклатуры = Аналитика.КлючАналитики
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыОрганизацийКПередаче.Остатки() КАК НаСейчас
| ПО НаДату.АналитикаУчетаНоменклатуры = НаСейчас.АналитикаУчетаНоменклатуры
| И НаДату.НомерГТД = НаСейчас.НомерГТД
| И НаДату.ВидЗапасовПродавца = НаСейчас.ВидЗапасовПродавца
| И НаДату.ОрганизацияВладелец = НаСейчас.ОрганизацияВладелец
|ГДЕ
| ЕСТЬNULL(НаСейчас.ВозвращеноОстаток, 0) > 0
|
|УПОРЯДОЧИТЬ ПО
| Порядок, ДатаОформления
|");
Отборы = РегистрыНакопления.ТоварыОрганизацийКПередаче.ОтборыТоваровКПередаче();
//Отборы.НачалоПериода = НачалоМесяца(ТекущаяДата());
//Отборы.КонецПериода = КонецДня(ТекущаяДата());
Запрос.УстановитьПараметр("НачалоПериода", Отборы.НачалоПериода);
Запрос.УстановитьПараметр("КонецПериода", Отборы.КонецПериода);
Запрос.УстановитьПараметр("ГраницаПериода", Новый Граница(Отборы.КонецПериода, ВидГраницы.Включая));
Запрос.УстановитьПараметр("ТоварыКПередаче", РегистрыНакопления.ТоварыОрганизацийКПередаче.ТоварыКПередаче(Отборы));
Результат = Запрос.Выполнить();
КОформлению=Результат.Выгрузить();
Для каждого строка из КОформлению Цикл
Сообщить("1");
СтруктураОснование = Новый Структура;
СтруктураОснование.Вставить("Организация", Строка.Отправитель);
СтруктураОснование.Вставить("ОрганизацияПолучатель", Строка.Получатель);
СтруктураОснование.Вставить("Склад", Строка.Склад);
СтруктураОснование.Вставить("ПередачаПодДеятельность", Строка.ПередачаПодДеятельность);
СтруктураОснование.Вставить("ТипЗапасов", Строка.ТипЗапасов);
СтруктураОснование.Вставить("НачалоПериода", Строка.ДатаОформления);
СтруктураОснование.Вставить("КонецПериода", Строка.ДатаПоследнейПродажи);
СтруктураОснование.Вставить("ЗаполнятьПоСхеме", Истина);
СтруктураОснование.Вставить("ХозяйственнаяОперация", Строка.ХозяйственнаяОперация);
СтруктураОснование.Вставить("ДатаОформления", Строка.ДатаОформления);
ПараметрыОткрытия = Новый Структура("Основание", СтруктураОснование);
Если Строка.ХозяйственнаяОперация = ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ПередачаНаКомиссиюВДругуюОрганизацию")
Или Строка.ХозяйственнаяОперация = ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.РеализацияТоваровВДругуюОрганизацию")
Тогда
ИмяФормыОткрытия = "Документ.ПередачаТоваровМеждуОрганизациями.ФормаОбъекта";
ИначеЕсли Строка.ХозяйственнаяОперация = ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВозвратТоваровМеждуОрганизациями")
Или Строка.ХозяйственнаяОперация = ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВозвратПоКомиссииМеждуОрганизациями")
Тогда
СтруктураОснование.НачалоПериода = НачалоМесяца(ТекущаяДата());
СтруктураОснование.КонецПериода = КонецДня(ТекущаяДата());
ИмяФормыОткрытия = "Документ.ВозвратТоваровМеждуОрганизациями.ФормаОбъекта"
КонецЕсли;
ПередачаОбъект=Документы.ПередачаТоваровМеждуОрганизациями.СоздатьДокумент();
ПередачаОбъект.Заполнить(СтруктураОснование);
ПередачаОбъект.Дата=ТекущаяДата();
ПередачаОбъект.ДатаПлатежа=КонецДня(ТекущаяДата());
Если не ЗначениеЗаполнено(ПередачаОбъект.НалогообложениеНДС) Тогда
ПередачаОбъект.НалогообложениеНДС=Перечисления.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС;
КонецЕсли;
Попытка
ПередачаОбъект.Записать(РежимЗаписиДокумента.Проведение,РежимПроведенияДокумента.Неоперативный);
Исключение
ПередачаОбъект.Записать(РежимЗаписиДокумента.Запись);
КонецПопытки;
//ОткрытьФорму(ИмяФормыОткрытия, ПараметрыОткрытия, Элементы.Список);
КонецЦикла;
КонецПроцедуры
Показать