R
RZX
Добрый день!
Нужна помощь профессионалов по такому вопросу:
Платформа 1С:Предприятие 8.2 релиз 8.2.12.80
Конфигурация Управление Торговлей для Беларуси 2.0 релиз 2.0.19.2
В документе РеализацияТоваровУслуг в печатной форме накладной ТТН-1 выртикальной бывает, что некоторые позиции разбиваются на две, т.е. в документе может быть 4-е строки, а в печатной форме 5, причем количество и сумма товаров в документе и печатной форме совпадают.
Например в документе так:
Товар Количество Цена Сумма
Наименование 1 3400 шт. 1,15 3910,00
Наименование 2 1740 шт. 1,20 2088,00
Наименование 3 1170 шт. 0,52 608,40
Наименование 4 2000 шт. 1,90 3800,00
А в печатной форме накладной этого же документа так:
Товар Количество Цена Сумма
Наименование 1 3400 шт. 1,15 3910,00
Наименование 2 1740 шт. 1,20 2088,00
Наименование 3 1170 шт. 0,52 608,40
Наименование 4 368 шт. 1,90 699,20
Наименование 4 1632 шт. 1,90 3100,80
Т.е. в сумме как бы все нормально, но в печатной форме - бред какой-то. Причем товары не разбиты на партии,
коэффициент везде 1, в настройках грузомест тоже ничего не указано.
С чем это связано???
Хотя иногда выдает правильно:
Если в документе так:
Товар Количество Цена Сумма
Наименование 1 3400 шт. 1,15 3910,00
Наименование 2 1740 шт. 1,20 2088,00
Наименование 3 1170 шт. 0,52 608,40
Наименование 4 500 шт. 1,90 950,00
то в печатной форме тоже все нормально.
В функции печати вначале есть строки:
И в первом случае (когда разбиваются позиции) КоличествоСтрок почему-то равно 5, а не 4.
Насколько я понял, то ошибка где-то в функции ПолучитьТаблицуДанныхТабличныхЧастейДляНакладных() - в ней выполняется запрос к табличной части документа.
Вот ее код:
Поэтому такой вопрос: как понять, где ошибка? На каком основании этот запрос возвращает 5 строк, а не 4 и разбивает позиции в накладной?
Спасибо!
Нужна помощь профессионалов по такому вопросу:
Платформа 1С:Предприятие 8.2 релиз 8.2.12.80
Конфигурация Управление Торговлей для Беларуси 2.0 релиз 2.0.19.2
В документе РеализацияТоваровУслуг в печатной форме накладной ТТН-1 выртикальной бывает, что некоторые позиции разбиваются на две, т.е. в документе может быть 4-е строки, а в печатной форме 5, причем количество и сумма товаров в документе и печатной форме совпадают.
Например в документе так:
Товар Количество Цена Сумма
Наименование 1 3400 шт. 1,15 3910,00
Наименование 2 1740 шт. 1,20 2088,00
Наименование 3 1170 шт. 0,52 608,40
Наименование 4 2000 шт. 1,90 3800,00
А в печатной форме накладной этого же документа так:
Товар Количество Цена Сумма
Наименование 1 3400 шт. 1,15 3910,00
Наименование 2 1740 шт. 1,20 2088,00
Наименование 3 1170 шт. 0,52 608,40
Наименование 4 368 шт. 1,90 699,20
Наименование 4 1632 шт. 1,90 3100,80
Т.е. в сумме как бы все нормально, но в печатной форме - бред какой-то. Причем товары не разбиты на партии,
коэффициент везде 1, в настройках грузомест тоже ничего не указано.
С чем это связано???
Хотя иногда выдает правильно:
Если в документе так:
Товар Количество Цена Сумма
Наименование 1 3400 шт. 1,15 3910,00
Наименование 2 1740 шт. 1,20 2088,00
Наименование 3 1170 шт. 0,52 608,40
Наименование 4 500 шт. 1,90 950,00
то в печатной форме тоже все нормально.
В функции печати вначале есть строки:
Код:
Функция ПечатьТТН_1(ВертикальнаяФорма = Ложь, СПриложением = Ложь)
....
ТаблицаТоваров = ПолучитьТаблицуДанныхТабличныхЧастейДляНакладных();
КоличествоСтрок = ТаблицаТоваров.Количество();
...
КонецФункции
И в первом случае (когда разбиваются позиции) КоличествоСтрок почему-то равно 5, а не 4.
Насколько я понял, то ошибка где-то в функции ПолучитьТаблицуДанныхТабличныхЧастейДляНакладных() - в ней выполняется запрос к табличной части документа.
Вот ее код:
Код:
Функция ПолучитьТаблицуДанныхТабличныхЧастейДляНакладных()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ВложенныйЗапрос.Номенклатура,
| ЕСТЬNULL(ВложенныйЗапрос.ПредприятиеИзготовитель, """") КАК ПредприятиеИзготовитель,
| ВложенныйЗапрос.ЕдиницаИзмерения.Представление КАК ЕдиницаИзмерения,
| ЕСТЬNULL(ВложенныйЗапрос.ВидУпаковки, ""н/у"") КАК ВидУпаковки,
| ЕСТЬNULL(ВложенныйЗапрос.КоличествоВОдномМесте, ""-"") КАК КоличествоВОдномМесте,
| ВложенныйЗапрос.КоличествоМест КАК КоличествоМест,
| ВложенныйЗапрос.МассаБрутто,
| ВложенныйЗапрос.СтавкаНДС,
| ВложенныйЗапрос.Цена,
| ВложенныйЗапрос.Сумма,
| ВложенныйЗапрос.СуммаНДС,
| ВложенныйЗапрос.Количество,
| ВложенныйЗапрос.ЦенаИмпортераИзготовителя,
| ВложенныйЗапрос.Номенклатура.НаименованиеПолное КАК НаименованиеТовара,
| ВложенныйЗапрос.ДокументОприходования КАК Партия,
| ВложенныйЗапрос.ХарактеристикаНоменклатуры,
| ВложенныйЗапрос.СерияНоменклатуры,
| ЕСТЬNULL(ПрейскурантПартииСрезПоследних.Прейскурант.Представление, """") КАК Прейскурант,
| ЕСТЬNULL(ВложенныйЗапрос.Номенклатура.НоменклатурнаяГруппа.Наименование, """") КАК
НоменклатурнаяГруппа,
| ВЫБОР
| КОГДА
ВложенныйЗапрос.Реализация.ДоговорКонтрагента.ВыводитьСертификатВСГрузомСледуютД
окументы
| ТОГДА ЕСТЬNULL(ВложенныйЗапрос.СерияНоменклатуры.Сертификат, """")
| ИНАЧЕ """"
| КОНЕЦ КАК Сертификат,
| ВЫБОР
| КОГДА ВложенныйЗапрос.Реализация.ДоговорКонтрагента.ВыводитьГТДВСГрузомСледуютДокумент
ы
| ТОГДА ЕСТЬNULL(ВложенныйЗапрос.СерияНоменклатуры.НомерГТД, """")
| ИНАЧЕ """"
| КОНЕЦ КАК НомерГТД,
| ВложенныйЗапрос.СтавкаНП,
| ВложенныйЗапрос.СуммаНП,
| ЕСТЬNULL(ВложенныйЗапрос.Номенклатура.Артикул, """") КАК Артикул,
| ВложенныйЗапрос.НомерСтроки КАК НомерСтроки,
| 0 КАК НомерТабличнойЧасти,
| ВложенныйЗапрос.ЦенаСоСкидкой,
| ВложенныйЗапрос.ПроцентСкидкиНаценки
|ИЗ
| (ВЫБРАТЬ
| Реализация.Номенклатура КАК Номенклатура,
| Реализация.Номенклатура.ПредприятиеИзготовитель.Представление КАК ПредприятиеИзготовитель,
| Реализация.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| Реализация.ЕдиницаИзмеренияМест.Представление КАК ВидУпаковки,
| СУММА(ВЫРАЗИТЬ(Реализация.ЕдиницаИзмеренияМест.Коэффициент / Реализация.Коэффициент КАК
ЧИСЛО(15, 0))) КАК КоличествоВОдномМесте,
| СУММА(ВЫРАЗИТЬ(Реализация.КоличествоМест / Реализация.Количество * ПартииТоваров.Количество
КАК ЧИСЛО(15, 0))) КАК КоличествоМест,
| СУММА(ВЫБОР
| КОГДА Реализация.КоличествоМест > 0
| ТОГДА ВЫРАЗИТЬ(Реализация.КоличествоМест / Реализация.Количество *
ПартииТоваров.Количество / Реализация.Количество * ПартииТоваров.Количество / Реализация.Коэффициент *
Реализация.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент * Реализация.ЕдиницаИзмеренияМест.Вес / 1000 КАК
ЧИСЛО(15, 3))
| ИНАЧЕ ВЫРАЗИТЬ(ПартииТоваров.Количество / Реализация.Коэффициент *
Реализация.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент * Реализация.ЕдиницаИзмерения.Вес / 1000 КАК ЧИСЛО(15,
3))
| КОНЕЦ) КАК МассаБрутто,
| Реализация.СтавкаНДС КАК СтавкаНДС,
| Реализация.Цена КАК Цена,
| СУММА(ВЫРАЗИТЬ(Реализация.Сумма / Реализация.Количество *
Реализация.ЕдиницаИзмерения.Коэффициент / Реализация.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент *
ПартииТоваров.Количество КАК ЧИСЛО(15, 2))) КАК Сумма,
| СУММА(ВЫРАЗИТЬ(Реализация.СуммаНДС / Реализация.Количество *
Реализация.ЕдиницаИзмерения.Коэффициент / Реализация.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент *
ПартииТоваров.Количество КАК ЧИСЛО(15, 2))) КАК СуммаНДС,
| СУММА(ПартииТоваров.Количество) КАК Количество,
| ВЫБОР
| КОГДА
Реализация.Ссылка.ДоговорКонтрагента.ИспользоватьЦенуИмпортераИзготовителяДокуме
нта
| ТОГДА Реализация.ЦенаИмпортераИзготовителя
| ИНАЧЕ ПартииТоваров.ЦенаИмпортераИзготовителя
| КОНЕЦ КАК ЦенаИмпортераИзготовителя,
| Реализация.Ссылка КАК Реализация,
| ПартииТоваров.ДокументОприходования КАК ДокументОприходования,
| Реализация.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
| Реализация.СерияНоменклатуры КАК СерияНоменклатуры,
| Реализация.СтавкаНП КАК СтавкаНП,
| СУММА(ВЫРАЗИТЬ(Реализация.СуммаНП / Реализация.Количество *
Реализация.ЕдиницаИзмерения.Коэффициент / Реализация.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент *
ПартииТоваров.Количество КАК ЧИСЛО(15, 2))) КАК СуммаНП,
| Реализация.НомерСтроки КАК НомерСтроки,
| Реализация.ЦенаСоСкидкой КАК ЦенаСоСкидкой,
| ЕСТЬNULL(Реализация.ПроцентАвтоматическихСкидок, 0) +
ЕСТЬNULL(Реализация.ПроцентСкидкиНаценки, 0) КАК ПроцентСкидкиНаценки
| ИЗ
| РегистрНакопления.ПартииТоваровНаСкладах КАК ПартииТоваров
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.Товары КАК Реализация
| ПО ПартииТоваров.НомерСтрокиДокумента = Реализация.НомерСтроки
| ГДЕ
| Реализация.Ссылка = &Ссылка
| И ПартииТоваров.Регистратор = &Ссылка
| И ПартииТоваров.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
|
| СГРУППИРОВАТЬ ПО
| Реализация.СтавкаНДС,
| Реализация.ЕдиницаИзмеренияМест.Представление,
| Реализация.Номенклатура,
| Реализация.Номенклатура.ПредприятиеИзготовитель.Представление,
| Реализация.ЕдиницаИзмерения,
| Реализация.Цена,
| ПартииТоваров.ЦенаИмпортераИзготовителя,
| Реализация.Ссылка,
| ПартииТоваров.ДокументОприходования,
| Реализация.СерияНоменклатуры,
| Реализация.ХарактеристикаНоменклатуры,
| ВЫБОР
| КОГДА
Реализация.Ссылка.ДоговорКонтрагента.ИспользоватьЦенуИмпортераИзготовителяДокуме
нта
| ТОГДА Реализация.ЦенаИмпортераИзготовителя
| ИНАЧЕ ПартииТоваров.ЦенаИмпортераИзготовителя
| КОНЕЦ,
| Реализация.СтавкаНП,
| Реализация.НомерСтроки,
| Реализация.ЦенаСоСкидкой,
| ЕСТЬNULL(Реализация.ПроцентАвтоматическихСкидок, 0) +
ЕСТЬNULL(Реализация.ПроцентСкидкиНаценки, 0)) КАК ВложенныйЗапрос
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПрейскурантПартии.СрезПоследних(
| &МоментДокумента,
| ТипЦен = &ТипЦенДокумента
| И ЦельПриобретенияТовара = &ЦельПриобретенияДокумента) КАК
ПрейскурантПартииСрезПоследних
| ПО ВложенныйЗапрос.ДокументОприходования = ПрейскурантПартииСрезПоследних.Партия
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| РеализацияТоваровУслугУслуги.Номенклатура,
| """",
| РеализацияТоваровУслугУслуги.Номенклатура.БазоваяЕдиницаИзмерения,
| ""-"",
| ""-"",
| 0,
| 0,
| РеализацияТоваровУслугУслуги.СтавкаНДС,
| РеализацияТоваровУслугУслуги.Цена,
| РеализацияТоваровУслугУслуги.Сумма,
| РеализацияТоваровУслугУслуги.СуммаНДС,
| РеализацияТоваровУслугУслуги.Количество,
| 0,
| РеализацияТоваровУслугУслуги.Содержание,
| """",
| """",
| """",
| ЕСТЬNULL(РеализацияТоваровУслугУслуги.Номенклатура.Прейскурант.Представление, """"),
| """",
| """",
| """",
| РеализацияТоваровУслугУслуги.СтавкаНП,
| РеализацияТоваровУслугУслуги.СуммаНП,
| """",
| РеализацияТоваровУслугУслуги.НомерСтроки,
| 1,
| РеализацияТоваровУслугУслуги.ЦенаСоСкидкой,
| ЕСТЬNULL(РеализацияТоваровУслугУслуги.ПроцентСкидкиНаценки, 0)
|ИЗ
| Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслугУслуги
|ГДЕ
| РеализацияТоваровУслугУслуги.Ссылка = &Ссылка
|
|УПОРЯДОЧИТЬ ПО
| НомерТабличнойЧасти,
| НомерСтроки";
Запрос.УстановитьПараметр("Ссылка", Ссылка);
Запрос.УстановитьПараметр("МоментДокумента", Новый МоментВремени(Ссылка.Дата, Ссылка));
Запрос.УстановитьПараметр("ТипЦенДокумента", Ссылка.ТипЦен);
Запрос.УстановитьПараметр("ЦельПриобретенияДокумента", Ссылка.ЦельПриобретения);
Возврат Запрос.Выполнить().Выгрузить();
КонецФункции
Поэтому такой вопрос: как понять, где ошибка? На каком основании этот запрос возвращает 5 строк, а не 4 и разбивает позиции в накладной?
Спасибо!