Задваивается номенклатура

Внимание! Тема закрыта. Добавлять сообщения в закрытую тему запрещено.
1. nagaitseff 178 03.08.16 12:42 Сейчас в теме
Добрый день!
У меня такая проблема: при создании документа реализации, на основании заказа, происходит задвоение номенлатуры.
Но происходит это не везде, со старой номенлатурой все нормально, добавили новую позицию и с ней все началось. Конфигурация доработана сильно. Дорабатывалась многими людьми, концов и комментариев не найдешь.
Вот запрос:
ВЫБРАТЬ
 ЗаказПокупателяТовары.Номенклатура КАК Номенклатура,
 ЕСТЬNULL(ЗаказПокупателяТовары.Количество, 0) КАК КоличествоВЗаказе,
 ЕСТЬNULL(ТоварыНаСкладахОстаткиСкладВЗаказе.КоличествоОстаток, 0) КАК КоличествоСкладВЗаказе,
 ЕСТЬNULL(ТоварыНаСкладахОстаткиАлкоголь.КоличествоОстаток, 0) КАК КоличествоСкладАлкоголь,
 ЗаказПокупателяТовары.ЕдиницаИзмерения,
 ЗаказПокупателяТовары.ЕдиницаИзмеренияМест,
 ЗаказПокупателяТовары.КоличествоМест,
 ЗаказПокупателяТовары.Коэффициент,
 ЗаказПокупателяТовары.ПроцентСкидкиНаценки,
 ЗаказПокупателяТовары.ПлановаяСебестоимость,
 ЗаказПокупателяТовары.СтавкаНДС,
 ЗаказПокупателяТовары.Сумма,
 ЗаказПокупателяТовары.СчетУчетаБУ,
 ЗаказПокупателяТовары.СчетУчетаНУ,
 ЗаказПокупателяТовары.СуммаНДС,
 ЗаказПокупателяТовары.ХарактеристикаНоменклатуры,
 ЗаказПокупателяТовары.Цена,
 ЗаказПокупателяТовары.ПроцентАвтоматическихСкидок,
 ЗаказПокупателяТовары.УсловиеАвтоматическойСкидки,
 ЗаказПокупателяТовары.ЗначениеУсловияАвтоматическойСкидки,
 ЗаказПокупателяТовары.ПринятыеСчетУчетаБУ,
 ЗаказПокупателяТовары.ПринятыеСчетУчетаНУ,
 астСоответствиеНоменклатурыИНоменклатурыЕГАИС.НоменклатураЕГАИС
ПОМЕСТИТЬ ВТ_Осн
ИЗ
 Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары
  ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаОстатков, Склад = &СкладВЗаказе) КАК ТоварыНаСкладахОстаткиСкладВЗаказе
  ПО ЗаказПокупателяТовары.Номенклатура = ТоварыНаСкладахОстаткиСкладВЗаказе.Номенклатура
  ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаОстатков, Склад = &СкладАлкоголь) КАК ТоварыНаСкладахОстаткиАлкоголь
  ПО ЗаказПокупателяТовары.Номенклатура = ТоварыНаСкладахОстаткиАлкоголь.Номенклатура
  ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.астСоответствиеНоменклатурыИНоменклатурыЕГАИС КАК астСоответствиеНоменклатурыИНоменклатурыЕГАИС
  ПО ЗаказПокупателяТовары.Номенклатура = астСоответствиеНоменклатурыИНоменклатурыЕГАИС.Номенклатура
ГДЕ
 ЗаказПокупателяТовары.Ссылка.Ссылка = &Ссылка
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
 ВТ_Осн.Номенклатура,
 КатегорииОбъектов.Категория
ПОМЕСТИТЬ ВТ_Катег
ИЗ
 ВТ_Осн КАК ВТ_Осн
  ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КатегорииОбъектов КАК КатегорииОбъектов
  ПО ВТ_Осн.Номенклатура = КатегорииОбъектов.Объект
