public object ПолучитьТаблицуПеремещений(/*ТаблицаТоваров, ДатаНач, ДатаКон, ПрефиксПараметровНовогоСостояния, СтруктураДопПараметров*/)
{
//Таб = Новый ТаблицаЗначений;
/*// Если таблица товаров не задана, перемещений нет
*/
if(true/*ТаблицаТоваров.Количество()=0*/)
{
}
/*// Из структуры доп параметров добудем дополнительные параметры
*/
//Учет = СтруктураДопПараметров.Учет;
/*//Состояния в УПП:
*/
/*// Номенклатура
*/
/*// ХарактеристикаНоменклатуры
*/
/*// СерияНоменклатуры
*/
/*// СтатусПартии (у)
*/
/*// СчетУчета (б)
*/
/*// Организация (б)
*/
/*// ДокументОприходования
*/
/*// Качество
*/
/*// Склад
*/
/*// Заказ
*/
/*// Перемещения между состояниями в УПП записываются в регистры ПартииТоваровНаСкладах и ПартииТоваровПереданные
*/
//СтруктураИзмерений=Новый Структура;
//ИмяРегистра = СтруктураДопПараметров.ИмяРегистраСклад;
//СтруктураИзмерений.Вставить(ИмяРегистра, Новый Массив);
//ИмяРегистра = СтруктураДопПараметров.ИмяРегистраПереданные;
//СтруктураИзмерений.Вставить(ИмяРегистра, Новый Массив);
if(true/*СтруктураДопПараметров.Свойство("ИмяРегистраВЭксплуатации")*/)
{
//ИмяРегистра = СтруктураДопПараметров.ИмяРегистраВЭксплуатации;
//СтруктураИзмерений.Вставить(ИмяРегистра, Новый Массив);
}
//КодыОперацийПеремещенияСклад = Новый Массив;
//КодыОперацийПеремещенияСклад.Добавить(Перечисления.КодыОперацийПартииТоваров.ПеремещениеМеждуСкладами);
//КодыОперацийПеремещенияСклад.Добавить(Перечисления.КодыОперацийПартииТоваров.КорректировкаСерийИХарактеристик);
//КодыОперацийПеремещенияСклад.Добавить(Перечисления.КодыОперацийПартииТоваров.КорректировкаКачества);
//КодыОперацийПеремещенияСклад.Добавить(Перечисления.КодыОперацийПартииТоваров.РезервированиеПодЗаказ);
//КодыОперацийПеремещенияСклад.Добавить(Перечисления.КодыОперацийПартииТоваров.СнятиеРезерваПодЗаказ);
//КодыОперацийПередача = Новый Массив;
//КодыОперацийПередача.Добавить(Перечисления.КодыОперацийПартииТоваров.ПередачаНаКомиссию);
//КодыОперацийПередача.Добавить(Перечисления.КодыОперацийПартииТоваров.ПередачаТарыКонтрагенту);
//КодыОперацийПередача.Добавить(Перечисления.КодыОперацийПартииТоваров.ПередачаВПереработку);
//КодыОперацийВозвратПереданных = Новый Массив;
//КодыОперацийВозвратПереданных.Добавить(Перечисления.КодыОперацийПартииТоваров.ВозвратОтКомиссионера);
//КодыОперацийВозвратПереданных.Добавить(Перечисления.КодыОперацийПартииТоваров.ВозвратТарыОтКонтрагента);
//КодыОперацийВозвратПереданных.Добавить(Перечисления.КодыОперацийПартииТоваров.ВозвратОтПереработчика);
//КодыОперацийПеремещенияВЭксплуатации = Новый Массив;
//КодыОперацийПеремещенияВЭксплуатации.Добавить(Перечисления.КодыОперацийПартииМатериаловВЭксплуатации.ПеремещениеВЭксплуатации);
//КодыОперацийПередачаВЭксплуатацию = Новый Массив;
//КодыОперацийПередачаВЭксплуатацию.Добавить(Перечисления.КодыОперацийПартииТоваров.ПередачаМатериаловВЭксплуатацию);
//КодыОперацийВозвратИзЭксплуатации = Новый Массив;
/*//Возврат обслуживается производственным учетом
*/
/*//КодыОперацийВозвратИзЭксплуатации.Добавить(Перечисления.КодыОперацийПартииМатериаловВЭксплуатации.ВозвратИзЭксплуатации);
*/
//КодыОперацийПустойМассив = Новый Массив;
//СтруктураВсехИзмерений= Новый Структура;
/*// содержит все измерения
*/
/*// В соответствии с метаданными регистров генерируется текст запроса
*/
//ПараметрыОтбораТоваров=Новый Массив;
//Запрос = Новый Запрос;
/*// Для налогового учета процедура может быть использована для расчета постоянных и временных разниц
*/
//ДопРесурсы = "";
if(true/*Учет = "Нал"*/)
{
//ДопРесурсы = ", Источник.ПостояннаяРазница КАК ПостояннаяРазница, Источник.ВременнаяРазница КАК ВременнаяРазница";
//ДопАгрегРесурсы = ", СУММА(ПостояннаяРазница) КАК ПостояннаяРазница, СУММА(ВременнаяРазница) КАК ВременнаяРазница";
}
/*// Заполним структуры измерений в соответствии с метаданными регистров:
*/
/*// Если в учете перемешений товаров могут участвовать n регистров, запрос будет состоять
*/
/*// из объединения n запросов, в каждом из которых используются n+1 таблица регистра
*/
/*// (таблица i-го регистра, соединеная с таблицами всех регистров)
*/
//ТекстОбщий="";
//Сч=1;
//Инд=0;
//ТекстПоля = "";
//ТекстПоляРесурсы = ", СУММА(Количество) КАК Количество, СУММА(Стоимость) КАК Стоимость" + ДопАгрегРесурсы;
/*ТекстЗапроса = "ВЫБРАТЬ "+Сред(ТекстПоля+ТекстПоляРесурсы, 2)+" ИЗ(" + Сред(ТекстОбщий, 16) + ") КАК Подзапрос
//|" + ТекстУсловияНаНеравенствоПолей +"
|СГРУППИРОВАТЬ ПО "+ Сред(ТекстПоля, 2)+"
|УПОРЯДОЧИТЬ ПО МИНИМУМ(Подзапрос.Период) ";*/
/*// Перемещения будут следовать в порядке дат первых движений
*/
//Запрос.Текст = ТекстЗапроса;
/*//Запрос.УстановитьПараметр("КодыОпераций0", КодыОперацийПеремещенияСклад);
*/
/*//Запрос.УстановитьПараметр("КодыОпераций1", КодыОперацийПередача);
*/
/*//Запрос.УстановитьПараметр("КодыОпераций2", КодыОперацийВозвратПереданных);
*/
/*//Запрос.УстановитьПараметр("КодыОпераций3", КодыОперацийПеремещенияПереданные);
*/
//Запрос.УстановитьПараметр("КодыОпераций0", КодыОперацийПеремещенияСклад);
//Запрос.УстановитьПараметр("КодыОпераций1", КодыОперацийПередача);
//Запрос.УстановитьПараметр("КодыОпераций2", КодыОперацийПередачаВЭксплуатацию);
//Запрос.УстановитьПараметр("КодыОпераций3", КодыОперацийВозвратПереданных);
//Запрос.УстановитьПараметр("КодыОпераций4", КодыОперацийПустойМассив);
/*//Перемещение внутри товаров переданных на комиссию
*/
//Запрос.УстановитьПараметр("КодыОпераций5", КодыОперацийПустойМассив);
/*//Перемещение из переданных на комиссию в эксплуатацию
*/
//Запрос.УстановитьПараметр("КодыОпераций6", КодыОперацийВозвратИзЭксплуатации);
//Запрос.УстановитьПараметр("КодыОпераций7", КодыОперацийПустойМассив);
/*//Перемещение из эксплуатации на комиссию
*/
//Запрос.УстановитьПараметр("КодыОпераций8", КодыОперацийПеремещенияВЭксплуатации);
//Запрос.УстановитьПараметр("ВидДвиженияРасход", ВидДвиженияНакопления.Расход);
//Запрос.УстановитьПараметр("ДатаНач", ДатаНач);
//Запрос.УстановитьПараметр("ДатаКон", ДатаКон);
//Запрос.УстановитьПараметр("Организация", СтруктураДопПараметров.Организация);
//Запрос.УстановитьПараметр("СписокИсключаемыхСчетовУчета", ПолучитьМассивИсключаемыхСчетов());
//Запрос.УстановитьПараметр("ИсключаемыеСтатусыПартий",ПолучитьМассивИсключаемыхСтатусовПартий());
//Таб=Запрос.Выполнить().Выгрузить();
/*// Удалим из таблицы строки, не соответствующие таблице товаров (если в ней есть несколько строк, то в запросе могут быть
*/
/*// другие комбинации значений в разных колонках)
*/
//СтруктураОтбора = Новый Структура;
if(true/*ТаблицаТоваров.Количество()>1*/)
{
//Инд=0;
while(true/*Инд < Таб.Количество()*/)
{
/*;
Строка = Таб[Инд];*/
if(true/*ТаблицаТоваров.НайтиСтроки(СтруктураОтбора).Количество()=0*/)
{
//Таб.Удалить(Строка);
}
}
//;;
}
return null;
}