Значения периодических реквизитов запросом

   Йожег

24.07.06 — 17:27

в запросе использую Период с НачДата по КонДата

но реквизит в запросе получается неправильный

например на начало дня он был установлен один а на конец другой

в запросе выбирается тот что был установлен на начало дня… как получить который на конец дня?

  

Партнерская программа EFSOL Oblako

   Директор PR отдела

1 — 24.07.06 — 17:28

Потому что он в таблице выше, хаха

   Йожег

2 — 24.07.06 — 17:29

(1) и чо делать?

   mx-daemon

3 — 24.07.06 — 17:29

а никак не получишь :-))
такая вот семерка веселая :-)

   Директор PR отдела

4 — 24.07.06 — 17:30

(3) Чо даже перебором не получишь?

   mx-daemon

5 — 24.07.06 — 17:30

(2) Использовать прямые запросы или
вычислять значение периодических реквизитов при раскрытии группировки

   mx-daemon

6 — 24.07.06 — 17:31

(4) Имелось ввиду семерочным запросом

   Йожег

7 — 24.07.06 — 17:32

короче не все так просто у меня в этом же запросе по этому реквизиту условие — отбирать доки только у которых данный периодический реквизит = определенному значению

   Директор PR отдела

8 — 24.07.06 — 17:33

(7) Так получи значение реквизита до запроса.

   mx-daemon

9 — 24.07.06 — 17:34

(7) Извини, не понял… Док меняет справочник??? Какой периодический реквизит у документов???

   mx-daemon

10 — 24.07.06 — 17:34

(7) Запрос — в студию :-))
Укажи какя именно переменная запроса — периодическая

   Йожег

11 — 24.07.06 — 17:35

|Период с НачДата по КонтрДата;

   |ОбрабатыватьДокументы все;

   |Обрабатывать НеПомеченныеНаУдаление;

   |Без итогов;                

   |ТребованиеДетали   = Документ.ТребованиеДетали.ТекущийДокумент;

   |ДатаТребования     = Документ.ТребованиеДетали.ДатаДок;

   |Марка              = Документ.ТребованиеДетали.Заявка.Модель.Марка;

   |Контрагент            = Документ.ТребованиеДетали.Заявка.Контрагент;            

   |ПриемныйПункт        = Документ.ТребованиеДетали.Заявка.ПриемныйПункт;            

   |Модель             = Документ.ТребованиеДетали.Заявка.Модель;

   |Заявка             = Документ.ТребованиеДетали.Заявка;

   |ФлагОжидания       = Документ.ТребованиеДетали.Заявка.ДопРекв.ФлагОжидания;

   |СервисЦентр        = Документ.ТребованиеДетали.РемОперация.СервисЦентр;    

   |Статус                = Документ.ТребованиеДетали.Статус;

   |Деталь             = Документ.ТребованиеДетали.Деталь;        

   |Количество         = Документ.ТребованиеДетали.Количество;        

   |СтатусВСЦ            = Документ.ТребованиеДетали.Заявка.ДопРекв.СтатусВСЦ;

   |Группировка Марка без групп;

   |Группировка Модель без групп;        

   |Группировка Заявка без групп;    

   |Группировка ТребованиеДетали без групп;

   |Группировка Количество без групп;

   |Группировка Деталь без групп;

   |Группировка СтатусВсц;

   |Условие((Статус=Перечисление.СтатусыТребований.Затребовано) ИЛИ (Статус=Перечисление.СтатусыТребований.ЗатребованВозврат));

   |Условие(СтатусВСЦ=Перечисление.СтатусыЗаявкиВСЦ.ВОжидании);

СтатусВСЦ это и есть эта долбаная переменная, а без нее никак

   Йожег

12 — 24.07.06 — 17:36

(9) У документа есть справочник который хранит некоторые значения в переодике

   Директор PR отдела

13 — 24.07.06 — 17:44

(11) Ты это так не получишь, если у тебя значение может меняться в течение дня.

   mx-daemon

14 — 24.07.06 — 17:46

(13) зато прямым запросом получишь мгновенно :-))

   Йожег

15 — 24.07.06 — 17:47

(14) просвяти как?

   mx-daemon

16 — 24.07.06 — 17:47

