Алехин Денис

18
Рейтинг

dand1
Денис Алехин



  •   Регистрация: 24.11.2011 (12 лет назад)

  •   Был(а) на сайте: 24.04.2024

Друзья
  • Дмитрий Малышев
  • Евгений Комиссаров
Подписчики 4

Рейтинг 18


Комментарии

AdminОбработка сравнения прав пользователей для платформы 8.3#0 04.09.15 9:37
Обработка сравнения прав пользователей для платформы 8.3 и любой конфигурации.
DevПроверка контрагентов по ИНН и/или КПП в ФНС#6 24.02.15 4:56
(5) vcv, Пробовал, знаю, что есть ошибки при проверке контрагентов. http://npchk.nalog.ru/index.html, тут есть описание api и написано что это еще тестовый сервис видимо ошибки присутствуют. Имел ввиду с сайта ФНС nalog.ru.
DevПроверка контрагентов по ИНН и/или КПП в ФНС#4 20.02.15 15:34
(3) vcv, какой сервис? вы о чем? это обработка проверки контрагентов через API сайта http://egrul.nalog.ru/!
DevПроверка контрагентов по ИНН и/или КПП в ФНС#2 20.02.15 4:27
Да, именно с этого.
DevСрез последних в запросе за период, с периодичностью месяц#8 20.01.15 20:25
(4) ildarovich, Порядком мне надоело спорить с вами так как вы прицепились к наименованию темы и решения, человек написавший комментарий под номером (6) смог применить данное решение, так что кто хочет тот сможет разобраться. А по поводу ваши нескольких запросов в пакете для получения такого же результата, это еще нужно подумать об эффективности, все решается в один запрос:
Код
ВЫБРАТЬ
   ВложенныйЗапрос.Номенклатура,
   ВложенныйЗапрос.Период,
   ЦеныНоменклатуры.Цена
ИЗ
   (ВЫБРАТЬ
      ЦеныНоменклатуры.Номенклатура КАК Номенклатура,
      МАКСИМУМ(ЦеныНоменклатуры.Период) КАК Период
   ИЗ
      РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
   ГДЕ
      ЦеныНоменклатуры.Период МЕЖДУ &ДатаНачала И &ДатаОкончания
      И ЦеныНоменклатуры.Номенклатура = &Номенклатура
   
   СГРУППИРОВАТЬ ПО
      МЕСЯЦ(ЦеныНоменклатуры.Период),
      ГОД(ЦеныНоменклатуры.Период),
      ЦеныНоменклатуры.Номенклатура) КАК ВложенныйЗапрос
      ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
      ПО ВложенныйЗапрос.Номенклатура = ЦеныНоменклатуры.Номенклатура
         И ВложенныйЗапрос.Период = ЦеныНоменклатуры.Период

