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