Новости для бухгалтера, бухучет, налогообложение, отчетность, ФСБУ, прослеживаемость и маркировка, 1С:Бухгалтерия

Вход или Регистрация

Показывать по 10 20 40 сообщений
Новая тема Ответить
Письмо в техподдержку 1С
[Прочее]

Запрос помогите

shaman1
читатель
офлайн
Дата регистрации: 24.07.2008
Сообщений: 55
Пост №1
 
13.02.2009 14:09

Проблемка такая:<br>Нужен запрос, который отбирает ту номенклатуру из документа приходная накладная по которой не заданы цены в закупочном прайсе <br>типа :<br>ВЫБРАТЬ<br> ЦеныНоменклатурыСрезПоследних.Номенклатура,<br> ЦеныНоменклатурыСрезПоследних.Цена,<br> ЦеныНоменклатурыСрезПоследних.ТипЦен<br>ИЗ<br> Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг<br> ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних<br> ПО (ЦеныНоменклатурыСрезПоследних.Номенклатура = ПоступлениеТоваровУслуг.Товары.Номенклатура)<br>ГДЕ<br> ПоступлениеТоваровУслуг.Ссылка = &Ссылка<br><br>только тут он выбирает ту номенклатуру которая есть в прайсе, а надо наоборот

Alexuh
читатель
офлайн
Дата регистрации: 13.02.2009
Сообщений: 35
Пост №2
 
13.02.2009 14:47

Так работает:<br><br>ВЫБРАТЬ<br> ВложенныйЗапрос.Номенклатура,<br> ВложенныйЗапрос.Количество<br>ИЗ<br> (ВЫБРАТЬ<br> ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Номенклатура, &ПустаяНоменклатура) КАК Номенклатура,<br> РеализацияТоваровУслугТовары.Количество КАК Количество<br> ИЗ<br> Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары<br> ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних<br> ПО РеализацияТоваровУслугТовары.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура<br> ГДЕ<br> РеализацияТоваровУслугТовары.Ссылка = &ЭтаНакладная) КАК ВложенныйЗапрос<br>ГДЕ<br> ВложенныйЗапрос.Номенклатура <> &ПустаяНоменклатура

shaman1
читатель
офлайн
Дата регистрации: 24.07.2008
Сообщений: 55
Пост №3
 
13.02.2009 14:53

&ПустаяНоменклатура это Справочники.Номенклатура.ПустаяСсылка() ???

shaman1
читатель
офлайн
Дата регистрации: 24.07.2008
Сообщений: 55
Пост №4
 
13.02.2009 14:53

&ПустаяНоменклатура это Справочники.Номенклатура.ПустаяСсылка() ???

Alexuh
читатель
офлайн
Дата регистрации: 13.02.2009
Сообщений: 35
Пост №5
 
13.02.2009 15:22

Да<br>

shaman1
читатель
офлайн
Дата регистрации: 24.07.2008
Сообщений: 55
Пост №6
 
13.02.2009 16:07

спасибо огромное

shaman1
читатель
офлайн
Дата регистрации: 24.07.2008
Сообщений: 55
Пост №7
 
13.02.2009 16:43

Вот полностью готовый запрос который проверяет, если цены изменились или их нет в закупочном прайсе<br><br>ВЫБРАТЬ<br> ВложенныйЗапрос.Номенклатура,<br> ВложенныйЗапрос.Сумма,<br> ВложенныйЗапрос.Количество,<br> (ВложенныйЗапрос.Сумма + ВложенныйЗапрос.СуммаНДС) / ВложенныйЗапрос.Количество КАК ЦенаДок,<br> ВложенныйЗапрос.НоменклатураТип,<br> ВложенныйЗапрос.Цена<br>ИЗ<br> (ВЫБРАТЬ<br> ПоступлениеТоваровУслугТовары.Номенклатура КАК Номенклатура,<br> ПоступлениеТоваровУслугТовары.Сумма КАК Сумма,<br> ПоступлениеТоваровУслугТовары.Количество КАК Количество,<br> ЦеныНоменклатурыСрезПоследних.Цена КАК Цена,<br> ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Номенклатура, &ПустаяНоменклатура) КАК НоменклатураТип,<br> ПоступлениеТоваровУслугТовары.СуммаНДС КАК СуммаНДС<br> ИЗ<br> РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних<br> ПОЛНОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары<br> ПО (ПоступлениеТоваровУслугТовары.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура)<br> ГДЕ<br> ПоступлениеТоваровУслугТовары.Ссылка = &Ссылка) КАК ВложенныйЗапрос<br>ГДЕ<br> (ВложенныйЗапрос.Цена <> (ВложенныйЗапрос.Сумма + ВложенныйЗапрос.СуммаНДС) / ВложенныйЗапрос.Количество<br> ИЛИ ВложенныйЗапрос.НоменклатураТип = &ПустаяНоменклатура) <br><br><br>Расшифровка параметров<br>&ТипЦен=Справочники.ТипыЦенНоменклатуры.НайтиПоНаименованию("Закупочные")<br>&ПустаяНоменклатура=Справочники.Номенклатура.ПустаяСсылка<br>&Ссылка=ЭтотОбъект<br><br><br>Если что поправьте :)

Alexuh
читатель
офлайн
Дата регистрации: 13.02.2009
Сообщений: 35
Пост №8
 
13.02.2009 17:00

Нельзя использовать ПОЛНОЕ СОЕДИНЕНИЕ. Из-за этого не попадет в запрос номенклатура, которая отсутствуе в регистре сведений. А это как раз та номенклатура, которую по определению мы должны найти. Значит - ЛЕВОЕ СОЕДИНЕНИЕ. Далее, зачем равенство "ВложенныйЗапрос.Номенклатура <> &ПустаяНоменклатура" Заменили на равенство "ВложенныйЗапрос.НоменклатураТип = &ПустаяНоменклатура". Теперь будут попадать в запрос только позиции с пустой номенклатурой, т.е. ничего. Использование выражение "(ВложенныйЗапрос.Цена <> (ВложенныйЗапрос.Сумма + ВложенныйЗапрос.СуммаНДС) / ВложенныйЗапрос.Количество<br>" опасно, посколку могут возникнуть ошибки округления. Точнее, наверняка возникнут. Лучше заново поставить задачу. Ведь цены в табличной части документа могут отличаться от цен в регистре. У них может быть разная валюта. Все это не аккуратно.

Денис (САМАРА)
читатель
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8351
Пост №9
 
15.02.2009 12:40

А нафига все это надо? Не проще заполнять установку цен всей номенклатурой из документа "Поступления"?

Показывать по 10 20 40 сообщений

Читают тему:

1 гостей
Быстрый переход
Для технических специалистов
  • Книга жалоб и предложений по работе сайта
  • Для технических специалистов
  • Представление регламентированной отчетности
  • Говорильня
  • Бухгалтерский учет: обсуждаем проекты нормативных актов и рекомендаций по ведению учета от БМЦ
  • Новый порядок применения ККТ (онлайн кассы с передачей сведений в ФНС)
  • Интернет-конференция: Оформление командировок по новым правилам
  • МАРКИРОВКА
  • ЕГАИС
  • Учет, налогообложение, автоматизация