И еще один момент я вам говорил что нужно получить срез последних на каждый месяц, т.е. последняя установленная цена в каждом месяце, как еще объяснить вам, это называется срез последних в периоде.
Вот что пишет 1с:
Вообще регистры сведений предназначены для хранения информации, развернутой по комбинации измерений. Главное отличие периодического регистра сведений от обычного заключается в том, что в нем присутствует дополнительное системное измерение "Период", имеющее тип "дата". Это позволяет получать не только текущие сведения об объекте, но также на любой момент времени.
http://its.1c.ru/db/metod8dev/content/2588/hdoc
Исходя из выше написанного, могу сделать вывод что срез последних за период с периодичностью в месяц будет равен последней датой установленной в периоде. Уже аргументровал это, что на период, например, 01.01.2001 по 01.02.2001, будет последняя установленное значение с макисмум по периоду, т.е. макисмум по месяцу и году.
Вот нашел вам пример http://kb.mista.ru/article.php?id=92, примерно такое же решение.
DevПроверка контрагентов по ИНН и/или КПП в ФНС#0 20.01.15 11:20
Проверка контрагентов по ИНН и/или КПП и/или Дате регистрации +- 6 дней.
DevСрез последних в запросе за период, с периодичностью месяц#5 20.01.15 4:36
(4) ildarovich, Вы даже сами назвали, это последней установленной ценой в месяце, а последняя установленная цена в период, в данном случае месяц, случайно нельзя назвать, в моем случае, "СрезПоследних за Месяц"? У 1с срез последних, за период 00010101 по "Установленную дату", если "Установленной даты" нет, то на 3999, у меня срок искусственно сокращен до месяца, так в чем проблема?!
И почему вы решили, что в запросе ошибка? Результаты верные? А на премию производительности я не претендовал!
Скажем, у меня стиль программирования такой, у вас другой и я не навязываю всем использовать этот запрос в виде получения данных, просто показал как еще можно использовать язык запросов 1с и да, кстати, читайте внимательнее что написано в начале статьи жирным шрифтом "Обработка является примером/шаблоном, для выполнения схожих задач", если Вы не заметили продублировал в ответе!
DevСрез последних в запросе за период, с периодичностью месяц#3 19.01.15 5:32
(2) ildarovich, Можно еще
Код
МАКСИМУМ(ЦеныНоменклатуры.Период) КАК Период
поменять на
Код
МИНИМУМ(ЦеныНоменклатуры.Период) КАК Период,
и условие изменить получим срез первых. Я же написал, что использовал в собственных целях, а выложил как шаблон.
DevСрез последних в запросе за период, с периодичностью месяц#0 16.01.15 10:58
Обработка является примером/шаблоном, для выполнения схожих задач
DevВ запросе "СрезПоследних" на период, с периодичностью "МЕСЯЦ"#1 16.01.15 9:33
Доброго времени суток. Решил поделиться как сделать в одном запросе "СрезПоследних" на период, с периодичностью в МЕСЯЦ. Прошу сильно не судить, так как делал на скорую руку. Этот код подразумевается, как шаблон для ваших дальнейших задач.

Код
ВЫБРАТЬ
   0 КАК Число
ПОМЕСТИТЬ Числа

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
   1

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
   2

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
   3

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
   4

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
   5

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
   6

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
   7

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
   8

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
   9
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   сч1.Число * 1 + сч2.Число * 10 + сч3.Число * 100 + сч4.Число * 1000 КАК Число
ПОМЕСТИТЬ врСчетчик
ИЗ
   Числа КАК сч1,
   Числа КАК сч2,
   Числа КАК сч3,
   Числа КАК сч4
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ДОБАВИТЬКДАТЕ(&ДатаНачала, МЕСЯЦ, сч.Число) КАК ДатаНачала,
   КОНЕЦПЕРИОДА(ДОБАВИТЬКДАТЕ(&ДатаНачала, МЕСЯЦ, сч.Число), МЕСЯЦ) КАК ДатаОкончания
ПОМЕСТИТЬ врДаты
ИЗ
   врСчетчик КАК сч
ГДЕ
   РАЗНОСТЬДАТ(&ДатаНачала, &ДатаОкончания, МЕСЯЦ) >= сч.Число
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ВложенныйЗапрос.Номенклатура,
   ВложенныйЗапрос.Период,
   ВложенныйЗапрос.ДатаНачала,
   ВложенныйЗапрос.ДатаОкончания,
   ЦеныНоменклатуры.Цена
ИЗ
   (ВЫБРАТЬ
      ЦеныНоменклатуры.Номенклатура КАК Номенклатура,
      МАКСИМУМ(ЦеныНоменклатуры.Период) КАК Период,
      Даты.ДатаОкончания КАК ДатаОкончания,
      Даты.ДатаНачала
   ИЗ
      РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
         ВНУТРЕННЕЕ СОЕДИНЕНИЕ врДаты КАК Даты
         ПО (ЦеныНоменклатуры.Период МЕЖДУ Даты.ДатаНачала И Даты.ДатаОкончания)
            И (ЦеныНоменклатуры.Номенклатура = &Номенклатура)
   
   СГРУППИРОВАТЬ ПО
      ЦеныНоменклатуры.Номенклатура,
      Даты.ДатаНачала,
      Даты.ДатаОкончания) КАК ВложенныйЗапрос
      ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
      ПО ВложенныйЗапрос.Номенклатура = ЦеныНоменклатуры.Номенклатура
         И ВложенныйЗапрос.Период = ЦеныНоменклатуры.Период