|
Перебор записей документа. Не получается. | ☑ | ||
---|---|---|---|---|
0
Phantomir
05.12.11
✎
15:10
|
Доброго дня!
помогите понять что неправильно сделал: должно При открытии просматривать записи документа и выводить все записи в которых дата ввода +9 дней равна текущей дате Процедура ПриОткрытии() Для каждого стр из ДокументСписок цикл Если стр.ДатаВвода+9 = ТекущаяДата()Тогда Сообщить (стр.ДатаВвода); КонецЕсли; КонецЦикла; КонецПроцедуры |
|||
1
ДенисЧ
05.12.11
✎
15:12
|
стр.ДатаВвода+9 - это дата + 9 секунд...
|
|||
2
Reset
05.12.11
✎
15:12
|
Что неправильно? Да всё.
|
|||
3
marvak
05.12.11
✎
15:13
|
ДокументСписок - это что за элемент?
ПриОткрытии() - это в форме самого документа? |
|||
4
Maxus43
05.12.11
✎
15:13
|
НачалоДня(ДобавитьДень(стр.ДатаВвода, 9)) = НачалоДня(ТекущаяДата())
|
|||
5
Phantomir
05.12.11
✎
15:15
|
код в модуле ФормаСписка
Документы Список Формы Форма списка извините если много ошибок я только начинаю изучать 1С |
|||
6
Reset
05.12.11
✎
15:16
|
По моему, "дата ввода + 9 дней равно текущей" это логика наоборот. Вроде ж понятней "дата ввода равно текущая минус 9 дней" (9 дней назад, по русски)
|
|||
7
Reset
05.12.11
✎
15:17
|
(5) Запрос нужен, никак ты не переберешь "записи"
|
|||
8
marvak
05.12.11
✎
15:18
|
(5)
Хе. Ну у тебя в корне неправильный подход тады. Обычно с документами так не работают в форме списка. Сделай запрос к нужным тебе документам и их выборку предварительно, а уже с выборкой работай. |
|||
9
marvak
05.12.11
✎
15:19
|
(8)+
а уже в выборке применяй конструкцию наподобие (4) |
|||
10
Reset
05.12.11
✎
15:20
|
(9) Наверное, в запросе тоже можно сравнить даты, нет :D
|
|||
11
PVV65
05.12.11
✎
15:22
|
(0)
Расширение табличного поля списка документов СтандартныйПериод (StandardPeriod) Использование: Чтение и запись. Описание: Тип: НастройкаПериода. Содержит объект НастройкаПериода, в соответствии с которым осуществляется настройка периода списка документов при открытии формы, содержащей данное табличное поле. См. также: НастройкаПериода |
|||
12
marvak
05.12.11
✎
15:22
|
(10) Да, конечно.
Но у него кстати нужно сделать фиьтр именно в форме списка.. Отбор по ДатеВвода может ему поставить лучше? |
|||
13
PVV65
05.12.11
✎
15:26
|
Если ДатаВвода - это не Дата документа, тогда "Отбор".
|
|||
14
Reset
05.12.11
✎
15:26
|
(12) У него непонятно сформулировано, что нужно сделать. Буквально - вывести что-то из документов за тот день.
"должно При открытии просматривать записи документа и выводить все записи в которых дата ввода +9 дней равна текущей дате" Куда выводить? Далее по тексту он использует "сообщить".Ок. Пущу по простому пути, недостойному настоящих джедаев. НачПериода=НачалоДня(ТекущаяДата())-9*24*60*60; // -9 дней КонПериода=КонецДня(НачПериода); Выборка=Документы.ИмяТвоегоДокумента.Выбрать(НачПериода,КонПериода); Пока Выборка.Следующий() цикл Сообщить(Выборка.Номер); КонецЦикла; |
|||
15
Reset
05.12.11
✎
15:30
|
(5) У тебе пока не "много ошибок", а "вообще полный пц"
|
|||
16
Reset
05.12.11
✎
15:31
|
(5) Начни джедайскую подготовку с тренировки по внятному описанию задачи :)
|
|||
17
marvak
05.12.11
✎
15:34
|
(16)
Запугали мы его походу :) Слишком много информации вывалили. |
|||
18
Reset
05.12.11
✎
15:36
|
(17) Ну да, сразу много вариантов дали. Кто как понял - то и ответил xd
|
|||
19
Phantomir
05.12.11
✎
15:42
|
:)
я в 1С знаю еще очень мало... |
|||
20
Phantomir
05.12.11
✎
15:42
|
щас попытаюсь обьяснить суть проблемы "по человечески"
|
|||
21
Абыр
05.12.11
✎
15:45
|
(0), видимо, на 7ке писал раньше.
- в 8ке, как правильно замечено в (1), "стр.ДатаВвода + 9" прибавит не дни, а секунды - в 8ке ТекущаяДата() вернет не просто дату, а дату со временем, т.е. совпадение будет проверяться с точностью до секунды. |
|||
22
Phantomir
05.12.11
✎
15:50
|
в Конфигураторе создал пустую конфигурацию (это 1С8.1)
создал в "Документы" один документ называется "Список" его реквизиты: ФИО Город Улица Дом Отметка (это флажок: Истина; Ложь) ...в форме этого документа (Список) создал выходную форму "ФормаСписка" в диалоге при открытии этого документа есть поле "Дата_Ввода" данные из Дата присваивается автоматом при создании новой записи... мне необходимо чтоб выводился список (куда угодно) хоть в виде системного сообщения всех записей которые были введены 9 дней назад... |
|||
23
shuhard
05.12.11
✎
15:56
|
(22) [всех записей которые были введены 9 дней назад]
а если кто-то поменял дату документа, чё - кабздец ? |
|||
24
Phantomir
05.12.11
✎
16:00
|
ну...там по условию "не выгодно" менять дату
проблема не в этом |
|||
25
shuhard
05.12.11
✎
16:13
|
(24) [проблема не в этом]
а в чём ? |
|||
26
Phantomir
05.12.11
✎
16:27
|
в том что я не знаю как написать код
потому и прошу о помощи, более просвещенных в этом вопросе людей |
|||
27
Reset
05.12.11
✎
17:05
|
(26) к примеру,кусок кода в (14) делает то что описано в (22). Разумеется, без учета (23).
Только нужно заменить <ИмяТвоегоДокумента> на имя твоего документа. |
|||
28
Phantomir
05.12.11
✎
17:52
|
...и решить как вывеси список...
буду пробовать... Всем спасибо! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |