Алексей A: Вообще-то естьnull действительно, как раз для этого и к месту. Но сейчас 1С под рукой нет, по памяти не соображу, почему не сработало. Успехов!
Если это какое-то задание, то ладно. А вообще ценность последнего действя сомнительна. В реальной жизни справочники номенклатуры весьма большие. И эта куча строк с нулями вряд ли кому-то нужна.
Алексей A: Во, хороший запрос. Это одна таблица, другая - справочник Номенклатура. Соединяете по Номенклатура.Ссылка. Лень все эти длинные названия писать, но что-то типа:
Выбрать Напименование, Количество, Сумма
Из Справочник.Номенклатура
Левое соединение
Тут предыдущий запрос
По Справ.Ном.Ссылка=Номенклатура
И вроде как и всё...
В запросе, который считает количество не будет никаких объединений. Наименование здесь не нужно. В группировке только ЗаказКлиентаТовары.Номенклатура.Ссылка оставьте
Алексей A: У Вас в SQL пробелы - ликвидируйте! Выкинте для начала отсюда всё про справочник Номенклатура. Убедитесь, что у Вас правильно считается количество и сумма по нескольким заказам. А потом выбирайте всю номенклатуру из справочника и присоединяйте к ней результат этого запроса.
logpol32: Ну функция DateInRange здесь чисто для красы :) Она никаких чудес не делает:
function DateInRange(ADate: TDate; AStartDate, AEndDate: TDate; AInclusive: Boolean = True): Boolean;
begin
if AInclusive then
Result := (DateOf(AStartDate) <= DateOf(ADate)) and (DateOf(ADate) <= DateOf(AEndDate))
else
Result := (DateOf(AStartDate) < DateOf(ADate)) and (DateOf(ADate) < DateOf(AEndDate));
end;
А строки Ваши по-любому надо во что-то более удобное для сравнения преобразовать. Совсем без телодвижений никак не обойтись. Всё зависит от формата входных данных - известен ли он Вам и постоянен ли он. Если формат всех трёх дат такой, как написано в вопросе, то я бы добавил в начале строки '01.' а дальше StrToDate и сравнивайте на здоровье.
Дмитрий Петров: Так Евгений всё правильно написал, если под другой осью usb заработает, значит только у винды крыша съехала, что поправимо. Если нет, то в ремонт профессионалам.
Что-то мне не нравится, что при подключении вентилятора есть звук подключения устройства. Разве должен быть? Сдаётся мне, что он питание и данные коротит.
Che_Bu_Rashka: Сами по себе эти записи кроме "Зависание" ничего не обозначают. Гугл на это самое AppHangB1 даёт кучу ссылок. Большая часть - жалобы игроков, иногда подобное случается с другими приложениями. Конкретных советов по лечению я не встречал. Всё типично - переустановить систему, обновить драйвера, сторонний софт добавлять по одному. И я с этим в принципе согласен, потому что обычно это и по времени быстрее выходит.
Che_Bu_Rashka: Да шут их знает, что эти сигнатуры означают! На компах руководителей чего только не бывает :) Причина любая может быть. И вирусы (живые или неудачно полеченные), и антивирусы, и какой-нибудь кривой софт или драйвера, аппаратные проблемы тоже не исключены.
Che_Bu_Rashka: Всё так. Просто ситуация, когда обе программы работают на одном компьютере, это частный случай. Могут и на разных. Тут уж всё зависит от особенностей и потребностей приложения. В плане общения между процессами можете ещё на Named Pipes поглядеть. Может они Вам лучше подойдут. Вот например статья, где они уже в готовые компоненты обёрнуты: Обмен данными между процессами в Delphi XE3
Che_Bu_Rashka: А так и гуглить "delphi клиент-серверное приложение пример" Будет конечно много ссылок применительно к базам данных, это не совсем то. А вот остальное, что-нибудь про сокеты, уже можно смотреть.
Михаил: И зря возмущаетесь, Вам дело говорят. Работать под такой виндой (неизвестного состояния и происхождения) это всё равно что ехать в неизвестной машине, у которой тормоза то ли есть, то ли нет, да и остальное не пойми как работает. Продолжая аналогию, латать тут что-то уже бесполезно, нужен капремонт - переустановка.