- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
"ВЫБРАТЬ
| СчетСписокНоменклатуры.Номенклатура,
| СУММА(СчетСписокНоменклатуры.Количество) КАК Количество
|ПОМЕСТИТЬ ВТ
|ИЗ
| Документ.СчетНаОплатуПокупателю.Товары КАК СчетСписокНоменклатуры
|ГДЕ
| СчетСписокНоменклатуры.Ссылка = &Ссылка
|
|СГРУППИРОВАТЬ ПО
| СчетСписокНоменклатуры.Номенклатура
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ОстаткиНоменклатурыОстатки.Номенклатура КАК Товар,
| ЕСТЬNULL(ОстаткиНоменклатурыОстатки.КоличествоОстаток, 0) - ЕСТЬNULL(ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток, 0) КАК Свободныйостаток,
| ВТ.Количество,
| ОстаткиНоменклатурыОстатки.Номенклатура.Код КАК Код,
| ОстаткиНоменклатурыОстатки.Номенклатура.БазоваяЕдиницаИзмерения КАК ЕдиницаИзмерения
|ИЗ
| ВТ КАК ВТ
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(
| &Дата,
| Номенклатура В
| (ВЫБРАТЬ
| ВТ.Номенклатура
| ИЗ
| ВТ)
| И Склад = &Склад) КАК ОстаткиНоменклатурыОстатки
| ПО ВТ.Номенклатура = ОстаткиНоменклатурыОстатки.Номенклатура
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки КАК ТоварыВРезервеНаСкладахОстатки
| ПО ВТ.Номенклатура = ТоварыВРезервеНаСкладахОстатки.Номенклатура";
Запрос.УстановитьПараметр("Дата", НаДату);
Запрос.УстановитьПараметр("Ссылка", СсылкаДок);
Запрос.УстановитьПараметр("Склад", Склад);
Результат = Запрос.Выполнить().Выбрать();
Пока Результат.Следующий() Цикл
ЗаменаНоменклатуры = РегистрыСведений.ЗаменаНоменклатуры.СоздатьМенеджерЗаписи();
ЗаменаНоменклатуры.Номенклатура = Результат.Товар;
ЗаменаНоменклатуры.Прочитать();
Если ЗаменаНоменклатуры.Выбран() Тогда
Если Результат.СвободныйОстаток < Результат.Количество Тогда
Сообщить("Недостаточно номенклатуры """+Результат.Товар+"""" + " ("+СокрП(Результат.Код)+") требуется "+Результат.Количество+" "+Результат.ЕдиницаИзмерения+" осталось на складе "+Результат.СвободныйОстаток+" "+Результат.ЕдиницаИзмерения+"!", СтатусСообщения.Внимание);
Возврат Истина;
Иначе
Возврат Ложь;
КонецЕсли;
// Если Результат.СвободныйОстаток = 0 Тогда
// Сообщить("Не хватает "+Результат.Номенклатура+" требуется "+Результат.Количество+" осталось на складе "+Результат.СвободныйОстаток);
// Возврат Истина;
// Иначе
// Возврат Ложь;
// КонецЕсли;
КонецЕсли;
КонецЦикла;
someone 11.03.2014 09:20 # +2
ЛЕВАЯ РЕЗЬБА
Lure Of Chaos 13.03.2014 00:29 # −1
nixel 11.03.2014 09:55 # 0
И синоним ТоварыНаСкладах как ОстаткиНоменклатуры.
Мне кажется, или это какая-то учебная задачка, в которую впилили еще регистр сведений, но поленились переписать запрос?
eth0 12.03.2014 18:18 # −2
nixel 12.03.2014 18:30 # −2
Либо говно, либо стажер, либо корявая оптимизация (может раньше еще хуже было).
nixel 12.03.2014 18:36 # −1
eth0 12.03.2014 19:06 # −1
Поскольку совсем не каждый одноэсник может в запросы, империативщиков лично я встречал. Более того, не каждый может влёгкую выдумать запрос без конструктора запросов. Я встречал людей, которые агрессивно относились к тому, что написать (пусть на птичьем) запрос руками будет быстрее, нежели чем тыкать без понимания мышкой.
minusator41 12.03.2014 19:08 # −7
nixel 12.03.2014 20:24 # +1
>> Я встречал людей, которые агрессивно относились к тому, что написать (пусть на птичьем) запрос руками будет быстрее, нежели чем тыкать без понимания мышкой.
Какие странные люди Оо Ладно там отмазы вроде "синтаксиса не знаю", "я конструктором привык", но с агрессией...
eth0 13.03.2014 19:19 # +1
Был нахерачен запрос из юнионов, количеством числа загружаемых документов. Логика примитивная: так, тут у нас документ поступление, давайте поищем его по комментарию во всех документах, лол. Врать не буду, дело давнее, но не исключено, что такой запрос был в цикле для каждого документа.
У бухов сраная загрузка шла по полчаса, они рвали на себе волосы.
В той же рарусорознице творится просто невообразимый ад содомии.
minusator41 11.03.2014 10:16 # −12