|
Реквизит формы НомерВПределахДня | ☑ | ||
---|---|---|---|---|
0
dmitriy_zima
03.06.12
✎
20:07
|
Из внешней обработки создаю документ Установка цен номенклатуры в УТ 11, все создается, за исключением одного но. Как заполнить параметр НомерВПределахДня. Как к нему обратиться из модуля внешней обработки? Получить форму и потом обратиться как форма.реквизит не проходит.
|
|||
1
aleks-id
03.06.12
✎
20:10
|
(*поправляет пенсне*) гдей то такой реквизит?
|
|||
2
dmitriy_zima
03.06.12
✎
20:17
|
Собственно http://itmages.ru/image/view/541130/fd59d49d
|
|||
3
aleks-id
03.06.12
✎
20:19
|
(2) это тебя обманули. это хавно кто то вкрячил в обход фирмы 1С
|
|||
4
dmitriy_zima
03.06.12
✎
20:20
|
значение его на картинке как раз и удивляет. При создании из обработки устанавливается по всей видимости хаотично
|
|||
5
aleks-id
03.06.12
✎
20:21
|
а меня удивляет его назначение. для зачем оно?
|
|||
6
dmitriy_zima
03.06.12
✎
20:22
|
aleks-id вы хоть УТ 11 в глаза видели? Конфа один из последних релизов с ИТС. Собственно какая разница откуда он взялся, вопрос в том как к нему обратиться что бы устоновить?
|
|||
7
dmitriy_zima
03.06.12
✎
20:24
|
Используется скорее всего в бизнеспроцессах, коих в УТ 11 появилось великое множество, пока времени разобраться основательно в них не было
|
|||
8
aleks-id
03.06.12
✎
20:26
|
(6) твою УТ11 не видел. и чо? откуда я знаю откуда у тебя этот бестолковый реквизит?
|
|||
9
DrShad
03.06.12
✎
20:34
|
да и я что-то в УТ не наблюдал такой фигни
|
|||
10
dmitriy_zima
03.06.12
✎
20:49
|
Млин, на днях качал последний релиз, пойду в нем посмотрю
|
|||
11
dmitriy_zima
04.06.12
✎
17:57
|
Сегодня даже обновился для верности. Так вот этот реквизит есть у многих документов. Подскажите как его заполнить?
|
|||
12
DrShad
04.06.12
✎
17:58
|
а у меня нету
|
|||
13
shuhard
04.06.12
✎
18:02
|
(11) [Подскажите как его заполнить]
ДокументОбъект.НомерВПределахДня="777"; ИЛИ ДокументОбъект.НомерВПределахДня=777; как то так |
|||
14
alxbzm
04.06.12
✎
18:10
|
(13) Не угадал )))
&НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) ... Если ЗначениеЗаполнено(Объект.Ссылка) Тогда НомерВПределахДня = ДатаДокумента(Объект.Дата) - НачалоДня(ДатаДокумента(Объект.Дата)) + 1; Иначе НомерВПределахДня = РассчитатьНомерВПределахДня(ДатаДокумента(Объект.Дата), Объект.Ссылка); Объект.Дата = РассчитатьДатуДокумента(ДатаДокумента(Объект.Дата), НомерВПределахДня); КонецЕсли; ... КонецПроцедуры из чего делаем вывод, что супермегафича "Номер в пределах дня" есть не что иное, как количество секунд с начала дня даты документа |
|||
15
DrShad
04.06.12
✎
18:12
|
это какой же извращенный ум такое придумал? и зачем?
|
|||
16
alxbzm
04.06.12
✎
18:22
|
(15) Я предполагаю, для того, чтобы внести ясность в умы праведных пользователей, что установка цен номенклатуры с номером в пределах дня 1 имеет меньший приоритет, чем с номером 2, ибо сравнение двух документов с датами 04.06.2012 00:00:00 и 04.06.2012 00:00:01 не для всех является очевидным. Ну и плюс удобство корректировки размещения документов относительно друг друга.
|
|||
17
DrShad
04.06.12
✎
18:24
|
(16) а если у меня будет за день больше 86400 доков одного вида?
|
|||
18
DrShad
04.06.12
✎
18:30
|
(11) обновился только что, так вот этого реквизита нет у многих документов, а только в подсистеме ценообразования
|
|||
19
dmitriy_zima
05.06.12
✎
10:04
|
А вот как его заполнить при создании документа из обработки? Как рассчитать понятно, а вот как присвоить это значение элементу?
ЭтотДокумент.НомерВПределахДня не проходит, но это и понятно так как это элемент формы. Но и обращение ФормаДока.НомерВПределахДня после получения формы тоже ругается что реквизит не найден |
|||
20
Пеппи
05.06.12
✎
10:06
|
(19) Элемент ?
|
|||
21
experimentator76
05.06.12
✎
10:15
|
(19) если реквизит объекта обработки то через имя объекта точка
если реквизит формы то через элементы точка по памяти пишу обычно интуитивно пишу |
|||
22
alxbzm
05.06.12
✎
15:02
|
(19) да ё-моё ))) никак не надо его заполнять - это реквизит формы вообще и он справочный и как он вычисляется я объяснил в (14). Если необходимо его "присвоить", то дату документу правильную назначить надо. Он сам заполняется при открытии формы, а если он меняется пользователем, то просто у документа пересчитывается дата при записи.
|
|||
23
dmitriy_zima
05.06.12
✎
15:48
|
(22)Правильную это какую еще? Присваиваю текущаядата() и получаю номер из четырех символов.
|
|||
24
alxbzm
05.06.12
✎
16:26
|
(22) ох грешно копипастить типовые, но если автор данного топика не может разобраться в тексте программы, то приведу текст назначения "правильной" даты
Функция РассчитатьНомерВПределахДня(ДатаДокумента, Ссылка) Запрос = Новый Запрос( "ВЫБРАТЬ | МАКСИМУМ(УстановкаЦенНоменклатуры.Дата) КАК Дата |ИЗ | Документ.УстановкаЦенНоменклатуры КАК УстановкаЦенНоменклатуры |ГДЕ | УстановкаЦенНоменклатуры.Ссылка <> &Ссылка | И УстановкаЦенНоменклатуры.Дата МЕЖДУ НАЧАЛОПЕРИОДА(&ДатаДокумента, ДЕНЬ) И КОНЕЦПЕРИОДА(&ДатаДокумента, ДЕНЬ)"); Запрос.УстановитьПараметр("ДатаДокумента", ДатаДокумента); Запрос.УстановитьПараметр("Ссылка", Ссылка); Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); Если Выборка.Следующий() И Выборка.Дата <> Null Тогда Возврат Выборка.Дата - НачалоДня(ДатаДокумента) + 2; Иначе Возврат 1; КонецЕсли; КонецФункции Функция РассчитатьДатуДокумента(ДатаДокумента, НомерВПределахДня) Возврат НачалоДня(ДатаДокумента) + НомерВПределахДня - 1; КонецФункции // сам алгоритм создания и заполнения документа Объект = Документы.УстановкаЦенНоменклатуры.СоздатьДокумент(); Объект.Дата = ТекущаяДата(); НомерВПределахДня = РассчитатьНомерВПределахДня(ДатаДокумента(Объект.Дата), Объект.Ссылка); Объект.Дата = РассчитатьДатуДокумента(ДатаДокумента(Объект.Дата), НомерВПределахДня); // Далее текст заполнения реквизитов // ... Объект.Записать(); (с) авторство полностью 1С так понятнее? |
|||
25
alxbzm
05.06.12
✎
16:27
|
+(24) пардон - еще одну функцию забыл
Функция ДатаДокумента(Дата) Возврат ?(ЗначениеЗаполнено(Дата), Дата, ТекущаяДата()); КонецФункции |
|||
26
dmitriy_zima
06.06.12
✎
00:04
|
Все эти функции я видел. Наконец то разобрался для в смысле всего этого процесса формирования номера. Теперь все понятно.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |