- 1
Если ВРЕГ(ДанныеСчета.УсловияЗаполнения)<>"ЛОЖЬ" Тогда
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−90
Если ВРЕГ(ДанныеСчета.УсловияЗаполнения)<>"ЛОЖЬ" Тогда
УПП 1.3 (1.3.75.2)
ОбщиеМодули.СчетаУчетаВДокументах
Подскажите если изменятся языковые настройки конфигурации как себя поведет данный код?
−73
Запрос=Новый Запрос;
ТекстЗапроса="ВЫБРАТЬ
| РасходнаяНакладнаяТовары.Товар КАК Товар,
| РасходнаяНакладнаяТовары.Ссылка КАК Ссылка,
| СУММА(РасходнаяНакладнаяТовары.Количество) КАК КоличествоОстаток
|ИЗ
| Документ.РасходнаяНакладная.Товары КАК РасходнаяНакладнаяТовары
|ГДЕ
| РасходнаяНакладнаяТовары.Ссылка.Проведен = Ложь
| И РасходнаяНакладнаяТовары.Ссылка.ПометкаУдаления = Ложь
|";
Если ЗначениеЗаполнено(ВыбСклад) Тогда
ТекстЗапроса=ТекстЗапроса+"
| И РасходнаяНакладнаяТовары.Ссылка.Склад =&ВыбСклад ";
КонецЕсли;
Если ВыбТовар.Количество()>0 Тогда
ТекстЗапроса=ТекстЗапроса+"
| И РасходнаяНакладнаяТовары.Товар В ИЕРАРХИИ(&ВыбТовар) ";
КонецЕсли;
ТекстЗапроса=ТекстЗапроса+"
|СГРУППИРОВАТЬ ПО
| Товар,
| Ссылка
|ИТОГИ
| СУММА(КоличествоОстаток)
|ПО
| ОБЩИЕ,
| Товар,
| Ссылка
|";
Запрос.Текст=ТекстЗапроса;
Запрос.УстановитьПараметр("ВыбСклад",ВыбСклад);
Запрос.УстановитьПараметр("ВыбТовар",ВыбТовар);
РезультатЗапроса=Запрос.Выполнить();
ТабДокумент = Новый ТабличныйДокумент;
Макет = ПолучитьМакет("ОстаткиТоваров");
ОбластьМакета = Макет.ПолучитьОбласть("Шапа");
построитель запроса не существует... шапа... ШАПА, КАРЛ!!!
+10
http://i.imgur.com/g5MswBc.png
Emotive programming in XCode
−11
з.Текст =
"ВЫБРАТЬ
| СобственныеКонтрагенты.Контрагент
|ПОМЕСТИТЬ втСобственныеКонтрагенты
|ИЗ
| РегистрСведений.СобственныеКонтрагенты КАК СобственныеКонтрагенты
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура,
| РеализацияТоваровУслугТовары.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
| РеализацияТоваровУслугТовары.Цена КАК Цена,
| РеализацияТоваровУслугТовары.Ссылка.Дата КАК Дата
|ПОМЕСТИТЬ втПоступление_Доки
|ИЗ
| Документ.ПоступлениеТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
|ГДЕ
| РеализацияТоваровУслугТовары.Ссылка.Проведен
| И РеализацияТоваровУслугТовары.Ссылка.Дата <= КОНЕЦПЕРИОДА(&ДатаДок, ДЕНЬ)
| И РеализацияТоваровУслугТовары.Ссылка.Организация = &ОрганизацияПродавец
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| втПоступление_Доки.Номенклатура КАК Номенклатура,
| втПоступление_Доки.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
| МАКСИМУМ(втПоступление_Доки.Дата) КАК Дата
|ПОМЕСТИТЬ втПоступление_Макс
|ИЗ
| втПоступление_Доки КАК втПоступление_Доки
|
|СГРУППИРОВАТЬ ПО
| втПоступление_Доки.Номенклатура,
| втПоступление_Доки.ХарактеристикаНоменклатуры
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| втПоступление_Макс.Номенклатура,
| втПоступление_Макс.ХарактеристикаНоменклатуры,
| МИНИМУМ(втПоступление_Доки.Цена) КАК Цена
|ПОМЕСТИТЬ втПоступлениеЦена
|ИЗ
| втПоступление_Макс КАК втПоступление_Макс
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ втПоступление_Доки КАК втПоступление_Доки
| ПО втПоступление_Макс.Номенклатура = втПоступление_Доки.Номенклатура
| И втПоступление_Макс.ХарактеристикаНоменклатуры = втПоступление_Доки.ХарактеристикаНоменклатуры
| И втПоступление_Макс.Дата = втПоступление_Доки.Дата
|
|СГРУППИРОВАТЬ ПО
| втПоступление_Макс.Номенклатура,
| втПоступление_Макс.ХарактеристикаНоменклатуры
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура,
| РеализацияТоваровУслугТовары.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
| РеализацияТоваровУслугТовары.Цена КАК Цена,
| РеализацияТоваровУслугТовары.Ссылка.Дата КАК Дата
|ПОМЕСТИТЬ втРеализацияПоставщика_Доки
|ИЗ
| Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
|ГДЕ
| РеализацияТоваровУслугТовары.Ссылка.Проведен
| И РеализацияТоваровУслугТовары.Ссылка.Дата <= КОНЕЦПЕРИОДА(&ДатаДок, ДЕНЬ)
| И РеализацияТоваровУслугТовары.Ссылка.Организация = &ОрганизацияПродавец
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| втРеализацияПоставщика_Доки.Номенклатура КАК Номенклатура,
| втРеализацияПоставщика_Доки.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
| МАКСИМУМ(втРеализацияПоставщика_Доки.Дата) КАК Дата
|ПОМЕСТИТЬ втРеализацияПоставщика_Макс
|ИЗ
| втРеализацияПоставщика_Доки КАК втРеализацияПоставщика_Доки
|
|СГРУППИРОВАТЬ ПО
| втРеализацияПоставщика_Доки.Номенклатура,
| втРеализацияПоставщика_Доки.ХарактеристикаНоменклатуры
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| втРеализацияПоставщика_Макс.Номенклатура,
| втРеализацияПоставщика_Макс.ХарактеристикаНоменклатуры,
| МИНИМУМ(втРеализацияПоставщика_Доки.Цена) КАК Цена
|ПОМЕСТИТЬ втРеализацияПоставщикаЦена
|ИЗ
| втРеализацияПоставщика_Макс КАК втРеализацияПоставщика_Макс
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ втРеализацияПоставщика_Доки КАК втРеализацияПоставщика_Доки
| ПО втРеализацияПоставщика_Макс.Номенклатура = втРеализацияПоставщика_Доки.Номенклатура
| И втРеализацияПоставщика_Макс.ХарактеристикаНоменклатуры = втРеализацияПоставщика_Доки.ХарактеристикаНоменклатуры
| И втРеализацияПоставщика_Макс.Дата = втРеализацияПоставщика_Доки.Дата
|
|СГРУППИРОВАТЬ ПО
| втРеализацияПоставщика_Макс.Номенклатура,
| втРеализацияПоставщика_Макс.ХарактеристикаНоменклатуры";
про регистр накопления закупки мы походу не слышали... менеджер временных таблиц висит как глобальная переменная модуля формы, поиск организаций по коду в справочнике и т д
0
public function getOrdersByMonth($year)
{
$data = array();
$overallquanities = self::$DBH->query('SELECT SUM(quanity) as quanity, DATE_FORMAT(timestamp,\'%m\') as mdata,phone,comment FROM statistics WHERE DATE_FORMAT(timestamp,\'%Y\')=\'' . $year . '\' AND phone!=(\'test\') AND phone!=(\'тест\') AND comment!=(\'test\') AND comment!=(\'тест\') GROUP BY DATE_FORMAT(timestamp,\'%Y %m\')')->fetchAll(PDO::FETCH_ASSOC);
$overallsumms = self::$DBH->query('SELECT SUM(cost) as cost, DATE_FORMAT(timestamp,\'%Y %m %d\') as mdata FROM statistics WHERE DATE_FORMAT(timestamp,\'%Y\')=\'' . $year . '\' AND phone!=(\'test\') AND phone!=(\'тест\') AND comment!=(\'test\') AND comment!=(\'тест\') GROUP BY DATE_FORMAT(timestamp,\'%Y %m\')')->fetchAll(PDO::FETCH_ASSOC);
$overallorders = self::$DBH->query('SELECT COUNT(DISTINCT currcount) as count, DATE_FORMAT(timestamp,\'%Y %m %d\') as mdata FROM statistics WHERE DATE_FORMAT(timestamp,\'%Y\')=\'' . $year . '\' AND phone!=(\'test\') AND phone!=(\'тест\') AND comment!=(\'test\') AND comment!=(\'тест\') GROUP BY DATE_FORMAT(timestamp,\'%Y %m\')')->fetchAll(PDO::FETCH_ASSOC);
$overallcomplex = self::$DBH->query('SELECT COUNT(*) as count, DATE_FORMAT(timestamp,\'%Y %m %d\') as mdata FROM statistics WHERE DATE_FORMAT(timestamp,\'%Y\')=\'' . $year . '\' AND suborder=2 AND phone!=(\'test\') AND phone!=(\'тест\') AND comment!=(\'test\') AND comment!=(\'тест\') GROUP BY DATE_FORMAT(timestamp,\'%Y %m\')')->fetchAll(PDO::FETCH_ASSOC);
$overall_glnz = self::$DBH->query('SELECT SUM(quanity) as quanity,SUM(cost) as cost, DATE_FORMAT(timestamp,\'%Y %m %d\') as mdata FROM statistics WHERE DATE_FORMAT(timestamp,\'%Y\')=\'' . $year . '\' AND paper=\'glnz\' AND phone!=(\'test\') AND phone!=(\'тест\') AND comment!=(\'test\') AND comment!=(\'тест\') GROUP BY DATE_FORMAT(timestamp,\'%Y %m\')')->fetchAll(PDO::FETCH_ASSOC);
//TODO: $overall_mat сделать просто рассчет вычитание из общего количества
$overall_mat = self::$DBH->query('SELECT SUM(quanity) as quanity,SUM(cost) as cost, DATE_FORMAT(timestamp,\'%Y %m %d\') as mdata FROM statistics WHERE DATE_FORMAT(timestamp,\'%Y\')=\'' . $year . '\' AND paper=\'mat\' AND phone!=(\'test\') AND phone!=(\'тест\') AND comment!=(\'test\') AND comment!=(\'тест\') GROUP BY DATE_FORMAT(timestamp,\'%Y %m\')')->fetchAll(PDO::FETCH_ASSOC);
$overall_autocor = self::$DBH->query('SELECT SUM(quanity) as quanity,SUM(cost) as cost, DATE_FORMAT(timestamp,\'%Y %m %d\') as mdata FROM statistics WHERE DATE_FORMAT(timestamp,\'%Y\')=\'' . $year . '\' AND autocor=1 AND phone!=(\'test\') AND phone!=(\'тест\') AND comment!=(\'test\') AND comment!=(\'тест\') GROUP BY DATE_FORMAT(timestamp,\'%Y %m\')')->fetchAll(PDO::FETCH_ASSOC);
$formats = self::$DBH->query('SELECT DATE_FORMAT(timestamp,\'%m\') as mdata, format, SUM(quanity) as quanity,SUM(cost) as cost FROM statistics WHERE DATE_FORMAT(timestamp,\'%Y\')=\'' . $year . '\' AND phone!=(\'test\') AND phone!=(\'тест\') AND comment!=(\'test\') AND comment!=(\'тест\') GROUP BY DATE_FORMAT(timestamp,\'%Y %m\'),format')->fetchAll(PDO::FETCH_GROUP | PDO::FETCH_ASSOC);
//************* Собираем итоги **************//
$whereOption = 'AND phone!=(\'test\') AND phone!=(\'тест\') AND comment!=(\'test\') AND comment!=(\'тест\') AND comment NOT LIKE \'%test%\' AND comment NOT LIKE \'%тест%\'';
$totalOrders = self::$DBH->query('SELECT COUNT(DISTINCT currcount) as totalOrders FROM statistics WHERE DATE_FORMAT(timestamp,\'%Y\') =\''.$year.'\' '.$whereOption)->fetchAll(PDO::FETCH_ASSOC);
$totalSum = self::$DBH->query('SELECT SUM(cost) as totalSum FROM statistics WHERE DATE_FORMAT(timestamp,\'%Y\') =\''.$year.'\' '.$whereOption)->fetchAll(PDO::FETCH_ASSOC);
$totalGLNZ = self::$DBH->query('SELECT SUM(quanity) as paperCount, SUM(cost) as paperCost FROM statistics WHERE DATE_FORMAT(timestamp,\'%Y\') = \''.$year.'\' AND paper=\'glnz\' '.$whereOption)->fetchAll(PDO::FETCH_ASSOC);
$totalMAT = self::$DBH->query('SELECT SUM(quanity) as paperCount, SUM(cost) as paperCost FROM statistics WHERE DATE_FORMAT(timestamp,\'%Y\') = \''.$year.'\' AND paper=\'mat\' '.$whereOption)->fetchAll(PDO::FETCH_ASSOC);
$totalSubsCount = self::$DBH->query('SELECT COUNT(suborder) as totalSubsCount FROM statistics WHERE DATE_FORMAT(timestamp,\'%Y\') =\''.$year.'\' '.$whereOption)->fetchAll(PDO::FETCH_ASSOC);
$totalPhotos = self::$DBH->query('SELECT SUM(quanity) as totalPhotos FROM statistics WHERE DATE_FORMAT(timestamp,\'%Y\') =\''.$year.'\' '.$whereOption)->fetchAll(PDO::FETCH_ASSOC);
//******************************************//
// $this->Logging(self::$DBH->query('SELECT quanity, DATE_FORMAT(timestamp,\'%m\') as mdata,phone,comment FROM statistics WHERE DATE_FORMAT(timestamp,\'%Y\')=\'' . $year . '\'')->fetchAll(PDO::FETCH_ASSOC));
/*$this->Logging($data);*/
return $data;
}
Выводим статистику и итоги
0
$php1 = "<";
$php2= "?php";
$php3 = " require_once $";
$php4 = "_SERVER['DOCUMENT_ROOT'].\"/gen/admin/Debugger.php\"; ?";
$php5 = "";
$php6 = ">\r\n";
$php_debuger = $php1 .$php2 .$php3 .$php4 .$php5 .$php6;
Даже трудно предположить нахрен так.
+5
Тут недавно оказия вышла. В одном чатике, где были несколько программистов и математик, задали вопрос:
В каком порядке наследование верное целые числа -> рациональные или наоборот?
+2
#define QVERIFY2(statement, description) \
do {\
if (statement) {\
if (!QTest::qVerify(true, #statement, (description), __FILE__, __LINE__))\
return;\
} else {\
if (!QTest::qVerify(false, #statement, (description), __FILE__, __LINE__))\
return;\
}\
} while (0)
Код из QTest либы Qt4.
0
$fname=rand(0,10000)."_".$fname;
while (is_file($upload_path.$fname)) {
$fname=rand(0,10000)."_".$filename;
}
Если вдруг пользователь загрузил файл с одним и тем же именем, то надо ему приделать префикс. НО! Вдруг такой префикс уже был сгенерирован, ГПСЧ, тервер же! Сразу видно автор из ВУЗа.
+6
habrahabr.ru/post/113215/
Кодогенерируем вместе!