Идет бета-тестирование портала. Об ошибках пишите нам или на форуме.

Интимные подробности ДокументМенеджер::НайтиПоНомеру

0

Вопрос

14.11.2008

Описание

8.1 ДокументМенеджер::НайтиПоНомеру(<Номер документа>, <Дата интервала>)
фича второго параметра ?

В Синтакс-Помощнике:
Тип: Дата. Дата из интервала, в котором проводится поиск по номеру. Сам интервал определяется как период уникальности номеров документа, в который входит указанная дата. Например, если номера документов уникальны в пределах месяца и задана дата 10 декабря 2001 года, то поиск будет проводиться в интервале с 01 по 31 декабря 2001 года.
Параметр используется для документов с периодической нумерацией.
Как выяснилось, не всегда(

передаю доки через СОМсоединение
сстут=Дтут.НайтиПоНомеру(Выборка.Номер,'20081030');
если сстут.Пустая() тогда
	Сообщить("Не найдено"+Выборка.Номер+" "+Выборка.Дата); 
	тдок=Дтут.СоздатьДокумент();
иначе
	Сообщить("найдено"+Выборка.Номер+" "+Выборка.Дата);
	тдок=сстут.ПолучитьОбъект();
конецесли;	

(---Документ----)
имя:РегистрацияРазовыхНачисленийРаботниковОрганизаций
периодичность:В пределах года

(---При выполнении----)
{(56)}: Ошибка при вызове метода контекста (Записать): Не уникальный номер документа
тдок.Записать();
по причине:
Не уникальный номер документа

и в списке рядом с оригиналом от 31 10 2008
появляется второй документ с тем же номером от 30 10 2008

Больше коноплю такую я не буду покупать (с)

Оценка сообщества


Добавить плюс Добавить минус

Комментарии (8)

1.
+ -
14.11.2008 18:11:53

Попробуйте

сстут=Дтут.НайтиПоНомеру(Выборка.Номер, КонецДня(Дата(2008, 10, 30, 0, 0, 0)));

2.
+ -
14.11.2008 18:11:46

>и в списке рядом с оригиналом от 31 11 2008
>появляется второй документ с тем же номером от 30 11 2008

В примере еще 10 месяц указан.

3.
+ -
14.11.2008 18:11:56

(1)Пробую снова с "концом дня" и с '20081030' в Табло всё прекрасно находит, минутный глюк платформы?
(2)Конечно, речь об октябре, исправлено, спасибо.

4.
+ -
14.11.2008 18:11:58

ИМХО '20081030' для 8-ки не дата, дата '20081030000000' или Дата(2008, 10, 30)
следовательно, если передан пустой или неправильный параметр даты берётся '00010101000000', а в том периоде действительно таких документов нету.

Для проверки попробуй после тдок=Дтут.СоздатьДокумент(); указать дату документа '20081030'

5.
+ -
14.11.2008 18:11:00

(3) А еще лучше на конец месяца.

6.
+ -
17.11.2008 15:11:12

(4) ?( '20081030'='20081030000000' ,"Дата","НеДата") = Дата (с)Табло
вопрос касался скорее специфики СОМ, да и после удаления "проблемных" доков подобных странностей не возникало, причина осталась в тумане

7.
+ -
17.11.2008 15:11:20

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

8.
+ -
17.11.2008 16:11:48

(7) НЛО улетел)) Не спавшим приношу извинения, после удаления доков и закрытия базы уже никак не удалось нарушить уникальность, остаюсь при мнении, что встретил редкий глюк платформы

Для добавления комментария необходимо зарегистрироваться.
Есть вопросы?
тел. (812) 309-06-46
support@infostart.ru
Обратная связь
Логин :
Пароль :
Забыли пароль?

Статистика

Пользователей: 43857

См. также