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

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

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

Запрос

rubi_
читатель
офлайн
Дата регистрации: 17.03.2009
Сообщений: 16
Пост №1
 
06.06.2009 16:29

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

rubi_
читатель
офлайн
Дата регистрации: 17.03.2009
Сообщений: 16
Пост №2
 
07.06.2009 18:56

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

Денис (САМАРА)
читатель
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8351
Пост №3
 
08.06.2009 10:17

Можно чуть проще без конструкции "Выбор..Когда.."<br><br>"ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток * ЕстьNull(ОптовыеЦеныНоменклатурыСрезПоследних.Цена, 0)"

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

Читают тему:

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