-
−10
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
Функция РазностьДатВДнях(Дата1, Дата2, ВключаяГраницы = Истина)
Результат = ?(ВключаяГраницы, 1, 0);
Если Дата1 < Дата2 Тогда
ТекущаяДата = НачалоДня(Дата1);
ДатаОкончания = НачалоДня(Дата2);
Иначе
ТекущаяДата = НачалоДня(Дата2);
ДатаОкончания = НачалоДня(Дата1);
КонецЕсли;
Пока ТекущаяДата < ДатаОкончания Цикл
ТекущаяДата = НачалоДня(ТекущаяДата + 24 * 60 * 60);
Результат = Результат + 1;
КонецЦикла;
Возврат Результат;
КонецФункции
можно тремя строками заменить:
ДатаНачала = Мин(НачалоДня(Дата1), НачалоДня(Дата2));
ДатаОкончания = Макс(НачалоДня(Дата1), НачалоДня(Дата2));
Возврат ?(ВключаяГраницы, 1, 0) + (ДатаОкончания - ДатаНачала) / 86400
noncode,
17 Апреля 2017
-
−98
- 1
- 2
Если НоменклатураКонтрагентов.Наличие=Перечисления.ДаНет.Да тогда
....
Создан новый элемент перечисления "ДаНет" на который ссылается измерение регистра сведений. Джордж Буль продолжает медленно крутиться...
FesenkoA,
03 Апреля 2017
-
−99
- 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
Процедура ДвиженияПоРегистрамНесортированнаяПродукция(РежимПроведения, СтруктураШапкиДокумента, ТаблицаПоПродукции, Отказ, Заголовок);
Если Не Отказ Тогда
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ОтчетПроизводстваЗаСменуПродукция.Количество КАК Количество,
| ОтчетПроизводстваЗаСменуПродукция.Номенклатура,
| ОтчетПроизводстваЗаСменуПродукция.ХарактеристикаНоменклатуры
|ИЗ
| Документ.ОтчетПроизводстваЗаСмену.Продукция КАК ОтчетПроизводстваЗаСменуПродукция
|ГДЕ
| ОтчетПроизводстваЗаСменуПродукция.Ссылка = &Ссылка
| И ОтчетПроизводстваЗаСменуПродукция.Номенклатура.АС_УчетНесортированнойПродукции = &ФлагДа";
Запрос.УстановитьПараметр("ФлагДа", Истина);
Запрос.УстановитьПараметр("Ссылка", Ссылка);
Результат = Запрос.Выполнить().Выгрузить();
НаборДвижений = Движения.АС_НесортированнаяПродукцияНаСкладах;
Если Результат.Количество()>0 Тогда
Для Каждого Стр ИЗ Результат Цикл
НоваяСтрока = НаборДвижений.Добавить();
НоваяСтрока.ВидДвижения = ВидДвиженияНакопления.Приход;
ЗаполнитьЗначенияСвойств(НоваяСтрока,Стр);
НоваяСтрока.Период = Дата;
НоваяСтрока.Регистратор = Ссылка;
КонецЦикла;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Нужно больше параметров! Иначе ты не адинэсник, а полное ничтожество. (Это не результат легаси, там реально скопипащено ПЯТЬ процедур с одинаковыми параметрами, из которых используется только "Отказ", да и то как видим - через заднепроходное отверстие)
Old_Chroft,
31 Марта 2017
-
−98
- 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
ВЫБОР
КОГДА МЕСЯЦ(НДФЛСведенияОДоходах.ДатаПолученияДохода) = 1
ТОГДА "01 Январь"
КОГДА МЕСЯЦ(НДФЛСведенияОДоходах.ДатаПолученияДохода) = 2
ТОГДА "02 Февраль"
КОГДА МЕСЯЦ(НДФЛСведенияОДоходах.ДатаПолученияДохода) = 3
ТОГДА "03 Март"
КОГДА МЕСЯЦ(НДФЛСведенияОДоходах.ДатаПолученияДохода) = 4
ТОГДА "04 Апрель"
КОГДА МЕСЯЦ(НДФЛСведенияОДоходах.ДатаПолученияДохода) = 5
ТОГДА "05 Май"
КОГДА МЕСЯЦ(НДФЛСведенияОДоходах.ДатаПолученияДохода) = 6
ТОГДА "06 Июнь"
КОГДА МЕСЯЦ(НДФЛСведенияОДоходах.ДатаПолученияДохода) = 7
ТОГДА "07 Июль"
КОГДА МЕСЯЦ(НДФЛСведенияОДоходах.ДатаПолученияДохода) = 8
ТОГДА "08 Август"
КОГДА МЕСЯЦ(НДФЛСведенияОДоходах.ДатаПолученияДохода) = 9
ТОГДА "09 Сентябрь"
КОГДА МЕСЯЦ(НДФЛСведенияОДоходах.ДатаПолученияДохода) = 10
ТОГДА "10 Октябрь"
КОГДА МЕСЯЦ(НДФЛСведенияОДоходах.ДатаПолученияДохода) = 11
ТОГДА "11 Ноябрь"
ИНАЧЕ "12 Декабрь"
КОНЕЦ
Конвертация
spaceashot,
30 Марта 2017
-
−11
- 1
ДобавитьИндексерованиеВТекстЗапроса(ТекстЗапросаПодневынеДанные, "НеИнициализированныеИстчоникиДанных...
ЗУП КОРП 3.1.2.121
Типовой код.
Обработка.МенеджерДанныхУчетаВремениСотр удников.МодульОбъекта - строка 2410
Arhal,
22 Марта 2017
-
−13
- 1
- 2
- 3
...
ТабличныйДокумент.Вывести(Отчеты[Сред(Лев(ЭтаФорма.ИмяФормы, СтрНайти(ЭтаФорма.ИмяФормы, ".Форма.") - 1), 7)].ПолучитьМакет(Сред(ЭтаФорма.ИмяФормы, СтрНайти(ЭтаФорма.ИмяФормы, "ФормаОтчета")) + "_" + Раздел.ИмяСтраницы));
...
Типовая ЗУП 3.0.25.150, модуль ФОРМЫ регл. отчета 6-НДФЛ.
SkyHunter,
22 Марта 2017
-
−19
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
БланкПостроителяОтчетаНоменклатура = Новый ПостроительОтчета;
Если Конфигурация = "ТорговляУкраина"
ИЛИ Конфигурация = "УТПУкраина" Тогда
Если Истина Тогда
БланкПостроителяОтчетаНоменклатура.Текст=
ЗапросПодготовкаДанных +
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| НоменклатураДетализация.Номенклатура.Код КАК Код,
| НоменклатураДетализация.Номенклатура.Артикул КАК Артикул,
| НоменклатураДетализация.Номенклатура КАК Номенклатура,
| НоменклатураДетализация.Детализация КАК Детализация,
| ЕСТЬNULL(ОстаткиРезервы.Остаток, 0) КАК Остаток,
| НоменклатураДетализация.ТипДетализации КАК ТипДетализации,
//................................................................................................................................................................. //
Если Истина Тогда ...
Действительно, а вдруг Истина = Ложь!
saturn5,
21 Марта 2017
-
−18
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
А ведь и так можно обойти таблицу значений, если подойти к задаче творчески!
Счетчик=0;
Пока 1=1 Цикл
Если Счетчик>=Табл.Количество() Тогда
Прервать;
КонецЕсли;
Стр=Табл[Счетчик];
//.....
//Здесь лютый говнокод,
//не имеющий отношения к этому фееричному паттерну "Итератор"!
// .....
КонецЕсли;
Паттерн "Итератор" для 1С 8.
saturn5,
13 Марта 2017
-
−51
- 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
Если ПустоеЗначение(Клиент.ТипРасхЦены) = 0 Тогда
Если Продавец.Выбран() = 1 Тогда
Если Продавец.Направление.Выбран() = 1 Тогда
СпрТЦН = СоздатьОбъект("Справочник.ТипыЦенПоНаправлениям");
СпрТЦН.ИспользоватьВладельца(Клиент);
Если СпрТЦН.НайтиПоРеквизиту("Направление", Продавец.Направление, 0) = 1 Тогда
ТипЦен = СпрТЦН.ТипЦены.ТипЦены;
Иначе
ТипЦен = Клиент.ТипРасхЦены;
КонецЕсли;
Иначе
ТипЦен = Клиент.ТипРасхЦены;
КонецЕсли;
Иначе
ТипЦен = Клиент.ТипРасхЦены;
КонецЕсли;
ПриВыбореКатЦен();
Иначе
Если (Продавец.Выбран() = 1) И (Клиент.Выбран() = 1) Тогда
Если Продавец.Направление.Выбран() = 1 Тогда
СпрТЦН = СоздатьОбъект("Справочник.ТипыЦенПоНаправлениям");
СпрТЦН.ИспользоватьВладельца(Клиент);
Если СпрТЦН.НайтиПоРеквизиту("Направление", Продавец.Направление, 0) = 1 Тогда
ТипЦен = СпрТЦН.ТипЦены.ТипЦены;
ПриВыбореКатЦен();
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Суть этой сложной конструкции проста:
если тип цены есть в справочнике ТипыЦенПоНаправлениям для определенной комбинации - то берем из него,
иначе берем из реквизита ТипРасхЦены.
Причем этот говнокод еще и раскопирован в два десятка мест по конфигурации и внешним обработкам и отчетам.
Palmer,
03 Февраля 2017
-
−45
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
Если РаздельнаяДоставка И МассивОшибок.Количество() = Получатели.Количество() Тогда
ТекстСообщения = "Сообщения НЕ отправлены !!!";
ИначеЕсли РаздельнаяДоставка И МассивОшибок.Количество() Тогда
ТекстСообщения = "Не все сообщения отправлены !!!";
ИначеЕсли НЕ РаздельнаяДоставка И МассивОшибок.Количество() Тогда
ТекстСообщения = "Сообщение НЕ отправлено !!!";
ИначеЕсли РаздельнаяДоставка И НЕ МассивОшибок.Количество() Тогда
ТекстСообщения = "Сообщения отправлены.";
ИначеЕсли НЕ РаздельнаяДоставка И НЕ МассивОшибок.Количество() Тогда
ТекстСообщения = "Сообщение отправлено.";
Иначе
ТекстСообщения = "Непонятка какая-то!?";
КонецЕсли;
Непонятка какая-то!?
grandatlant,
01 Февраля 2017