Форум Чистова. Подготовка к экзаменам 1С

Аттестация "1С:Специалист" => Аттестация "1С:Специалист по платформе 1С:Предприятие 8.3 и 8.2" => Тема начата: prof-net от Февраль 19, 2017, 07:36:39 am

Название: Задача 2.14
Отправлено: prof-net от Февраль 19, 2017, 07:36:39 am
Добрый день.
Начал готовится к специалисту. Павел Чистов разобрал эту задачу для платформы 8.2, выгрузка во вложении. (надеюсь это не будет расценено как плагиат)
Проблема у меня в том что для платформы начиная с 8.3.7 и до 8.3.10 (те версии на которых я протестировал) не контролируются остатки. Запрос не корректно отрабатывает условие.
Вопрос у меня такой - как эту задачу нужно решать в версии 1с 8.3

Цитировать
   Запрос.Текст = "ВЫБРАТЬ
                  |   РасходнаяНакладнаяСписокТоваров.ИнвНомер КАК ИнвНомер,
                  |   РасходнаяНакладнаяСписокТоваров.Номенклатура КАК Номенклатура,
                  |   РасходнаяНакладнаяСписокТоваров.Сумма КАК Сумма
                  |ПОМЕСТИТЬ СписокТоваров
                  |ИЗ
                  |   Документ.РасходнаяНакладная.СписокТоваров КАК РасходнаяНакладнаяСписокТоваров
                  |ГДЕ
                  |   РасходнаяНакладнаяСписокТоваров.Ссылка = &Ссылка
                  |
                  |ИНДЕКСИРОВАТЬ ПО
                  |   ИнвНомер,
                  |   Номенклатура
                  |;
                  |
                  |////////////////////////////////////////////////////////////////////////////////
                  |ВЫБРАТЬ
                  |   СписокТоваров.ИнвНомер КАК ИнвНомер,
                  |   РегистрБухгалтерииОбороты.КоличествоОборот КАК ОсталосьТоваров,
                  |   СписокТоваров.Номенклатура КАК Номенклатура
                  |ИЗ
                  |   СписокТоваров КАК СписокТоваров
                  |      ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.РегистрБухгалтерии.Обороты(
                  |            ,
                  |            ,
                  |            ,
                  |            Счет = &Счет,
                  |            &ВидСубконтоИнвНомера,
                  |            Субконто1 В
                  |               (ВЫБРАТЬ
                  |                  А.ИнвНомер
                  |               ИЗ
                  |                  СписокТоваров КАК А),
                  |            ,
                  |            ) КАК РегистрБухгалтерииОбороты
                  |      ПО СписокТоваров.ИнвНомер = РегистрБухгалтерииОбороты.Субконто1
                  |ГДЕ
                  |   РегистрБухгалтерииОбороты.КоличествоОборот > 0
";
Название: Re: Задача 2.14
Отправлено: alex1248 от Февраль 19, 2017, 01:18:13 pm
Запрос не корректно отрабатывает условие.
Вопрос у меня такой - как эту задачу нужно решать в версии 1с 8.3
В таких запросах между 8.2 и 8.3 нет никаких отличий.
ПС. Отладчик вам в помощь.
Название: Re: Задача 2.14
Отправлено: Kandrat от Январь 13, 2019, 03:58:46 pm
Привет всем. Мой вариант решения. Буду признателен за критику)