например, используй ВК 1С++

   Директор PR отдела

17 — 24.07.06 — 17:48

(14) Слушай, а ты откуда такой умный взялся?

   Йожег

18 — 24.07.06 — 17:49

(16) дык пользую, получать из 1CConst через left join?

   mx-daemon

19 — 24.07.06 — 17:49

Сам посмотри — какова идея твоего запроса??
Да и вот вопрос, что бы такое это означало:
Группировка ТребованиеДетали без групп

   mx-daemon

20 — 24.07.06 — 17:49

(18) Зачем join???

   Директор PR отдела

21 — 24.07.06 — 17:50

Взял попкорн.

   mx-daemon

22 — 24.07.06 — 17:50

(17) а у нас все так пиарятся… и не только директоры :-)) 5-го августа узнаешь :-))

   Директор PR отдела

23 — 24.07.06 — 17:51

(22) Не узнаю. Я не поеду.

   mx-daemon

24 — 24.07.06 — 17:51

(18) Используй временные таблицы для фильтра по документам

   mx-daemon

25 — 24.07.06 — 17:52

(23) … и зря не поедешь :-))

   Директор PR отдела

26 — 24.07.06 — 17:52

(24) И на сколько обязательно юзать временную таблицу в его варианте запроса?

(25) я не существую, инфу поменял.

   mx-daemon

27 — 24.07.06 — 17:54

(26) — для наглядности лучше. Наложение условий на заявку — не вложенный select.
Да и с временными таблицами проще запрос отладить нежели вслепую.

Опять же, непонятно, какова цель запроса

   mx-daemon

28 — 24.07.06 — 17:55

(26) Про инфу не понял, извини, дружище :-)

   Йожег

29 — 24.07.06 — 17:56

(19) идея такова — найти документы ТребованияДетали попадающие под действия фильтров

   Директор PR отдела

30 — 24.07.06 — 17:57

(27) А чего в этом запросе отлаживать? Он довольно простой, просто большой.

К тому же, ты ничего не знаешь насчёт группировок, как он их будет использовать дальше.

   mx-daemon

31 — 24.07.06 — 17:59

(29) Тогда смысл сводится к следующему:
1. Создать фильтры в виде временных таблиц
2. Дернуть доки с учетом фильтра
3. Оптимизировать запрос
Итого на все про все минут 20

   mx-daemon

32 — 24.07.06 — 18:01

(30) А мне и не надо знать — завки или что-нить там исчо можно сгруппировать встроенными средствами 1С.
С другой стороны, можно написать функцию, возвращающую значения фильтра — возвращаемое значение — заявка

   mx-daemon

33 — 24.07.06 — 18:01

+(32) По СтатусВСЦ

   Йожег

34 — 24.07.06 — 18:01

это очень универсальный отчет вывод группировок и условия отбора задаются в самой форме отчета — возможны 3 группировки Марка,Модель,Деталь и условия отбора это все переменные перечисленные в запросе — возможно такое сделать через ТЗ?

   Директор PR отдела

35 — 24.07.06 — 18:02

(32) Я имел ввиду Группировка в запросе 1С. Только без «без групп».

   mx-daemon

36 — 24.07.06 — 18:02

(34) — пиши функцию, возвращающую фильтр по периодике

   Директор PR отдела

37 — 24.07.06 — 18:03

(36) А дату он откуда брать будет?

   mx-daemon

38 — 24.07.06 — 18:05

(37) а откуда она в запросе берется???

   Директор PR отдела

39 — 24.07.06 — 18:06

|ОбрабатыватьДокументы все;

   |Обрабатывать НеПомеченныеНаУдаление;

Прикольно.

Ещё 4 точки тоже прикольно к СтатусВСЦ.

(38) А ему надо на дату конца или чо? Я уже забыл.

   mx-daemon

40 — 24.07.06 — 18:07

(39) Я так понял, что по всем в ожидании за период

   Йожег

41 — 24.07.06 — 18:08

(40) на дату конца

   mx-daemon

42 — 24.07.06 — 18:09

(41) Совсем просто :-)

   Директор PR отдела

43 — 24.07.06 — 18:10

(42) Ну так напиши ему. Уже 50 постов скоро, а кроме понтов от тебя ничего нет :-)

   Йожег

44 — 24.07.06 — 18:11

да напишите мне плиз, а то просто — просто

   mx-daemon

45 — 24.07.06 — 18:11

(43) Не в понтах дело… Ты сам-то задачу понял до конца?
Я — нет. Что писать? Как дернуть из констант значение на заданную дату?

   Джинн

46 — 24.07.06 — 18:12

(39) По сравнению с прикольностью самого «статуса» это вообще ничего :)

   Йожег

47 — 24.07.06 — 18:13

(45) это не константа, это периодическое значение справочника проблема в том что гребаный 1С в запросе получает значение на начало дня, а не на конец

   ШтушаКутуша

48 — 24.07.06 — 18:13

Никак.Впрочем,ИМХО.

   Директор PR отдела

49 — 24.07.06 — 18:13

(45) У него на одну дату у периодического реквизита ставится несколько значений. Посмотри в таблице как оно выглядит блин, умник!

А ему надо получить то значение, которое по его мнению ставится на конец даны ДатаКонца.

   Стрелок

50 — 24.07.06 — 18:15

(49) так как ты не старайся — ты получишь значение на конец дня. потому как в 7.7 нет времени периодики, есть только дата

   КонецЦикла

51 — 24.07.06 — 18:15

Однако, товарищи, моно заюзать регистр :)

   mx-daemon

52 — 24.07.06 — 18:16

(49) Я-то как раз умник. На дату — два значения? Ок. Поле Time я откуда увижу?
Как меняется реквизит? Документами?
Много инфы, директор,а?

   Йожег

53 — 24.07.06 — 18:17

(52) да документами

   Стрелок

54 — 24.07.06 — 18:17

(52) да какая разница нафик? читай 50 и думай

   mx-daemon

55 — 24.07.06 — 18:17

(50) Поля TIME и DOCID перестали существовать???

   Стрелок

56 — 24.07.06 — 18:17

(53) объект «периодический» вам что нибудь говорит?

   mx-daemon

57 — 24.07.06 — 18:18

(53) Задним числом проводятся? Реквизит виден по последовательности документов?

   Стрелок

58 — 24.07.06 — 18:18

(55) а получи их средствами 1С….. напрямую? а зачем? всё равно рулит значение на конец дня….. так что — чисто спортивный интерес удовлетворить?

   Директор PR отдела

59 — 24.07.06 — 18:20

(52) Если ты не заметил, то приведённый выше автором запрос написан не на SQL.

   Директор PR отдела

60 — 24.07.06 — 18:21

Не пойму, вы все тупые или прикалываетесь?

   mx-daemon

61 — 24.07.06 — 18:22

(59) Так и задача изначально «размыта» —
«но реквизит в запросе получается неправильный

например на начало дня он был установлен один а на конец другой
в запросе выбирается тот что был установлен на начало дня… как получить который на конец дня?»

Какого дня? там две даты.
На КонтрДата?
Тогда, согласись, скуль никчему — отдельный одинэсовский запрос-фильтр

   Директор PR отдела

62 — 24.07.06 — 18:24

(61) Я уже уточнял какой даты.

   КонецЦикла

63 — 24.07.06 — 18:25

(60) Тупые

Решение — в (51)

   mx-daemon

64 — 24.07.06 — 18:26

(63) Умный. Ну-ка движение по регистрам непроведнного документа в студию

   Директор PR отдела

65 — 24.07.06 — 18:27

(64) Без проблем. Сейчас в моде движений удалённого документа по перечислениям. А твоя задача уже многолетний баян.

   mx-daemon

66 — 24.07.06 — 18:28

(62) Неясно по какому принципу «рассаживаются» значения статуса в одном дне по полю TIME или по последовательности

   mx-daemon

67 — 24.07.06 — 18:29

(65) По регистрам???

   mx-daemon

68 — 24.07.06 — 18:30

(65) Тогда что же ты, мил человек, пиаришься — напиши сам.

   КонецЦикла

69 — 24.07.06 — 18:30

(64) Почему именно непроведенного? ВыборГруппы() сможет как-то решить проблему?

   mx-daemon

70 — 24.07.06 — 18:33

(69) Ага… На определение переменной глянь

   Директор PR отдела

71 — 24.07.06 — 18:33

(68) Я не пиарюсь, мне по фиг. Ты тут про поля TIME и IDDOC, временные таблицы говорил, ещё какие-то страшные слова, вот ты и отвечай. Я вообще не в курсе, что это такое.

(69) Вот, наконец-то умный человек пришёл.

   Директор PR отдела

72 — 24.07.06 — 18:34

(70) А релиз-то у тебя какой?!

   КонецЦикла

73 — 24.07.06 — 18:39

(70) Что есть «определение переменной»?

   mx-daemon

74 — 24.07.06 — 18:40

(72) с 15,17,19,20,24,25 SQL
говорю же нет под рукой.

   mx-daemon

75 — 24.07.06 — 18:41

(73) см (12)
|Период с НачДата по КонтрДата;
|ОбрабатыватьДокументы все;
|Обрабатывать НеПомеченныеНаУдаление;
|Без итогов;                
|ТребованиеДетали   = Документ.ТребованиеДетали.ТекущийДокумент;

Т.е. ТребованиеДетали   это документ

   mx-daemon

76 — 24.07.06 — 18:44

(71) смотри пост (18). Раз использует — значит может сам написать.

   ШтушаКутуша

77 — 24.07.06 — 18:49

(71) Приехал бы 5-го в Москву!  Прошу прощения за ОФФ.

   mx-daemon

78 — 24.07.06 — 18:49

(77) не говори :-)

   Директор PR отдела

79 — 24.07.06 — 18:51

(77) Зачем?

   1C_ZeroMan

80 — 24.07.06 — 19:09

офф: гениальная ветка.. особо если учесть название: «Периодический реквизит в запросе» :)))

   mx-daemon

81 — 24.07.06 — 19:11

(80) мне тоже нравится :-)

   ШтушаКутуша

82 — 24.07.06 — 19:11

(79)Выпили бы! Посмотрели на мардализации друг друга! Чем плохо?

   1C_ZeroMan

83 — 24.07.06 — 19:19

офф: а у нас на соседней улице открыли погребок кубанских вин.. взял «портвейн 22» не знаю что еть такое (точно не портвейн) — но рульная штука. всем рекомендую.. %) сорри, если что не так..

   ws_mason

84 — 25.07.06 — 07:12

-> например на начало дня он был установлен один а на конец другой

Гы, гы, гы: Учи матчасть Йожэг, периодичность периодического (тавтология однако :) реквизита в 7.7 — 1 день(сутки). Не може у него быть разных значений на одну дату. А запрос выбирает значение на дату конца периода по которому этот запрос выполняется.

   Rovan

85 — 25.07.06 — 08:24

(84) пер. реквизит в 7.7 можно установить с точностью до секунды — другое дело что штатныные Установить() и Получить() работают с датой, а не с секундой, но и это при желании можно обойти

   Rovan

86 — 25.07.06 — 08:25

(+85) Попробую телепата крикнуть :-)
периодический реквизит время секунда
ТелепатБот, ответь!

   ТелепатБот

87 — 25.07.06 — 08:25

   orefkov

88 — 25.07.06 — 08:38

Если юзаешь 1С++, смотри в доке по доступу к БД $ПоследнееЗначение

   orefkov

89 — 25.07.06 — 08:43

(84), (85) — периодический реквизит в 1С 77 можно устанавливать с точностью до позиции документа.

  

Rovan

90 — 25.07.06 — 08:54

(89) Точно!

AndyG, эта конфа осталась от предыдущего программера. а периодический реквизит уже существует. так что проблема выбора у меня не стоит Улыбаюсь что есть то и надо.
У меня возник такой вопрос.

Перем Запрос, ТекстЗапроса, Таб;
//Создание объекта типа Запрос
Запрос = СоздатьОбъект(«Запрос»);
ТекстЗапроса =
«//{{ЗАПРОС(Сформировать)
|Период с ВыбНачПериода по ВыбКонПериода;
|ОбрабатыватьДокументы все;
|Долг = Справочник.Сотрудники.Долг; // это периодический реквизит
|Группировка Долг;
|Условие(Долг>0);
|»//}}ЗАПРОС
;
// Если ошибка в запросе, то выход из процедуры
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;

// Подготовка к заполнению выходных форм данными запроса
Таб = СоздатьОбъект(«Таблица»);
Таб.ИсходнаяТаблица(«Сформировать»);
// Заполнение полей «Заголовок»
Таб.ВывестиСекцию(«Заголовок»);
Состояние(«Заполнение выходной таблицы…»);
Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
Пока Запрос.Группировка(1) = 1 Цикл
// Заполнение полей Код
Таб.ВывестиСекцию(«Код»);
КонецЦикла;
// Вывод заполненной формы
Таб.ТолькоПросмотр(1);
Таб.Показать(«Сформировать», «»);

при таком коде, т.е. используется только один периодический реквизит запрос срабатывает и
выдает результат на начало выбранного промежутка времени. скажите это глюк? или я чего то не понял.

  1. Есть такая задача: нужно запросить элемены справочника со значениями периодических реквизитов, установленных в определенном периоде. Например, я формирую запрос за период июль месяц 2007 года. Если для элемента справочника установлено значение периодического реквизита июльской датой, то это значение должно попасть в результат запроса, а если значение записано допустим в июне, а позже ничего нового не записывалось, то в данном случае в запрос ничего не должно попасть.


  2. Snake-84

    Offline

    Snake-84
    Опытный в 1С

    Регистрация:
    28 янв 2007
    Сообщения:
    110
    Симпатии:
    0
    Баллы:
    26

    Если не сложно, покажи как, а то самому такое скоро предстоит

  3. Создаешь внешнюю функцию для проверки даты ввода значения периодического реквизита, вот моя:

    Функция Актуальность(Элемент)
    ОП = СоздатьОбъект(«Периодический»);
    ОП.ИспользоватьОбъект(«ПланПродаж», Элемент);
    ОП.ВыбратьЗначения();
    Пока ОП.ПолучитьЗначение() = 1 Цикл
    //ДатаНачала — дата начала отчета.
    //В моем случае может быть только одна запись за месяц
    Если НачМесяца(ОП.ДатаЗнач) = НачМесяца(ДатаНачала) Тогда
    Возврат 1;
    КонецЕсли;
    КонецЦикла;
    Возврат 0;
    КонецФункции

    В запросе создаешь дополнительное условие

    |ТекЭлемент = Справочник.ПланДляКонтрагента.ТекущийЭлемент;
    |Условие (Актуальность(ТекЭлемент) = 1);


1C-pro.ru - форум по 1С:Предприятию 7.7, 8.0, 8.1, 8.2, 8.3

Ввод записей в журнал расчетов 1
Добавление записи в журнал расчетов:
Метод Новая может быть вызван где угодно, в глобальном модуле, модуле обработок, документов и т.д.
Данный метод проверяет корректность заполненных реквизитов журнала расчетов. При вводе новых записей журнал


Внешние источники данных 0
Почему данная возможность вызывает такой интерес? Любой человек, который программировал в 1С при этом достаточно неплохо знаком с SQL и хотя бы в общих чертах знаком с архитектурой и принципами разработки других технологических платформ для бизнес пр


Выборка (перебор) бизнес-процессов 0
Выбрать( , , , )
отбора
отбора
(необязательный) — Структура. Задает реквизит вида расчета и значение этого реквизита, по которому будет создана выборка. Ключ структуры задает имя реквизита, а значение структуры — значение отбора по этому рекви


Выборка (перебор) видов расчета 0
Выбрать( , )
(необязательный) — Структура. Задает реквизит вида расчета и значение этого реквизита, по которому будет создана выборка. Ключ структуры задает имя реквизита, а значение структуры — значение отбора по этому реквизиту. В качестве рекви


Выборка запросом, перебор задач 1
Выбрать( Отбор , Порядок )
Отбор (необязательный) — Структура. Задает реквизит вида расчета и значение этого реквизита, по которому будет создана выборка. Ключ структуры задает имя реквизита, а значение структуры — значение отбора по этому рекви


Посмотреть все результаты поиска похожих

Понравилась статья? Поделить с друзьями:
  • Идеи малого бизнеса с быстрой окупаемостью
  • Индивидуальное предприятие примеры бизнеса
  • Идентификационный код что это в реквизитах
  • Индивидуальный проект бизнес план 10 класс
  • Избирательный участок время работы сегодня