ГДЕ
 КатегорииОбъектов.Категория = &Категория
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
 ВТ_Осн.Номенклатура,
 ВТ_Осн.КоличествоВЗаказе,
 ВТ_Осн.КоличествоСкладВЗаказе,
 ВТ_Осн.КоличествоСкладАлкоголь,
 ВТ_Осн.ЕдиницаИзмерения,
 ВТ_Осн.ЕдиницаИзмеренияМест,
 ВТ_Осн.КоличествоМест,
 ВТ_Осн.Коэффициент,
 ВТ_Осн.ПроцентСкидкиНаценки,
 ВТ_Осн.ПлановаяСебестоимость,
 ВТ_Осн.СтавкаНДС,
 ВТ_Осн.Сумма,
 ВТ_Осн.СчетУчетаБУ,
 ВТ_Осн.СчетУчетаНУ,
 ВТ_Осн.СуммаНДС,
 ВТ_Осн.ХарактеристикаНоменклатуры,
 ВТ_Осн.Цена,
 ВТ_Осн.ПроцентАвтоматическихСкидок,
 ВТ_Осн.УсловиеАвтоматическойСкидки,
 ВТ_Осн.ЗначениеУсловияАвтоматическойСкидки,
 ВТ_Осн.ПринятыеСчетУчетаБУ,
 ВТ_Осн.ПринятыеСчетУчетаНУ,
 ВТ_Осн.НоменклатураЕГАИС,
 ЕСТЬNULL(ВТ_Катег.Категория, ЛОЖЬ) КАК Категория
ИЗ
 ВТ_Осн КАК ВТ_Осн
  ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Катег КАК ВТ_Катег
  ПО ВТ_Осн.Номенклатура = ВТ_Катег.Номенклатура
Показать


Есть какие-нибудь идеи?
Кстати, на копии базы все нормально работает, пробовал создать такую же номенклатуру, проверил текст запроса и там и там, все нормально.
Мыслей нет.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. inkine 03.08.16 13:18 Сейчас в теме
За двоение движений или чего, сразу к сожалению не понятно:(
4. nagaitseff 178 04.08.16 05:51 Сейчас в теме
(2) inkine, когда вставляю запрос в консоль запросов уже в результате запроса из документа заказа, новая номенлатура задвоена, старая в запрос попадает нормально
3. dmt 66 03.08.16 13:28 Сейчас в теме
А характеристики или серии используете?
5. nagaitseff 178 04.08.16 05:55 Сейчас в теме
(3) dmt, нет ни серий ни характеристик
6. loki03 04.08.16 06:26 Сейчас в теме
Проверь в консоли второй запрос.
вот стопудов категория задвоена.
а от нее уже дальше пошло...
7. nagaitseff 178 04.08.16 06:59 Сейчас в теме
(6) loki03, в смысле второй? внутренний?
8. loki03 04.08.16 07:01 Сейчас в теме
Да.
Скорее всего категория задвоена.
ВЫБРАТЬ
 ВТ_Осн.Номенклатура,
 КатегорииОбъектов.Категория
ПОМЕСТИТЬ ВТ_Катег
ИЗ
 ВТ_Осн КАК ВТ_Осн
  ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КатегорииОбъектов КАК КатегорииОбъектов
  ПО ВТ_Осн.Номенклатура = КатегорииОбъектов.Объект
ГДЕ
 КатегорииОбъектов.Категория = &Категория
Показать
9. nagaitseff 178 04.08.16 07:35 Сейчас в теме
(8) loki03, неа, я поместил в консоль запросов первую часть запроса, выбрал чтобы он не выводился во временную таблицу и первая часть задваивает номенклатуру, но не всю, только новой позиции справочника.
ВЫБРАТЬ
	ЗаказПокупателяТовары.Номенклатура КАК Номенклатура,
	ЕСТЬNULL(ЗаказПокупателяТовары.Количество, 0) КАК КоличествоВЗаказе,
	ЕСТЬNULL(ТоварыНаСкладахОстаткиСкладВЗаказе.КоличествоОстаток, 0) КАК КоличествоСкладВЗаказе,
	ЕСТЬNULL(ТоварыНаСкладахОстаткиАлкоголь.КоличествоОстаток, 0) КАК КоличествоСкладАлкоголь,
	ЗаказПокупателяТовары.ЕдиницаИзмерения,
	ЗаказПокупателяТовары.ЕдиницаИзмеренияМест,
	ЗаказПокупателяТовары.КоличествоМест,
	ЗаказПокупателяТовары.Коэффициент,
	ЗаказПокупателяТовары.ПроцентСкидкиНаценки,
	ЗаказПокупателяТовары.ПлановаяСебестоимость,
	ЗаказПокупателяТовары.СтавкаНДС,
	ЗаказПокупателяТовары.Сумма,
	ЗаказПокупателяТовары.СчетУчетаБУ,
	ЗаказПокупателяТовары.СчетУчетаНУ,
	ЗаказПокупателяТовары.СуммаНДС,
	ЗаказПокупателяТовары.ХарактеристикаНоменклатуры,
	ЗаказПокупателяТовары.Цена,
	ЗаказПокупателяТовары.ПроцентАвтоматическихСкидок,
	ЗаказПокупателяТовары.УсловиеАвтоматическойСкидки,
	ЗаказПокупателяТовары.ЗначениеУсловияАвтоматическойСкидки,
	ЗаказПокупателяТовары.ПринятыеСчетУчетаБУ,
	ЗаказПокупателяТовары.ПринятыеСчетУчетаНУ,
	астСоответствиеНоменклатурыИНоменклатурыЕГАИС.НоменклатураЕГАИС
ИЗ
	Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаОстатков, Склад = &СкладВЗаказе) КАК ТоварыНаСкладахОстаткиСкладВЗаказе
		ПО ЗаказПокупателяТовары.Номенклатура = ТоварыНаСкладахОстаткиСкладВЗаказе.Номенклатура
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаОстатков, Склад = &СкладАлкоголь) КАК ТоварыНаСкладахОстаткиАлкоголь
		ПО ЗаказПокупателяТовары.Номенклатура = ТоварыНаСкладахОстаткиАлкоголь.Номенклатура
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.астСоответствиеНоменклатурыИНоменклатурыЕГАИС КАК астСоответствиеНоменклатурыИНоменклатурыЕГАИС
		ПО ЗаказПокупателяТовары.Номенклатура = астСоответствиеНоменклатурыИНоменклатурыЕГАИС.Номенклатура
