Почему может двоиться строка

1. YA_1130000046249084 15.10.20 11:22 Сейчас в теме
Двоится строка Сазан, по столбцу КоличествоНачальныйОстаток, я понимаю, что что-то с периодам не так, но не могу точно понять где ошибка
Прикрепленные файлы:
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. YA_1130000046249084 15.10.20 11:22 Сейчас в теме
Функция СведенияОВнешнейОбработке() Экспорт
    
    ИмяОтчета = ЭтотОбъект.Метаданные().Имя; 
    Синоним = ЭтотОбъект.Метаданные().Синоним; 
    Синоним = ?(ЗначениеЗаполнено(Синоним),Синоним, ИмяОтчета);         
    РегистрационныеДанные = Новый Структура;
    РегистрационныеДанные.Вставить("Вид","ДополнительныйОтчет"); //может быть – ПечатнаяФорма, ЗаполнениеОбъекта (для вн.обработки), ДополнительныйОтчет, СозданиеСвязанныхОбъектов… 
    РегистрационныеДанные.Вставить("Наименование", Синоним); //имя под которым обработка будет зарегестрирована в справочнике внешних обработок
    РегистрационныеДанные.Вставить("Версия", "1.0");
    РегистрационныеДанные.Вставить("БезопасныйРежим", Ложь);
    РегистрационныеДанные.Вставить("Информация", "Отчет "+Синоним); //так будет выглядеть описание вн.отчета для пользователя
    
    ТаблицаКоманд = ПолучитьТаблицуКоманд();
    
    // Добавим команду в таблицу
    ДобавитьКоманду(ТаблицаКоманд, Синоним, "СформироватьОтчет" , "ОткрытиеФормы", Истина, );
        
    // Сохраним таблицу команд в параметры регистрации обработки
    РегистрационныеДанные.Вставить("Команды", ТаблицаКоманд);
    
    Возврат РегистрационныеДанные;
                                       
КонецФункции

Функция ПолучитьТаблицуКоманд()
    
    // Создадим пустую таблицу команд и колонки в ней
    Команды = Новый ТаблицаЗначений;

    // Как будет выглядеть описание печатной формы для пользователя
    Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка")); 

    // Имя нашего макета, что бы могли отличить вызванную команду в обработке печати
    Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));

    // Тут задается, как должна вызваться команда обработки
    // Возможные варианты:
    // - ОткрытиеФормы - в этом случае в колонке идентификатор должно быть указано имя формы, которое должна будет открыть система
    // - ВызовКлиентскогоМетода - вызвать клиентскую экспортную процедуру из модуля формы обработки
    // - ВызовСерверногоМетода - вызвать серверную экспортную процедуру из модуля объекта обработки
    Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));

    // Следующий параметр указывает, необходимо ли показывать оповещение при начале и завершению работы обработки. Не имеет смысла при открытии формы
    Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));

    // Для печатной формы должен содержать строку ПечатьMXL 
    Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
    Возврат Команды;
   
КонецФункции

Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование = "ОткрытиеФормы", ПоказыватьОповещение = Ложь, Модификатор = "ПечатьMXL")
    
    // Добавляем команду в таблицу команд по переданному описанию.
    // Параметры и их значения можно посмотреть в функции ПолучитьТаблицуКоманд
    НоваяКоманда = ТаблицаКоманд.Добавить();
    НоваяКоманда.Представление = Представление;
    НоваяКоманда.Идентификатор = Идентификатор;
    НоваяКоманда.Использование = Использование;
    НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
    НоваяКоманда.Модификатор = Модификатор;

КонецПроцедуры 
Показать
3. YA_1130000046249084 15.10.20 11:23 Сейчас в теме
В компоновке данных

ВЫБРАТЬ
	СборкаЗапасовПродукция.Номенклатура КАК Сырье,
	СУММА(СборкаЗапасовПродукция.Количество) КАК КоличествоЗатраченоСырья,
	СборкаЗапасовПродукция.Ссылка КАК Ссылка
ПОМЕСТИТЬ ВТ_Сырье
ИЗ
	Документ.СборкаЗапасов.Продукция КАК СборкаЗапасовПродукция
ГДЕ
	СборкаЗапасовПродукция.Ссылка.Проведен
	И ВЫБОР
			КОГДА &ДатаОкончания = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
				ТОГДА СборкаЗапасовПродукция.Ссылка.Дата >= &ДатаНачала
			ИНАЧЕ СборкаЗапасовПродукция.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
		КОНЕЦ
	И СборкаЗапасовПродукция.Ссылка.ВидОперации = &ВидОперацииРазборка

СГРУППИРОВАТЬ ПО
	СборкаЗапасовПродукция.Номенклатура,
	СборкаЗапасовПродукция.Ссылка

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	СборкаЗапасовЗапасы.Номенклатура,
	СУММА(СборкаЗапасовЗапасы.Количество),
	СборкаЗапасовЗапасы.Ссылка
ИЗ
	Документ.СборкаЗапасов.Запасы КАК СборкаЗапасовЗапасы
ГДЕ
	СборкаЗапасовЗапасы.Ссылка.Проведен
	И ВЫБОР
			КОГДА &ДатаОкончания = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
				ТОГДА СборкаЗапасовЗапасы.Ссылка.Дата >= &ДатаНачала
			ИНАЧЕ СборкаЗапасовЗапасы.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
		КОНЕЦ
	И СборкаЗапасовЗапасы.Ссылка.ВидОперации = &ВидОперацииСборка

СГРУППИРОВАТЬ ПО
	СборкаЗапасовЗапасы.Номенклатура,
	СборкаЗапасовЗапасы.Ссылка
;

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

СГРУППИРОВАТЬ ПО
	СборкаЗапасовПродукция.Номенклатура,
	СборкаЗапасовПродукция.Ссылка

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	СборкаЗапасовЗапасы.Номенклатура,
	СУММА(СборкаЗапасовЗапасы.Количество),
	СборкаЗапасовЗапасы.Ссылка
ИЗ
	Документ.СборкаЗапасов.Запасы КАК СборкаЗапасовЗапасы
ГДЕ
	СборкаЗапасовЗапасы.Ссылка.Проведен
	И ВЫБОР
			КОГДА &ДатаОкончания = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
				ТОГДА СборкаЗапасовЗапасы.Ссылка.Дата >= &ДатаНачала
			ИНАЧЕ СборкаЗапасовЗапасы.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
		КОНЕЦ
	И СборкаЗапасовЗапасы.Ссылка.ВидОперации = &ВидОперацииРазборка

СГРУППИРОВАТЬ ПО
	СборкаЗапасовЗапасы.Номенклатура,
	СборкаЗапасовЗапасы.Ссылка
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ЗапасыОстаткиИОбороты.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток,
	ЗапасыОстаткиИОбороты.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток,
	ЗапасыОстаткиИОбороты.Номенклатура КАК Номенклатура
ПОМЕСТИТЬ ВтОстатки
ИЗ
	РегистрНакопления.Запасы.ОстаткиИОбороты(, , , , ) КАК ЗапасыОстаткиИОбороты
ГДЕ
	ЗапасыОстаткиИОбороты.СчетУчета <> &СчетУчета
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	Продажи.Номенклатура КАК Номенклатура,
	СУММА(Продажи.Количество) КАК КоличествоПродажи
ПОМЕСТИТЬ ВТПродажи
ИЗ
	РегистрНакопления.Продажи КАК Продажи
ГДЕ
	ВЫБОР
			КОГДА &ДатаОкончания = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
				ТОГДА Продажи.Период >= &ДатаНачала
			ИНАЧЕ Продажи.Период МЕЖДУ &ДатаНачала И &ДатаОкончания
		КОНЕЦ

СГРУППИРОВАТЬ ПО
	Продажи.Номенклатура
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	Запасы.Номенклатура КАК Номенклатура,
	СУММА(Запасы.Количество) КАК КоличествоСписание
ПОМЕСТИТЬ ВТ_Списание
ИЗ
	РегистрНакопления.Запасы КАК Запасы
ГДЕ
	Запасы.ХозяйственнаяОперация.Наименование = "Списание на расходы"
	И ВЫБОР
			КОГДА &ДатаОкончания = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
				ТОГДА Запасы.Период >= &ДатаНачала
			ИНАЧЕ Запасы.Период МЕЖДУ &ДатаНачала И &ДатаОкончания
		КОНЕЦ

СГРУППИРОВАТЬ ПО
	Запасы.Номенклатура
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	Запасы.Номенклатура КАК Номенклатура,
	СУММА(Запасы.Количество) КАК КоличествоПеремещение
ПОМЕСТИТЬ ВТ_Перемещение
ИЗ
	РегистрНакопления.Запасы КАК Запасы
ГДЕ
	Запасы.ХозяйственнаяОперация.Наименование = "Перемещение"
	И Запасы.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
	И ВЫБОР
			КОГДА &ДатаОкончания = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
				ТОГДА Запасы.Период >= &ДатаНачала
			ИНАЧЕ Запасы.Период МЕЖДУ &ДатаНачала И &ДатаОкончания
		КОНЕЦ

СГРУППИРОВАТЬ ПО
	Запасы.Номенклатура
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	Запасы.Номенклатура КАК Номенклатура,
	СУММА(Запасы.Количество) КАК КоличествоВозврат
ПОМЕСТИТЬ ВТ_Возврат
ИЗ
	РегистрНакопления.Запасы КАК Запасы
ГДЕ
	Запасы.ХозяйственнаяОперация.Наименование = "Возврат от покупателя"
	И Запасы.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
	И ВЫБОР
			КОГДА &ДатаОкончания = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
				ТОГДА Запасы.Период >= &ДатаНачала
			ИНАЧЕ Запасы.Период МЕЖДУ &ДатаНачала И &ДатаОкончания
		КОНЕЦ

СГРУППИРОВАТЬ ПО
	Запасы.Номенклатура
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	Запасы.Номенклатура КАК Номенклатура,
	СУММА(ВЫБОР
			КОГДА Запасы.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
				ТОГДА -Запасы.Количество
			ИНАЧЕ Запасы.Количество
		КОНЕЦ) КАК КоличествоПересортица
ПОМЕСТИТЬ ВТ_Пересортица
ИЗ
	РегистрНакопления.Запасы КАК Запасы
ГДЕ
	Запасы.ХозяйственнаяОперация.Наименование = "Пересортица запасов"
	И ВЫБОР
			КОГДА &ДатаОкончания = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
				ТОГДА Запасы.Период >= &ДатаНачала
			ИНАЧЕ Запасы.Период МЕЖДУ &ДатаНачала И &ДатаОкончания
		КОНЕЦ

СГРУППИРОВАТЬ ПО
	Запасы.Номенклатура
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВТ_Сырье.Сырье КАК Сырье,
	ВТ_Продукция.Продукция КАК Продукция,
	ВТ_Возврат.КоличествоВозврат КАК КоличествоВозврат,
	ВТ_Перемещение.КоличествоПеремещение КАК КоличествоПеремещение,
	ВТ_Пересортица.КоличествоПересортица КАК КоличествоПересортица,
	ВТ_Продукция.КоличествоПроизведено КАК КоличествоПроизведено,
	ВТ_Списание.КоличествоСписание КАК КоличествоСписание,
	ВтОстатки.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток,
	ВтОстатки.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток,
	ВТПродажи.КоличествоПродажи КАК КоличествоПродажи,
	ВТ_Сырье.КоличествоЗатраченоСырья КАК КоличествоЗатраченоСырья
ИЗ
	ВТ_Сырье КАК ВТ_Сырье
		ПОЛНОЕ СОЕДИНЕНИЕ ВТ_Продукция КАК ВТ_Продукция
			ЛЕВОЕ СОЕДИНЕНИЕ ВтОстатки КАК ВтОстатки
			ПО ВТ_Продукция.Продукция = ВтОстатки.Номенклатура
			ЛЕВОЕ СОЕДИНЕНИЕ ВТПродажи КАК ВТПродажи
			ПО ВТ_Продукция.Продукция = ВТПродажи.Номенклатура
			ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Списание КАК ВТ_Списание
			ПО ВТ_Продукция.Продукция = ВТ_Списание.Номенклатура
			ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Перемещение КАК ВТ_Перемещение
			ПО ВТ_Продукция.Продукция = ВТ_Перемещение.Номенклатура
			ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Возврат КАК ВТ_Возврат
			ПО ВТ_Продукция.Продукция = ВТ_Возврат.Номенклатура
			ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Пересортица КАК ВТ_Пересортица
			ПО ВТ_Продукция.Продукция = ВТ_Пересортица.Номенклатура
		ПО ВТ_Сырье.Ссылка = ВТ_Продукция.Ссылка
Показать
4. FatPanzer 7 15.10.20 11:31 Сейчас в теме
У Сазана две записи в таблице ВТ_Сырье... Скорее всего. Попробуйте из первого запроса убрать поле Ссылка (оставьте только Номенклатуру) и отключите в последнем запросе связь с таблице Пересорта (ссылка нужна только для связи с этой таблицей). И проверьте начальные остатки (пусть и без учета пересорта).
5. M_A_D 24 15.10.20 11:35 Сейчас в теме
(4) а вы смогли увидеть где строки дублируются?
Я минуты 3 пялился в скриншот и не увидел дубля....

PS если речь про выделанный фрагмент на скрине, это ведь не бубль)))
6. YA_1130000046249084 15.10.20 11:37 Сейчас в теме
(5)
огли увидеть где строки дублируются?
Я минуты 3 пя
он просто в иерархии развернутый, двоится сама цифра 9,600
7. YA_1130000046249084 15.10.20 11:38 Сейчас в теме
(5)То есть, должно быть 4,800, а у мен6я 9,600, вот так
8. FatPanzer 7 15.10.20 11:41 Сейчас в теме
(5) Нет, двоятся не строки. Двоится цифра остатка, по уверению ТС. Остальные не двоятся.
Это может означать только то, что при связи таблицы номенклатуры и таблицы остатков в какой-то из этих таблиц находятся две строки для Сазана. А для всех остальных - по одной.
Внимательно посмотрев на алгоритм формирования этих таблиц - вижу, что в первом запросе теоретически может быть две строки с одинаковым значением Номенклатура для разных значений Ссылка. Это вполне себе может привести к задвоению суммы остатка.
Дальше предложил проверить это ТС, исключив из запроса использование поля Ссылка из группировки, чтобы исключить вариант с задвоением строк в первой таблице.
Если не поможет - будем смотреть алгоритм формирования таблицы остатков...

Все же предельно просто, да? ))))

PS. Если бы ТС еще обратил бы свой код в тег <Code/> - было бы вообще отлично...
9. YA_1130000046249084 15.10.20 11:43 Сейчас в теме
(8)
ще о
Спасибо, поняла, это подошло
10. M_A_D 24 15.10.20 11:47 Сейчас в теме
(8)
СборкаЗапасовПродукция.Ссылка КАК Ссылка

Точно точно, вытянута ссылка на документ, и из-за того что фигурирует товар в разных документах, произошло задвоение)
YA_1130000046249084; FatPanzer; +2 Ответить
11. FatPanzer 7 15.10.20 11:49 Сейчас в теме
(10) Я даже не знаю, что это за ссылка )) Я просто вижу, что идет группировка по двум полям, значит строк может быть несколько. А потом по одному из этих группировочных полей идет связь с другой таблицей... Чистая теория.
12. YA_1130000046249084 15.10.20 11:53 Сейчас в теме
(11)
за ссылка )) Я просто вижу, что идет группировка по двум полям, значит строк
если ее убрать, то получается ошибка


Ошибка в схеме компоновки данных
по причине:
Ошибка получения информации набора данных
по причине:
Ошибка в запросе набора данных
по причине:
{(5, 2)}: Синтаксическая ошибка "ПОМЕСТИТЬ"
<<?>>ПОМЕСТИТЬ ВТ_Сырье
13. FatPanzer 7 15.10.20 11:56 Сейчас в теме
(12) Естественно. Я же не говорил убрать строку из текста запроса, я говорил убрать поле Ссылка из самого запроса.
А вы, скорее всего удалили строку. И в предыдущей строке "СУММА(СборкаЗапасовПродукция.Количество) КАК КоличествоЗатраченоСырья," у вас осталась запятая. А запятой в последней строке быть не должно, ибо запятая означает дальнейшее перечисление полей, и система воспринимает "ПОМЕСТИТЬ ВТ_Сырье" как одно из полей запроса. И справедливо матерится.

Кароч, запятую уберите.
YA_1130000046249084; +1 Ответить
14. YA_1130000046249084 16.10.20 04:21 Сейчас в теме
(13)Так и не получилось решить эту проблему, не могу понять в чем дело, если я убирала эту строку, и запятую вылазила ошибка. Мне кажется, что что-то с периодом не так, там когда я ставила периодичность - секунда, была цифра 4,6 . Что приближенна ко мне, но тогда поменялась цифра прихода товара, что не надо мне
16. FatPanzer 7 16.10.20 08:59 Сейчас в теме
(14) Еще раз! Я не говорил убрать одну строку из текста запроса. Я сказал убрать поле из запроса. Открываем конструктор запроса и просто удаляем поле Ссылка на Вкладке "Объединение".
Опять проблемы???
17. YA_1130000046249084 16.10.20 09:01 Сейчас в теме
(16)Я это и сделала, спасибо, разобралась))
18. FatPanzer 7 16.10.20 09:02 Сейчас в теме
19. YA_1130000046249084 16.10.20 09:04 Сейчас в теме
(18)я нашла старую печатную форму, решила сверить их (так как в старой ошибок не было), Там КоличествоЗатраченоСырья был не как ресурс , а как реквизит, я исправила, все норм пошлло
15. YA_1130000046249084 16.10.20 04:22 Сейчас в теме
(8
ВЫБРАТЬ
	СборкаЗапасовПродукция.Номенклатура КАК Сырье,
	СУММА(СборкаЗапасовПродукция.Количество) КАК КоличествоЗатраченоСырья,
	СборкаЗапасовПродукция.Ссылка КАК Ссылка
ПОМЕСТИТЬ ВТ_Сырье
ИЗ
	Документ.СборкаЗапасов.Продукция КАК СборкаЗапасовПродукция
ГДЕ
	СборкаЗапасовПродукция.Ссылка.Проведен
	И ВЫБОР
			КОГДА &ДатаОкончания = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
				ТОГДА СборкаЗапасовПродукция.Ссылка.Дата >= &ДатаНачала
			ИНАЧЕ СборкаЗапасовПродукция.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
		КОНЕЦ
	И СборкаЗапасовПродукция.Ссылка.ВидОперации = &ВидОперацииРазборка

СГРУППИРОВАТЬ ПО
	СборкаЗапасовПродукция.Номенклатура,
	СборкаЗапасовПродукция.Ссылка

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	СборкаЗапасовЗапасы.Номенклатура,
	СУММА(СборкаЗапасовЗапасы.Количество),
	СборкаЗапасовЗапасы.Ссылка
ИЗ
	Документ.СборкаЗапасов.Запасы КАК СборкаЗапасовЗапасы
ГДЕ
	СборкаЗапасовЗапасы.Ссылка.Проведен
	И ВЫБОР
			КОГДА &ДатаОкончания = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
				ТОГДА СборкаЗапасовЗапасы.Ссылка.Дата >= &ДатаНачала
			ИНАЧЕ СборкаЗапасовЗапасы.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
		КОНЕЦ
	И СборкаЗапасовЗапасы.Ссылка.ВидОперации = &ВидОперацииСборка

СГРУППИРОВАТЬ ПО
	СборкаЗапасовЗапасы.Номенклатура,
	СборкаЗапасовЗапасы.Ссылка
;

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

СГРУППИРОВАТЬ ПО
	СборкаЗапасовПродукция.Номенклатура,
	СборкаЗапасовПродукция.Ссылка

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	СборкаЗапасовЗапасы.Номенклатура,
	СУММА(СборкаЗапасовЗапасы.Количество),
	СборкаЗапасовЗапасы.Ссылка
ИЗ
	Документ.СборкаЗапасов.Запасы КАК СборкаЗапасовЗапасы
ГДЕ
	СборкаЗапасовЗапасы.Ссылка.Проведен
	И ВЫБОР
			КОГДА &ДатаОкончания = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
				ТОГДА СборкаЗапасовЗапасы.Ссылка.Дата >= &ДатаНачала
			ИНАЧЕ СборкаЗапасовЗапасы.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
		КОНЕЦ
	И СборкаЗапасовЗапасы.Ссылка.ВидОперации = &ВидОперацииРазборка

СГРУППИРОВАТЬ ПО
	СборкаЗапасовЗапасы.Номенклатура,
	СборкаЗапасовЗапасы.Ссылка
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ЗапасыОстаткиИОбороты.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток,
	ЗапасыОстаткиИОбороты.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток,
	ЗапасыОстаткиИОбороты.Номенклатура КАК Номенклатура
ПОМЕСТИТЬ ВтОстатки
ИЗ
	РегистрНакопления.Запасы.ОстаткиИОбороты(, , , , ) КАК ЗапасыОстаткиИОбороты
ГДЕ
	ЗапасыОстаткиИОбороты.СчетУчета <> &СчетУчета
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	Продажи.Номенклатура КАК Номенклатура,
	СУММА(Продажи.Количество) КАК КоличествоПродажи
ПОМЕСТИТЬ ВТПродажи
ИЗ
	РегистрНакопления.Продажи КАК Продажи
ГДЕ
	ВЫБОР
			КОГДА &ДатаОкончания = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
				ТОГДА Продажи.Период >= &ДатаНачала
			ИНАЧЕ Продажи.Период МЕЖДУ &ДатаНачала И &ДатаОкончания
		КОНЕЦ

СГРУППИРОВАТЬ ПО
	Продажи.Номенклатура
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	Запасы.Номенклатура КАК Номенклатура,
	СУММА(Запасы.Количество) КАК КоличествоСписание
ПОМЕСТИТЬ ВТ_Списание
ИЗ
	РегистрНакопления.Запасы КАК Запасы
ГДЕ
	Запасы.ХозяйственнаяОперация.Наименование = "Списание на расходы"
	И ВЫБОР
			КОГДА &ДатаОкончания = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
				ТОГДА Запасы.Период >= &ДатаНачала
			ИНАЧЕ Запасы.Период МЕЖДУ &ДатаНачала И &ДатаОкончания
		КОНЕЦ

СГРУППИРОВАТЬ ПО
	Запасы.Номенклатура
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	Запасы.Номенклатура КАК Номенклатура,
	СУММА(Запасы.Количество) КАК КоличествоПеремещение
ПОМЕСТИТЬ ВТ_Перемещение
ИЗ
	РегистрНакопления.Запасы КАК Запасы
ГДЕ
	Запасы.ХозяйственнаяОперация.Наименование = "Перемещение"
	И Запасы.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
	И ВЫБОР
			КОГДА &ДатаОкончания = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
				ТОГДА Запасы.Период >= &ДатаНачала
			ИНАЧЕ Запасы.Период МЕЖДУ &ДатаНачала И &ДатаОкончания
		КОНЕЦ

СГРУППИРОВАТЬ ПО
	Запасы.Номенклатура
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	Запасы.Номенклатура КАК Номенклатура,
	СУММА(Запасы.Количество) КАК КоличествоВозврат
ПОМЕСТИТЬ ВТ_Возврат
ИЗ
	РегистрНакопления.Запасы КАК Запасы
ГДЕ
	Запасы.ХозяйственнаяОперация.Наименование = "Возврат от покупателя"
	И Запасы.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
	И ВЫБОР
			КОГДА &ДатаОкончания = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
				ТОГДА Запасы.Период >= &ДатаНачала
			ИНАЧЕ Запасы.Период МЕЖДУ &ДатаНачала И &ДатаОкончания
		КОНЕЦ

СГРУППИРОВАТЬ ПО
	Запасы.Номенклатура
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	Запасы.Номенклатура КАК Номенклатура,
	СУММА(ВЫБОР
			КОГДА Запасы.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
				ТОГДА -Запасы.Количество
			ИНАЧЕ Запасы.Количество
		КОНЕЦ) КАК КоличествоПересортица
ПОМЕСТИТЬ ВТ_Пересортица
ИЗ
	РегистрНакопления.Запасы КАК Запасы
ГДЕ
	Запасы.ХозяйственнаяОперация.Наименование = "Пересортица запасов"
	И ВЫБОР
			КОГДА &ДатаОкончания = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
				ТОГДА Запасы.Период >= &ДатаНачала
			ИНАЧЕ Запасы.Период МЕЖДУ &ДатаНачала И &ДатаОкончания
		КОНЕЦ

СГРУППИРОВАТЬ ПО
	Запасы.Номенклатура
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВТ_Сырье.Сырье КАК Сырье,
	ВТ_Продукция.Продукция КАК Продукция,
	ВТ_Возврат.КоличествоВозврат КАК КоличествоВозврат,
	ВТ_Перемещение.КоличествоПеремещение КАК КоличествоПеремещение,
	ВТ_Пересортица.КоличествоПересортица КАК КоличествоПересортица,
	ВТ_Продукция.КоличествоПроизведено КАК КоличествоПроизведено,
	ВТ_Списание.КоличествоСписание КАК КоличествоСписание,
	ВтОстатки.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток,
	ВтОстатки.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток,
	ВТПродажи.КоличествоПродажи КАК КоличествоПродажи,
	ВТ_Сырье.КоличествоЗатраченоСырья КАК КоличествоЗатраченоСырья
ИЗ
	ВТ_Сырье КАК ВТ_Сырье
		ПОЛНОЕ СОЕДИНЕНИЕ ВТ_Продукция КАК ВТ_Продукция
			ЛЕВОЕ СОЕДИНЕНИЕ ВтОстатки КАК ВтОстатки
			ПО ВТ_Продукция.Продукция = ВтОстатки.Номенклатура
			ЛЕВОЕ СОЕДИНЕНИЕ ВТПродажи КАК ВТПродажи
			ПО ВТ_Продукция.Продукция = ВТПродажи.Номенклатура
			ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Списание КАК ВТ_Списание
			ПО ВТ_Продукция.Продукция = ВТ_Списание.Номенклатура
			ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Перемещение КАК ВТ_Перемещение
			ПО ВТ_Продукция.Продукция = ВТ_Перемещение.Номенклатура
			ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Возврат КАК ВТ_Возврат
			ПО ВТ_Продукция.Продукция = ВТ_Возврат.Номенклатура
			ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Пересортица КАК ВТ_Пересортица
			ПО ВТ_Продукция.Продукция = ВТ_Пересортица.Номенклатура
		ПО ВТ_Сырье.Ссылка = ВТ_Продукция.Ссылка
Показать
)
Оставьте свое сообщение
Вопросы с вознаграждением