- 1
- 2
ТекстОшибки = НСтр("ru='Клиенту ""%Партнер%"" запрещена отгрузка.'");
ТекстОшибки = СтрЗаменить(ТекстОшибки, "%Партнер%", Партнер);
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−3
ТекстОшибки = НСтр("ru='Клиенту ""%Партнер%"" запрещена отгрузка.'");
ТекстОшибки = СтрЗаменить(ТекстОшибки, "%Партнер%", Партнер);
Когда платят за количество строчек, а не смысл. Ебала жаба гадюку просто.
+1
Выб = выбратьизсписка(элемент.списоквыбора,элемент);
СИДЕЛ НАД ЭТОЙ ХУЕТОЙ ДЖВА ЧАСА, И НЕ ПОНИМАЛ ПОЧЕМУ ЭТОТ КУСОК НЕОТРАБАТЫВАЛ И ВОЗВРАЩАЛ НЕОПРЕДЕЛЕНО И СРАЗУ ЖЕ ПРОСКАКИВАЛ ДАЛЬШЕ. ХОТЯ ЭЛЕМЕНТ И СПИСОК ЕСТЬ, ПОИДЕИ ДОЛЖЕН БЫЛ ПОВЫСНУТЬ В ОЖИДАНИИ ПОКА ПОЛЬЗОВАТЕЛЬ ВЫБЕРЕТ ИЗ НЕГО ЗНАЧЕНИЕ.
ОКАЗАЛОСЬ. ОТЛАДЧИК... РЕШИЛ ВЫЗЫВАТЬ САМ СЕБЕ ЭТОТ СПИСОК И САМ ПО СЕБЕ НИХУЯ НЕ ВЫБИРАТЬ.
−1
Функция ПолучитьСтавкуНДС(СтавкаНДС) Экспорт
Если СтавкаНДС = Перечисления.СтавкиНДС.НДС20 ИЛИ СтавкаНДС = Перечисления.СтавкиНДС.НДС20_120 Тогда
Возврат 20;
ИначеЕсли СтавкаНДС = Перечисления.СтавкиНДС.НДС10 ИЛИ СтавкаНДС = Перечисления.СтавкиНДС.НДС10_110 Тогда
Возврат 10;
ИначеЕсли СтавкаНДС = Перечисления.СтавкиНДС.НДС18 ИЛИ СтавкаНДС = Перечисления.СтавкиНДС.НДС18_118 Тогда
Возврат 18;
КонецЕсли;
Возврат 0;
КонецФункции
Банально.
Рарус.
0
Писал значит обмен ну там по http запросами и прочим говном на 1С между сайтом на битриксе и самой базой.
Сидел и думал, каким форматом обмениваться
Эти ссаные phpшники из центральной россии предлагали JSON и CSV.
А я подумал, и подумал что не хочу слишком банально. Написал сериализацию с 1С в lua, и обмениваюсь lua.
эти phpшные хуйни в шоке, ведь у них нет такого десериализатора. Жду от них результата уже джва года.
ух какой я злодей.
−9
Процедура тпТоварыПриПолученииДанных(Элемент, ОформленияСтрок)
Модифицированность_ = Модифицированность;
Для Каждого Стр из ОформленияСтрок Цикл
Если НЕ Стр.ДанныеСтроки.Вес = 0 И НЕ Стр.ДанныеСтроки.ПроцентУсушки = 0 Тогда
Стр.ДанныеСтроки.Усушка = (Стр.ДанныеСтроки.Вес * Стр.ДанныеСтроки.ПроцентУсушки / 100) * Стр.ДанныеСтроки.Количество;
КонецЕсли;
КонецЦикла;
Модифицированность = Модифицированность_;
КонецПроцедуры
Данные табличной части модифицируются в процедуре ПриПолученииДанных (видимо, лучшего места для этого не нашлось), что закономерно приводит к отложенному на мгновение вызову ПриПолученииДанных ещё раз, и ещё, и так далее. В результате процессор загружается почти на 100%, значок * в заголовке формы дико мерцает.
Написано программистом с 6-значной ЗП.
0
| И (ПериодическийРегистрСведенийПриход.ВидДвижения = ЗНАЧЕНИЕ(Перечисление.ОРГ_ВидыДвижений.Приход))
| И (ПериодическийРегистрСведений.ВидДвижения = ЗНАЧЕНИЕ(Перечисление.ОРГ_ВидыДвижений.Расход))
Регистр накопления? Не, это не для нас.
−5
Если ПаузаСек=5 Тогда
//Задержка введена специально, так как нужно подождать бизнес процесс и задачи перейдут в новое состояние
СУУ_УниверсальныеСервер.Пауза(5);
ИначеЕсли ПаузаСек=0 Тогда
//Не ждем
Иначе
СУУ_УниверсальныеСервер.Пауза(ПаузаСек);
КонецЕсли;
+2
https://s22.postimg.cc/5zky9jn1t/Image_from_i_OS.jpg
+2
Попытка
Если Найти( ОформлениеСтроки.ДанныеСтроки.Загружен, Истина ) Тогда
// раскраска строки
КонецЕсли;
Исключение
КонецПопытки
На первый взгляд возникает вопрос: WTF???7семь
На десятый взгляд меня посетили сомненья, ведь код а) рабочий, и 2) гениален!
Смотрите сами.
Вместо "Если ОформлениеСтроки.ДанныеСтроки.Загружен Тогда"
гений с большой буквы "Г" делает финт ушами с наподвыподвертом:
Так как функция "Найти" работает со строками и 1С автоматически преобразует, где возможно, типы, булево значение ОформлениеСтроки.ДанныеСтроки.Загружен приводится к строке, равной "Истина" или "Ложь". Второй аргумент также приводится к строке, равной "Истина". Далее функция "Найти" выполняет поиск подстроки (аргумент №2) в строке (аргумент №1) и возвращает позицию найденной подстроки, в результате имеем 1 если ОформлениеСтроки.ДанныеСтроки.Загружен = Истина, или 0 в противном случае.
Получается
Если 1 Тогда....
или
Если 0 Тогда....
где 1 или 0 автоматически приводится 1Ской к типу булево, где Булево(1) = Истина, и Булево(0) = Ложь.
ИГОГО:
Условие выполняется, а гений с большой буквы "Г"... пугает меня, если честно, одним своим существованием о_О
+1
ВЫБРАТЬ
ПоступлениеТоваровУслуг.Ссылка,
ПоступлениеТоваровУслуг.Дата,
ПоступлениеТоваровУслуг.Контрагент,
ПоступлениеТоваровУслуг.Организация,
ДополнительныеСведения.Значение КАК ДатаВозврата
ПОМЕСТИТЬ втДокументы
ИЗ
Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
ПО ПоступлениеТоваровУслуг.Ссылка = ДополнительныеСведения.Объект
ГДЕ
ДополнительныеСведения.Значение ЕСТЬ NULL
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ПоступлениеУслугПрочихАктивов.Ссылка,
ПоступлениеУслугПрочихАктивов.Дата,
ПоступлениеУслугПрочихАктивов.Контрагент,
ПоступлениеУслугПрочихАктивов.Организация,
ДополнительныеСведения.Значение
ИЗ
Документ.ПоступлениеУслугПрочихАктивов КАК ПоступлениеУслугПрочихАктивов
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
ПО ПоступлениеУслугПрочихАктивов.Ссылка = ДополнительныеСведения.Объект
ГДЕ
ДополнительныеСведения.Значение ЕСТЬ NULL
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
втДокументы.Ссылка КАК Ссылка,
втДокументы.Дата КАК Дата,
втДокументы.Контрагент,
втДокументы.Организация,
втДокументы.ДатаВозврата
ИЗ
втДокументы КАК втДокументы
ГДЕ
втДокументы.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
И втДокументы.Ссылка.Проведен
И втДокументы.ДатаВозврата ЕСТЬ NULL
{ГДЕ
втДокументы.Контрагент.*,
втДокументы.Организация.*}
УПОРЯДОЧИТЬ ПО
Дата,
Ссылка
Охуительная оптимизация запроса временными таблицами, а ведь на первый взгляд даже не говнокод