ГДЕ
               ЗаказПокупателяТовары.Ссылка.Ссылка = &Ссылка
Показать


получается вот такой результат.

СИДР фрукт. газ МАРТИ РЭЙ со вкусом ЛИМОНА 0,5л 6% ж/б (24) Дал
СИДР фрукт. газ МАРТИ РЭЙ со вкусом ЛИМОНА 0,5л 6% ж/б (24) Дал

СИДР фрукт. газ МАРТИ РЭЙ со вкусом ВИШНИ 0,5л 6% ж/б (24) Дал
СИДР фрукт. газ ТЕН СТРАЙК ДАРК со вкусом ЛЕСНЫХ ЯГОД 0,5л 6% ж/б (24) Дал
10. dmt 66 04.08.16 07:40 Сейчас в теме
(9) nagaitseff, выведи результат запроса по всем измерениям по каждому из регистров справа.
nagaitseff; +1 Ответить
12. nagaitseff 178 04.08.16 10:07 Сейчас в теме
(10) dmt, спасибо, дал хорошее направление, проблема оказалась в соединении
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.астСоответствиеНоменклатурыИНоменклатурыЕГАИС КАК астСоответствиеНоменклатурыИНоменклатурыЕГАИС
        ПО ЗаказПокупателяТовары.Номенклатура = астСоответствиеНоменклатурыИНоменклатурыЕГАИС.Номенклатура


Исправил на
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.астСоответствиеНоменклатурыИНоменклатурыЕГАИС КАК астСоответствиеНоменклатурыИНоменклатурыЕГАИС
        ПО ЗаказПокупателяТовары.Номенклатура = астСоответствиеНоменклатурыИНоменклатурыЕГАИС.НоменклатураЕГАИС


Задвоение пропало, всем большое спасибо.
11. loki03 04.08.16 09:36 Сейчас в теме
тогда сюда смотри:
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаОстатков, Склад = &СкладВЗаказе) КАК ТоварыНаСкладахОстаткиСкладВЗаказе
        ПО ЗаказПокупателяТовары.Номенклатура = ТоварыНаСкладахОстаткиСкладВЗаказе.Номенклатура
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаОстатков, Склад = &СкладАлкоголь) КАК ТоварыНаСкладахОстаткиАлкоголь
        ПО ЗаказПокупателяТовары.Номенклатура = ТоварыНаСкладахОстаткиАлкоголь.Номенклатура
  


склады одинаковые?
13. nagaitseff 178 04.08.16 10:07 Сейчас в теме
(11) loki03, было чуть ниже

ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.астСоответствиеНоменклатурыИНоменклатурыЕГАИС КАК астСоответствиеНоменклатурыИНоменклатурыЕГАИС
        ПО ЗаказПокупателяТовары.Номенклатура = астСоответствиеНоменклатурыИНоменклатурыЕГАИС.Номенклатура
14. nagaitseff 178 04.08.16 10:09 Сейчас в теме
Из одной строчки кода шло почти все наперекосяк, спасибо всем большое еще раз. И правда: "Одна голова - хорошо, а много - еще лучше!"

Тему можно закрывать.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот