По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Функция СведенияОВнешнейОбработке() Экспорт
ИмяОтчета = ЭтотОбъект.Метаданные().Имя;
Синоним = ЭтотОбъект.Метаданные().Синоним;
Синоним = ?(ЗначениеЗаполнено(Синоним),Синоним, ИмяОтчета);
РегистрационныеДанные = Новый Структура;
РегистрационныеДанные.Вставить("Вид","ДополнительныйОтчет"); //может быть – ПечатнаяФорма, ЗаполнениеОбъекта (для вн.обработки), ДополнительныйОтчет, СозданиеСвязанныхОбъектов…
РегистрационныеДанные.Вставить("Наименование", Синоним); //имя под которым обработка будет зарегестрирована в справочнике внешних обработок
РегистрационныеДанные.Вставить("Версия", "1.0");
РегистрационныеДанные.Вставить("БезопасныйРежим", Ложь);
РегистрационныеДанные.Вставить("Информация", "Отчет "+Синоним); //так будет выглядеть описание вн.отчета для пользователя
ТаблицаКоманд = ПолучитьТаблицуКоманд();
// Добавим команду в таблицу
ДобавитьКоманду(ТаблицаКоманд, Синоним, "СформироватьОтчет" , "ОткрытиеФормы", Истина, );
// Сохраним таблицу команд в параметры регистрации обработки
РегистрационныеДанные.Вставить("Команды", ТаблицаКоманд);
Возврат РегистрационныеДанные;
КонецФункции
Функция ПолучитьТаблицуКоманд()
// Создадим пустую таблицу команд и колонки в ней
Команды = Новый ТаблицаЗначений;
// Как будет выглядеть описание печатной формы для пользователя
Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));
// Имя нашего макета, что бы могли отличить вызванную команду в обработке печати
Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));
// Тут задается, как должна вызваться команда обработки
// Возможные варианты:
// - ОткрытиеФормы - в этом случае в колонке идентификатор должно быть указано имя формы, которое должна будет открыть система
// - ВызовКлиентскогоМетода - вызвать клиентскую экспортную процедуру из модуля формы обработки
// - ВызовСерверногоМетода - вызвать серверную экспортную процедуру из модуля объекта обработки
Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));
// Следующий параметр указывает, необходимо ли показывать оповещение при начале и завершению работы обработки. Не имеет смысла при открытии формы
Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
// Для печатной формы должен содержать строку ПечатьMXL
Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
Возврат Команды;
КонецФункции
Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование = "ОткрытиеФормы", ПоказыватьОповещение = Ложь, Модификатор = "ПечатьMXL")
// Добавляем команду в таблицу команд по переданному описанию.
// Параметры и их значения можно посмотреть в функции ПолучитьТаблицуКоманд
НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда.Представление = Представление;
НоваяКоманда.Идентификатор = Идентификатор;
НоваяКоманда.Использование = Использование;
НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
НоваяКоманда.Модификатор = Модификатор;
КонецПроцедуры
Показать
В компоновке данных
ВЫБРАТЬ
СборкаЗапасовПродукция.Номенклатура КАК Сырье,
СУММА(СборкаЗапасовПродукция.Количество) КАК КоличествоЗатраченоСырья,
СборкаЗапасовПродукция.Ссылка КАК Ссылка
ПОМЕСТИТЬ ВТ_Сырье
ИЗ
Документ.СборкаЗапасов.Продукция КАК СборкаЗапасовПродукция
ГДЕ
СборкаЗапасовПродукция.Ссылка.Проведен
И ВЫБОР
КОГДА &ДатаОкончания = ДАТАВРЕМЯ(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)
ТОГДА Запасы.Период >= &ДатаНачала
ИНАЧЕ Запасы.Период МЕЖДУ &ДатаНачала И &ДатаОкончания
КОНЕЦ
СГРУППИРОВАТЬ ПО
Запасы.Номенклатура
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТ_Сырье.Сырье КАК Сырье,
ВТ_Продукция.Продукция КАК Продукция,
ВТ_Возврат.КоличествоВозврат КАК КоличествоВозврат,
ВТ_Перемещение.КоличествоПеремещение КАК КоличествоПеремещение,
ВТ_Пересортица.КоличествоПересортица КАК КоличествоПересортица,
ВТ_Продукция.КоличествоПроизведено КАК КоличествоПроизведено,
ВТ_Списание.КоличествоСписание КАК КоличествоСписание,
ВтОстатки.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток,
ВтОстатки.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток,
ВТПродажи.КоличествоПродажи КАК КоличествоПродажи,
ВТ_Сырье.КоличествоЗатраченоСырья КАК КоличествоЗатраченоСырья
ИЗ
ВТ_Сырье КАК ВТ_Сырье
ПОЛНОЕ СОЕДИНЕНИЕ ВТ_Продукция КАК ВТ_Продукция
ЛЕВОЕ СОЕДИНЕНИЕ ВтОстатки КАК ВтОстатки
ПО ВТ_Продукция.Продукция = ВтОстатки.Номенклатура
ЛЕВОЕ СОЕДИНЕНИЕ ВТПродажи КАК ВТПродажи
ПО ВТ_Продукция.Продукция = ВТПродажи.Номенклатура
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Списание КАК ВТ_Списание
ПО ВТ_Продукция.Продукция = ВТ_Списание.Номенклатура
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Перемещение КАК ВТ_Перемещение
ПО ВТ_Продукция.Продукция = ВТ_Перемещение.Номенклатура
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Возврат КАК ВТ_Возврат
ПО ВТ_Продукция.Продукция = ВТ_Возврат.Номенклатура
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Пересортица КАК ВТ_Пересортица
ПО ВТ_Продукция.Продукция = ВТ_Пересортица.Номенклатура
ПО ВТ_Сырье.Ссылка = ВТ_Продукция.Ссылка
Показать
У Сазана две записи в таблице ВТ_Сырье... Скорее всего. Попробуйте из первого запроса убрать поле Ссылка (оставьте только Номенклатуру) и отключите в последнем запросе связь с таблице Пересорта (ссылка нужна только для связи с этой таблицей). И проверьте начальные остатки (пусть и без учета пересорта).
(5) Нет, двоятся не строки. Двоится цифра остатка, по уверению ТС. Остальные не двоятся.
Это может означать только то, что при связи таблицы номенклатуры и таблицы остатков в какой-то из этих таблиц находятся две строки для Сазана. А для всех остальных - по одной.
Внимательно посмотрев на алгоритм формирования этих таблиц - вижу, что в первом запросе теоретически может быть две строки с одинаковым значением Номенклатура для разных значений Ссылка. Это вполне себе может привести к задвоению суммы остатка.
Дальше предложил проверить это ТС, исключив из запроса использование поля Ссылка из группировки, чтобы исключить вариант с задвоением строк в первой таблице.
Если не поможет - будем смотреть алгоритм формирования таблицы остатков...
Все же предельно просто, да? ))))
PS. Если бы ТС еще обратил бы свой код в тег <Code/> - было бы вообще отлично...
Это может означать только то, что при связи таблицы номенклатуры и таблицы остатков в какой-то из этих таблиц находятся две строки для Сазана. А для всех остальных - по одной.
Внимательно посмотрев на алгоритм формирования этих таблиц - вижу, что в первом запросе теоретически может быть две строки с одинаковым значением Номенклатура для разных значений Ссылка. Это вполне себе может привести к задвоению суммы остатка.
Дальше предложил проверить это ТС, исключив из запроса использование поля Ссылка из группировки, чтобы исключить вариант с задвоением строк в первой таблице.
Если не поможет - будем смотреть алгоритм формирования таблицы остатков...
Все же предельно просто, да? ))))
PS. Если бы ТС еще обратил бы свой код в тег <Code/> - было бы вообще отлично...
(11)
за ссылка )) Я просто вижу, что идет группировка по двум полям, значит строк
если ее убрать, то получается ошибка
Ошибка в схеме компоновки данных
по причине:
Ошибка получения информации набора данных
по причине:
Ошибка в запросе набора данных
по причине:
{(5, 2)}: Синтаксическая ошибка "ПОМЕСТИТЬ"
<<?>>ПОМЕСТИТЬ ВТ_Сырье
(12) Естественно. Я же не говорил убрать строку из текста запроса, я говорил убрать поле Ссылка из самого запроса.
А вы, скорее всего удалили строку. И в предыдущей строке "СУММА(СборкаЗапасовПродукция.Количество) КАК КоличествоЗатраченоСырья," у вас осталась запятая. А запятой в последней строке быть не должно, ибо запятая означает дальнейшее перечисление полей, и система воспринимает "ПОМЕСТИТЬ ВТ_Сырье" как одно из полей запроса. И справедливо матерится.
Кароч, запятую уберите.
А вы, скорее всего удалили строку. И в предыдущей строке "СУММА(СборкаЗапасовПродукция.Количество) КАК КоличествоЗатраченоСырья," у вас осталась запятая. А запятой в последней строке быть не должно, ибо запятая означает дальнейшее перечисление полей, и система воспринимает "ПОМЕСТИТЬ ВТ_Сырье" как одно из полей запроса. И справедливо матерится.
Кароч, запятую уберите.
(13)Так и не получилось решить эту проблему, не могу понять в чем дело, если я убирала эту строку, и запятую вылазила ошибка. Мне кажется, что что-то с периодом не так, там когда я ставила периодичность - секунда, была цифра 4,6 . Что приближенна ко мне, но тогда поменялась цифра прихода товара, что не надо мне
(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)
ТОГДА Запасы.Период >= &ДатаНачала
ИНАЧЕ Запасы.Период МЕЖДУ &ДатаНачала И &ДатаОкончания
КОНЕЦ
СГРУППИРОВАТЬ ПО
Запасы.Номенклатура
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТ_Сырье.Сырье КАК Сырье,
ВТ_Продукция.Продукция КАК Продукция,
ВТ_Возврат.КоличествоВозврат КАК КоличествоВозврат,
ВТ_Перемещение.КоличествоПеремещение КАК КоличествоПеремещение,
ВТ_Пересортица.КоличествоПересортица КАК КоличествоПересортица,
ВТ_Продукция.КоличествоПроизведено КАК КоличествоПроизведено,
ВТ_Списание.КоличествоСписание КАК КоличествоСписание,
ВтОстатки.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток,
ВтОстатки.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток,
ВТПродажи.КоличествоПродажи КАК КоличествоПродажи,
ВТ_Сырье.КоличествоЗатраченоСырья КАК КоличествоЗатраченоСырья
ИЗ
ВТ_Сырье КАК ВТ_Сырье
ПОЛНОЕ СОЕДИНЕНИЕ ВТ_Продукция КАК ВТ_Продукция
ЛЕВОЕ СОЕДИНЕНИЕ ВтОстатки КАК ВтОстатки
ПО ВТ_Продукция.Продукция = ВтОстатки.Номенклатура
ЛЕВОЕ СОЕДИНЕНИЕ ВТПродажи КАК ВТПродажи
ПО ВТ_Продукция.Продукция = ВТПродажи.Номенклатура
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Списание КАК ВТ_Списание
ПО ВТ_Продукция.Продукция = ВТ_Списание.Номенклатура
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Перемещение КАК ВТ_Перемещение
ПО ВТ_Продукция.Продукция = ВТ_Перемещение.Номенклатура
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Возврат КАК ВТ_Возврат
ПО ВТ_Продукция.Продукция = ВТ_Возврат.Номенклатура
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Пересортица КАК ВТ_Пересортица
ПО ВТ_Продукция.Продукция = ВТ_Пересортица.Номенклатура
ПО ВТ_Сырье.Ссылка = ВТ_Продукция.Ссылка
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот