public void ТоварыПереданныеКонтрольОстатков_ВозвратТоваровОтПокупателя(/*СтруктураШапкиДокумента, СтруктураПараметров, МетаданныеТабЧасти, Заголовок, Отказ*/)
{
//ЕстьСерия = МетаданныеТабЧасти.Реквизиты.Найти("СерияНоменклатуры") <> Неопределено;
//ЕстьХарактеристика = МетаданныеТабЧасти.Реквизиты.Найти("ХарактеристикаНоменклатуры") <> Неопределено;
//ЕстьКоэффициент = МетаданныеТабЧасти.Реквизиты.Найти("Коэффициент") <> Неопределено;
//ЕстьСуммаВключаетНДС = СтруктураПараметров.МетаданныеДокумента.Реквизиты.Найти("СуммаВключаетНДС") <> Неопределено;
if(true/*СтруктураПараметров.МетаданныеДокумента.Реквизиты.Найти("Заказ") <> Неопределено*/)
{
//ИмяЗаказа = "Заказ";
}
/*// Для документ "Переоценка товаров, отданных на комиссию" должен контролировать реквизит "Сумма старая",
*/
/*// остальные документы - "Сумма".
*/
//ИмяСуммы = "Док.Сумма";
if(true/*СтруктураПараметров.ИмяТабличнойЧасти = "Товары"*/)
{
if(true/*ОбщегоНазначения.ЕстьРеквизитТабЧастиДокумента("СуммаСтарая", СтруктураПараметров.МетаданныеДокумента, СтруктураПараметров.ИмяТабличнойЧасти)*/)
{
//ИмяСуммыНДС = "";
}
//ИмяСуммы = ?(ЕстьСуммаВключаетНДС И Не СтруктураШапкиДокумента.СуммаВключаетНДС И Не ПустаяСтрока(ИмяСуммыНДС), "(" + ИмяСуммы + "+" + ИмяСуммыНДС + ")", ИмяСуммы);
}
//ИмяСуммы = ИмяСуммы + " * &КратностьВзаиморасчетов * &КурсДокумента / &КурсВзаиморасчетов / &КратностьДокумента";
/*// Текст вложенного запроса, ограничивающего номенклатуру при получении остатков
*/
/*ТекстЗапросаСписокНоменклатуры = "
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| Номенклатура
|ИЗ
| Документ." + СтруктураПараметров.ИмяТаблицы + "
|ГДЕ Ссылка = &ДокументСсылка";*/
//Запрос = Новый Запрос;
/*// Установим параметры запроса
*/
//Запрос.УстановитьПараметр("ДокументСсылка", СтруктураШапкиДокумента.Ссылка);
//Запрос.УстановитьПараметр("ДоговорКонтрагента", СтруктураШапкиДокумента.ДоговорКонтрагента);
//Запрос.УстановитьПараметр("СтатусПередачи", СтруктураПараметров.СтатусПередачи);
//Запрос.УстановитьПараметр("КурсДокумента", ЗаполнениеДокументов.КурсДокумента(СтруктураШапкиДокумента.Ссылка, глЗначениеПеременной("ВалютаРегламентированногоУчета")));
//Запрос.УстановитьПараметр("КратностьДокумента", ЗаполнениеДокументов.КратностьДокумента(СтруктураШапкиДокумента.Ссылка, глЗначениеПеременной("ВалютаРегламентированногоУчета")));
//Запрос.УстановитьПараметр("КурсВзаиморасчетов", СтруктураШапкиДокумента.КурсВзаиморасчетов);
//Запрос.УстановитьПараметр("КратностьВзаиморасчетов", СтруктураШапкиДокумента.КратностьВзаиморасчетов);
//Запрос.УстановитьПараметр("Сделка", СтруктураШапкиДокумента.Сделка);
//ПустыеЗаказы = ОбщегоНазначения.МассивПустыхЗначений(МетаданныеТабЧасти.Реквизиты.ЗаказПокупателя.Тип);
//Запрос.УстановитьПараметр("ПустыеЗаказы", ПустыеЗаказы);
/*ТекстЗапроса = "
|ВЫБРАТЬ // Запрос, контролирующий остатки на складах
| Док.Номенклатура.Представление КАК НоменклатураПредставление,
| Док.Номенклатура.ЕдиницаХраненияОстатков.Представление КАК ЕдиницаХраненияОстатковПредставление,
| //СТРОКАЗАКАЗА
| //СТРОКАПРЕДСТАВЛЕНИЯЗАКАЗА
| %ПОЛЕ_Док_Характеристика% КАК ХарактеристикаНоменклатуры,
| %ПОЛЕ_Док_СерияНоменклатуры% КАК СерияНоменклатуры,
| %ПОЛЕ_Док_Количество% КАК ДокументКоличество,
| ЕСТЬNULL(МАКСИМУМ(Остатки.КоличествоОстаток), 0) КАК ОстатокКоличество,
| СУММА(ВЫРАЗИТЬ(" + ИмяСуммы + " КАК Число(15,2))) КАК ДокументСумма,
| ЕСТЬNULL(МАКСИМУМ(Остатки.СуммаВзаиморасчетовОстаток), 0) КАК ОстатокСумма
|ИЗ
| Документ." + СтруктураПараметров.ИмяТаблицы + " КАК Док
|
|ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрНакопления.ТоварыПереданные.Остатки(,
| Номенклатура В (%ВыборкаПоНоменклатуре%)
| И ДоговорКонтрагента = &ДоговорКонтрагента
| И СтатусПередачи = &СтатусПередачи) КАК Остатки
|ПО
| Док.Номенклатура = Остатки.Номенклатура
| //СОЕДИНЕНИЕ_Заказ_Остатки
| //СОЕДИНЕНИЕ_Характеристика_Остатки
| //СОЕДИНЕНИЕ_Серия_Остатки
|
|ГДЕ
| Док.Ссылка = &ДокументСсылка
|
|СГРУППИРОВАТЬ ПО
| Док.Номенклатура,
| %ПОЛЕ_Док_Заказ%
| %ПОЛЕ_Док_Характеристика%,
| %ПОЛЕ_Док_СерияНоменклатуры%
|
|//ИМЕЮЩИЕ ЕСТЬNULL(МАКСИМУМ(Остатки.КоличествоОстаток), 0) < СУММА(Док.Количество)
|// ИЛИ ЕСТЬNULL(МАКСИМУМ(Остатки.СуммаВзаиморасчетовОстаток), 0) < СУММА(" + ИмяСуммы + ")
|
|ДЛЯ ИЗМЕНЕНИЯ РегистрНакопления.ТоварыПереданные.Остатки // Блокирующие чтение таблицы остатков регистра для разрешения коллизий многопользовательской работы
|";*/
/*// Преобразуем текст запроса
*/
//ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "%ВыборкаПоНоменклатуре%", ТекстЗапросаСписокНоменклатуры);
/*ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "%ПОЛЕ_Док_Количество%", ?(ЕстьКоэффициент,
"СУММА(Док.Количество * Док.Коэффициент /Док.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент)",
"СУММА(Док.Количество)"));*/
if(true/*ЕстьХарактеристика*/)
{
//ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "%ПОЛЕ_Док_Характеристика%", "Док.ХарактеристикаНоменклатуры");
//ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "//СОЕДИНЕНИЕ_Характеристика_Остатки", "И Док.ХарактеристикаНоменклатуры = Остатки.ХарактеристикаНоменклатуры");
}
if(true/*ЕстьСерия*/)
{
//ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "%ПОЛЕ_Док_СерияНоменклатуры%", "Док.СерияНоменклатуры");
//ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "//СОЕДИНЕНИЕ_Серия_Остатки", "И Док.СерияНоменклатуры = Остатки.СерияНоменклатуры");
}
if(true/*СтруктураШапкиДокумента.ВедениеВзаиморасчетов = Перечисления.ВедениеВзаиморасчетовПоДоговорам.ПоДоговоруВЦелом*/)
{
//ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "//СОЕДИНЕНИЕ_Заказ_Остатки", " И ВЫБОР КОГДА Док.ЗаказПокупателя = ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка) ТОГДА Неопределено ИНАЧЕ Док.ЗаказПокупателя КОНЕЦ = Остатки.Сделка");
//ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "//СТРОКАЗАКАЗА"," Док.ЗаказПокупателя КАК Заказ,");
//ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "//СТРОКАПРЕДСТАВЛЕНИЯЗАКАЗА", "ПРЕДСТАВЛЕНИЕ(Док.ЗаказПокупателя) КАК ЗаказПредставление,");
//ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "%ПОЛЕ_Док_Заказ%", " Док.ЗаказПокупателя,");
}
if(true/*глЗначениеПеременной("ИспользоватьБлокировкуДанных")*/)
{
/*Запрос.Текст =
"ВЫБРАТЬ
|Док.Номенклатура КАК Номенклатура"
+ ?(ЕстьХарактеристика, ", Док.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры ","")
+ "
|ИЗ
| Документ." + СтруктураПараметров.ИмяТаблицы + " КАК Док
|
|ГДЕ
| Док.Ссылка = &ДокументСсылка";*/
//РезультатЗапросаДляБлокировки = Запрос.Выполнить();
if(true/*НЕ РезультатЗапросаДляБлокировки.Пустой()*/)
{
/*СтруктураПараметровБлокировки = Новый Структура(
"ТипТаблицы,ИмяТаблицы,ИсточникДанных"
,"РегистрНакопления"
,"ТоварыПереданные"
,РезультатЗапросаДляБлокировки);*/
/*СтруктураЗначенийБлокировки = Новый Структура(
"ДоговорКонтрагента, СтатусПередачи"
, СтруктураШапкиДокумента.ДоговорКонтрагента
, СтруктураПараметров.СтатусПередачи);*/
//СтруктураИсточникаДанных = Новый Структура("Номенклатура", "Номенклатура");
if(true/*ЕстьХарактеристика*/)
{
//СтруктураИсточникаДанных.Вставить("ХарактеристикаНоменклатуры","ХарактеристикаНоменклатуры");
}
//ОбщегоНазначения.УстановитьУправляемуюБлокировку(СтруктураПараметровБлокировки,СтруктураЗначенийБлокировки,СтруктураИсточникаДанных, Отказ, Заголовок);
}
}
//Запрос.Текст = ТекстЗапроса;
//Выборка = Запрос.Выполнить().Выбрать();
while(true/*Выборка.Следующий()*/)
{
/*//КоличествоОстаток = ?(Выборка.ОстатокКоличество = NULL, 0, Выборка.ОстатокКоличество);
*/
if(true/*Выборка.ОстатокКоличество < Выборка.ДокументКоличество*/)
{
/*СтрокаСообщения = "Остатка " +
УправлениеЗапасами.ПредставлениеНоменклатуры(Выборка.НоменклатураПредставление,
?(ЕстьХарактеристика, Выборка.ХарактеристикаНоменклатуры, ""), ?(ЕстьСерия, Выборка.СерияНоменклатуры, "")) +
" переданного по договору """ + СокрЛП(СтруктураШапкиДокумента.ДоговорКонтрагента) + ?(НЕ ЗначениеЗаполнено(Выборка.Заказ), "", " и по заказу " + Выборка.ЗаказПредставление) +
""" недостаточно.";*/
/*УправлениеЗапасами.ОшибкаНетОстатка(СтрокаСообщения, Выборка.ОстатокКоличество, Выборка.ДокументКоличество,
Выборка.ЕдиницаХраненияОстатковПредставление, Отказ, Заголовок);*/
}
/*//СуммаОстаток = ?(Выборка.ОстатокСумма = NULL, 0, Выборка.ОстатокСумма);
*/
if(true/*Выборка.ОстатокСумма < Выборка.ДокументСумма*/)
{
/*СтрокаСообщения = "Остатка суммы взаиморасчетов по товару " +
УправлениеЗапасами.ПредставлениеНоменклатуры(Выборка.НоменклатураПредставление,
?(ЕстьХарактеристика, Выборка.ХарактеристикаНоменклатуры, ""), ?(ЕстьСерия, Выборка.СерияНоменклатуры, "")) +
" переданному по договору """ + СокрЛП(СтруктураШапкиДокумента.ДоговорКонтрагента) + ?(НЕ ЗначениеЗаполнено(Выборка.Заказ), "", " и по заказу " + Выборка.ЗаказПредставление) +
""" недостаточно.";*/
/*УправлениеЗапасами.ОшибкаНетОстатка(СтрокаСообщения, Выборка.ОстатокСумма, Выборка.ДокументСумма,
СтруктураШапкиДокумента.ВалютаВзаиморасчетов, Отказ, Заголовок);*/
}
}
//;;
}