Бухгалтерия / Говнокод #26012 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
Функция ДобавитьКДатеМесяц(НачальнаяДата, Количество)
	
	РезультатФункции = Дата("00010101");
	
	ЗапросПериода = Новый Запрос;
	ЗапросПериода.УстановитьПараметр("ДатаНачала",		НачальнаяДата);
	ЗапросПериода.УстановитьПараметр("Количество",		Количество);
	ЗапросПериода.Текст = 
	"ВЫБРАТЬ
	|	ДОБАВИТЬКДАТЕ(&ДатаНачала, МЕСЯЦ, &Количество) КАК ДатаСмещения
	|";
	РезультатЗапросПериода = ЗапросПериода.Выполнить().Выбрать();
	
	Если РезультатЗапросПериода.Следующий() Тогда
		РезультатФункции = РезультатЗапросПериода.ДатаСмещения;
	КонецЕсли;
	
	Возврат РезультатФункции;
	
КонецФункции

Запостил: pahalovo pahalovo, (Updated )

Комментарии (7) RSS

  • Классика. Сам регулярно использую РазностьДат что бы посчитать разность дат...
    Ответить
    • Но есть же функция глобального контекста ДобавитьМесяц
      Ответить
      • Логично пиздец. Что бы вычесть ты должен прибавить отрицательную дату.
        Ответить
  • Обращаемся к СУБД для вычислений, не трогая таблицы?
    Ответить
    • да, именно.

      В вебпараше так тоже часто бывает. А что делать? Два раза одно и тоже писать?
      Ответить
      • Для фронтенда придётся дублировать. Хотя... в «Хроме» можно использовать «SQLite»:
        https://caniuse.com/#search=websql А в «Интернет Эксплорере» можно использовать «SQL Server» через «Active X».
        Ответить
  • Funkciq DobawitxKDateMesqc(NaчalxnaqData, Koliчestwo)
    	
    	RezulxtatFunkcii = Data(\"00010101\");
    	
    	ZaprosPerioda = Nowyj Zapros;
    	ZaprosPerioda.UstanowitxParametr(\"DataNaчala\",		NaчalxnaqData);
    	ZaprosPerioda.UstanowitxParametr(\"Koliчestwo\",		Koliчestwo);
    	ZaprosPerioda.Tekst = 
    	\"WYBRATX
    	|	DOBAWITXKDATE(&DataNaчala, MESQC, &Koliчestwo) KAK DataSmeщeniq
    	|\";
    	RezulxtatZaprosPerioda = ZaprosPerioda.Wypolnitx().Wybratx();
    	
    	Esli RezulxtatZaprosPerioda.Sleduющij() Togda
    		RezulxtatFunkcii = RezulxtatZaprosPerioda.DataSmeщeniq;
    	KonecEsli;
    	
    	Wozwrat RezulxtatFunkcii;
    	
    KonecFunkcii
    Ответить

Добавить комментарий

Семь раз отмерь — один отрежь, guest!

    А не использовать ли нам bbcode?


    8