- 1
integerValue *= 0;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+14
integerValue *= 0;
не обнулил, а на ноль умножил
+1
function getQueryParam(param) {
if (!getQueryParam.params) {
var params = {},
query = window.location.search.substring(1);
if (query) {
var queryParts = query.split('&'),
queryPartsLen = queryParts.length,
decode = decodeURIComponent;
while (queryPartsLen--) {
var queryPart = queryParts[queryPartsLen].split('='),
key = queryPart[0],
value = queryPart[1];
params[decode(key)] = decode(value) || null;
}
}
getQueryParam.params = params;
}
return getQueryParam.params[param] || null;
}
function getQueryParam
−99
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
///////////////////////////////////////////////////////
// Подготовка табличной части документа
тчТовары = Товары.Выгрузить();
Отказ = ОбщийМодуль.СформироватьТабличнуюЧастьСОстаткамиНаСкладе(тчТовары, Ссылка, РежимПроведения, Расшифровка, ВыявлятьНехваткуТоваров);
Для Каждого СтрокаТЧТовары Из тчТовары Цикл
Если ЗначениеЗаполнено(СтрокаТЧТовары.НовыйАдресХранения) И ЗначениеЗаполнено(СтрокаТЧТовары.АдресХраненияАВТО) Тогда
// тут добавляются движения
....
КонецПроцедуры
Функция СформироватьТабличнуюЧастьСОстаткамиНаСкладе(ТабличнаяЧасть, ДокументСсылка, РежимПроведения, Расшифровка, ВыявлятьНехваткуТоваров=Истина) Экспорт
Отказ = Ложь;
Запрос = Новый Запрос;
МВТ = Новый МенеджерВременныхТаблиц;
Запрос.МенеджерВременныхТаблиц = МВТ;
Запрос.Текст =
"ВЫБРАТЬ
| ТЧДокумента.ОбъектНоменклатуры КАК ОбъектНоменклатуры,
| ТЧДокумента.АдресХранения КАК АдресХранения,
| ТЧДокумента.НовыйАдресХранения КАК НовыйАдресХранения,
| ТЧДокумента.Количество КАК Количество,
| ТЧДокумента.КоличествоУУ КАК КоличествоУУ
|ПОМЕСТИТЬ ТЧДокумента
|ИЗ
| &ТЧ КАК ТЧДокумента";
Запрос.УстановитьПараметр("ТЧ", ТабличнаяЧасть);
Запрос.Выполнить();
Запрос.Текст =
"ВЫБРАТЬ
| ТЧДокумента.ОбъектНоменклатуры КАК ОбъектНоменклатуры,
| ТЧДокумента.ОбъектНоменклатуры.Номенклатура КАК Номенклатура,
| ТЧДокумента.ОбъектНоменклатуры.Нарезка.Размер КАК РазмерНарезки,
| ТЧДокумента.АдресХранения КАК АдресХранения,
| ТЧДокумента.НовыйАдресХранения КАК НовыйАдресХранения,
| ЯССМ_ТоварыНаСкладахПоЯчейкамОстатки.АдресХранения КАК АдресХраненияАВТО,
| ЕСТЬNULL(ТЧДокумента.Количество, 0) КАК КоличествоТребуется,
| ЕСТЬNULL(ЯССМ_ТоварыНаСкладахПоЯчейкамОстатки.КоличествоОстаток, 0) КАК КоличествоОстаток,
| ЕСТЬNULL(ТЧДокумента.КоличествоУУ, 0) КАК КоличествоУУТребуется,
| ЕСТЬNULL(ЯССМ_ТоварыНаСкладахПоЯчейкамОстатки.КоличествоУУОстаток, 0) КАК КоличествоУУОстаток,
| ЯССМ_ТоварыНаСкладахПоЯчейкамОстатки.Склад КАК Склад
|ИЗ
| ТЧДокумента КАК ТЧДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЯССМ_ТоварыНаСкладахПоЯчейкам.Остатки(&МоментДокумента, ) КАК ЯССМ_ТоварыНаСкладахПоЯчейкамОстатки
| ПО ТЧДокумента.ОбъектНоменклатуры = ЯССМ_ТоварыНаСкладахПоЯчейкамОстатки.ОбъектНоменклатуры
|ГДЕ
| ТЧДокумента.АдресХранения = ЗНАЧЕНИЕ(Справочник.ЯС_АдресаХранения.ПустаяСсылка)
|";
ТабличнаяЧасть.Очистить();
Запрос.УстановитьПараметр("МоментДокумента", ДокументСсылка.МоментВремени());
// !!!!! делаю это для автоматического получения колонок результирующего запроса. Это крэзи конечно, но пока оставлю так. Нет времени
ТабличнаяЧасть = Запрос.Выполнить().Выгрузить();
ТабличнаяЧасть.Очистить();
ВыборкаОбъект = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаОбъект.Следующий() Цикл
ВыборкаАдресХранения = ВыборкаОбъект.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаАдресХранения.Следующий() Цикл
Если ВыявлятьНехваткуТоваров И ВыборкаАдресХранения.КоличествоТребуется>ВыборкаАдресХранения.КоличествоОстаток Тогда
Расшифровка = Расшифровка + Символы.ПС + "Недостаточно товара (код номенкл.: "+ВыборкаАдресХранения.Номенклатура.Код+") """+ВыборкаАдресХранения.ОбъектНоменклатуры + """" +
?(ЗначениеЗаполнено(ВыборкаАдресХранения.АдресХранения), " по адресу хранения """+ВыборкаАдресХранения.АдресХранения+"""", "")+"! "+
"Остаток товара "+ВыборкаАдресХранения.КоличествоОстаток+", а требуется "+ВыборкаАдресХранения.КоличествоТребуется+".";
Отказ = Истина;
Иначе
ВыборкаАдресХраненияАвто = ВыборкаАдресХранения.Выбрать();
Пока ВыборкаАдресХраненияАвто.Следующий() Цикл
Если ВыборкаАдресХраненияАвто.Количество()>1 Тогда
Расшифровка = Расшифровка + Символы.ПС + "Для товара (код номенкл.: "+ВыборкаАдресХранения.Номенклатура.Код+") """+ВыборкаАдресХранения.ОбъектНоменклатуры + """" +
" невозможно определить адрес хранения, т.к. остатки товаров расположены "+ Символы.ПС
+ " более чем в одном адресе хранения. Необходимо в документе явно указать адрес хранения товара!";
Отказ = Истина;
Иначе
// добавляем строку в результирующую таблицу
НоваяСтрока = ТабличнаяЧасть.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, ВыборкаАдресХраненияАвто);
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЦикла;
КонецЦикла;
Возврат Отказ;
КонецФункции //СформироватьТабличнуюЧастьСОстаткамиНаСкладе
Обработка проведения одного писателя...
Сначала берём выгружаем в ТЗ табличную часть, потом отдаём в общий модуль, там ТЗ передаём параметром в запрос, кладём в ВТ потом в другом запросе соединяем с остатками, меняем имена и состав колонок, выгружаем в ТЗ, возвращаем ТЗ в обработку проведения и уже по ней делаем движения.
Вообще, эта задача решается одним запросом. Но зачем?! Ведь если общий модуль существует, должен же кто-то его испрользовать...
+1
<?
$login= _string($_COOKIE['login']);
$password = _string($_COOKIE['password']);
if($login && $password) {
$q = mysql_query('SELECT * FROM `users` WHERE `login` = "'.$login.'" AND `password` = "'.$password.'"');
$user = mysql_fetch_array($q);
if(!$user) {
setCookie('login', '');
setCookie('password', '');
}
mysql_query('UPDATE `users` SET `online` = "'.time().'",
`ip` = "'.$_SERVER['REMOTE_ADDR'].'",
`ua` = "'.$_SERVER['HTTP_USER_AGENT'].'",
`self` = "'.$_SERVER['PHP_SELF'].'" WHERE `id` = "'.$user['id'].'"');
?>
<?
}
?>
Нашел на бумасе Хд
+1
using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using Excel;
using FPCLib.Models.Broadcasts;
namespace ExcelReadTests.Model.Путевка
{
public class MyExcel : IDisposable
{
private readonly DataTable table;
public MyExcel(string putevkaFileName)
{
table = ReadToTable(putevkaFileName);
}
internal DataTable ReadToTable(string excelFileName)
{
var stream = File.Open(excelFileName, FileMode.Open, FileAccess.Read);
var excelReader = ExcelReaderFactory.CreateBinaryReader(stream);
return excelReader.AsDataSet().Tables[0];
}
public bool IsTvc()
{
if (table.Columns.Count == 10)
return true;
return false;
}
public bool IsFriday()
{
if (table.Columns.Count == 16)
return true;
return false;
}
public List<Broadcast> GetBroadcastsFriday()
{
var broadcasts = new List<Broadcast>();
for (var i = 0; i < table.Rows.Count; i++)
{
if (table.Rows[i][0].ToString().Length > 1)
{
broadcasts.Add(new Broadcast
{
Time = new Time(table.Rows[i][0].ToString()),
Title = table.Rows[i][1].ToString(),
File = table.Rows[i][3].ToString(),
Type = table.Rows[i][7].ToString(),
Id = table.Rows[i][2].ToString(),
Length = new Time(table.Rows[i][4].ToString())
});
}
}
return broadcasts;
}
public List<Broadcast> GetBroadcastsTvc()
{
var broadcasts = new List<Broadcast>();
for (var i = 0; i < table.Rows.Count; i++)
{
broadcasts.Add(new Broadcast
{
Time = new Time(table.Rows[i][0].ToString()),
Title = table.Rows[i][2].ToString().Trim(),
File = table.Rows[i][6].ToString().Trim(),
Type = table.Rows[i][9].ToString().Trim(),
Id = table.Rows[i][1].ToString().Trim(),
Length = new Time(table.Rows[i][5].ToString())
});
}
return broadcasts;
}
public void Dispose()
{
}
}
}
вот так открываю эксельку
DataTable ReadToTable(string excelFileName)
по количеству столбцов, определяю ее источник)
public bool IsTvc()
public bool IsFriday()
и даже поддерживаю интерфейс IDisposable))
+4
public function validate($value) {
try {
$date = new \DateTime($value);
return true;
} catch (\Exception $e) {
return false;
}
}
DateTime Validator
+2
class widget {};
class gadget {};
class bobo {};
int main()
{
widget w(gadget(), bobo()); //Прототип функции или переменная? хмм
return 0;
}
хмм...
+10
template <int N> void f(int v)
{
(void *)v;
}
int main()
{
int s = 123;
int k = 1234;
f<11>(k);
s<11>(k);
return 0;
}
Плюсы, такие плюсы.
+2
$sql = 'SELECT * FROM `user` WHERE `id`=' . $_SESSION['userId'];
$result = $this->db->query($sql);
$data = $result->fetch_assoc();
$sessionId = $data['sessionID'];
$session_id_to_destroy = $sessionId;
$login = 'Login';
if ($_GET['SID'] != $sessionId) {
if (file_exists(ROOT . DS . 'app' . DS . 'sessions' . DS . 'sess_' . $sessionId)) {
unlink((ROOT . DS . 'app' . DS . 'sessions' . DS . 'sess_' . $sessionId));
}
session_id($sessionId);
session_start();
session_destroy();
session_start();
session_regenerate_id($sessionId);
$login = 'Check';
}
$sql = 'UPDATE `user` SET `sessionID`="' . session_id() . '", `lastLogin`=' . time() . ', `everyDayUse`=' . $everyDayUse . ', `lastDayUse`=' . $lastDayUse . ' WHERE `id`=' . $_SESSION['userId'];
$_SESSION['userInfo']['sessionID'] = session_id();
$this->db->query($sql);
0
if (/Version\/5[^S]+Safari/.test(navigator.userAgent)) {
// https://twitter.com/sonnypiers/status/187513545397776384
var xhr = new XMLHttpRequest();
xhr.open('GET', user_photo, true);
xhr.responseType = 'arraybuffer';
xhr.onload = function(e) {
if (this.status == 200) {
var uInt8Array = new Uint8Array(this.response);
var i = uInt8Array.length;
var binaryString = new Array(i);
while (i--) {
binaryString[i] = String.fromCharCode(uInt8Array[i]);
}
var data = binaryString.join('');
var base64 = window.btoa(data);
var image = new Image();
image.onload = function() {
...
};
image.src = 'data:image/jpeg;base64,' + base64;
}
};
xhr.send();
return;
}
var image = new Image();
image.onload = function() {
...
};
image.crossOrigin = 'anonymous';
image.src = user_photo;
потому что старое сафари не умеет image.crossOrigin