Вход | Регистрация

1С:Предприятие ::

Метки:

Найти по номеру документ

Я
   Абитуриент
18.11.04 - 14:26
Подскажите начинающему ТиС 7.7 в обработке в строке
Если Док.НайтиПоНомеру(НДок,ДДок)=1 Тогда
документ находится по номеру, но при этом никак не работает ДДок т.е.находится документ с другой датой. Может я делаю что-то не так?
 
 
   SnarkHunter
 
1 - 18.11.04 - 14:30
Видимо номер не один такой, используй ВыбратьПоНомеру()
   Абитуриент
2 - 18.11.04 - 14:34
Дело в том что документ находится,и других документов с этим номером нет, но при этом дата документа другая и соответственно совершенно не совпадает с ДДок. Может быть я чего-то не понимаю, но здесь должен находится документ по номеру и по дате?
   bsg
3 - 18.11.04 - 14:36
ДДок - дата (любая) из интервала периодичности нумератора, а не дата документа.
   Абитуриент
4 - 18.11.04 - 14:40
Так написано в помощнике:
<Дата> - дата из диапазона, в котором нужно искать документ.
??? Как тогда добится чтобы искал документ и по номеру и по дате(функцию СоздатьОбъект использовать нежелательно)?? Подскажите пжлст...
   SnarkHunter
 
5 - 18.11.04 - 14:42
Тогда ВыбратьПоНомеру и в цикле до нужного...
Или запросом...
   Diter
 
6 - 18.11.04 - 14:43
(0) А ДДок ты создаёшь через
ДДок=СоздатьОбъект("Документ")
или
ДДок=СоздатьОбъект("Документ.ВидДокументаДДок")???
   bsg
7 - 18.11.04 - 14:43
Номера у документа не уникальные?
   Абитуриент
8 - 18.11.04 - 14:46
(3)Спасибо.Понял.
   Абитуриент
9 - 18.11.04 - 14:51
(7)Конфа самописная и номера могли повторяться (контроль уникальности поставили недавно)
(6)Насчет СоздатьОбъект я неправ...Док=СоздатьОбъект("Документ."+ВидДокумента);
Нельзя ли сразу выйти на документ с нужной датой или если дата не совпадает то сообщить об этом...
   GrayT
 
10 - 18.11.04 - 14:55
Дык поставь Дату начала и окончания поиска равной дате документа, но.... А если два номера в один день?
 
  Рекламное место пустует
   bsg
11 - 18.11.04 - 14:58
(9) Раз смогли поставить уникальность - значит они уникальные. Иначе 1С оборалась бы.
Док.НайтиПоНомеру(НДок,ДДок)
Если Док.ДатаДок<>ДДок Тогда
Сообщить("
   GrayT
 
12 - 18.11.04 - 15:04
(11)Ну ругнулась бы пару раз при сохранении. А неуникальность оставила бы.
   Diter
 
13 - 18.11.04 - 15:07
ИМХО чего то товарищь не договоривает.
(0) Приводи код создания объекта и поиска документа весь (в разумных приделах конечно)
   Абитуриент
14 - 18.11.04 - 16:54
Прошу прощения-интернет вылетал...  
Сообщить("Документ."+ВидДокумента+" "+НДок+" от "+ДДок);        ПроводитьДокумент=0;
        Если Док.НайтиПоНомеру(НДок,ДДок)=1 Тогда
        Если Док.Проведен()=1 Тогда
        ПроводитьДокумент=1;
        Сообщить("КОРРЕКТИРОВКА ПРОВЕДЕННОГО ДОКУМЕНТА!Перепроведен.");
        КонецЕсли;
            Док.УдалитьСтроки();
        Иначе
            Док.Новый();
            ПроводитьДокумент=ПроводитьНовые;
        КонецЕсли;
        Док.НомерДок=НДок;
        Док.ДатаДок=ДДок;
        Док.АвтоВремяОтключить();
       Док.УстановитьВремя(Час,Минут,Сек);
Если док проведен ругается что нельзя изменить дату проведенного документа
Если док не проводить -то перезаписывает документ с данным номером но перезаписывает прежней датой. Как изловчиться чтобы в таком случае записывать документ на новую дату, при этом сохраняя прежний документ?
   bsg
15 - 18.11.04 - 16:56
Сделай непроведенным.
   Абитуриент
16 - 18.11.04 - 17:10
(15)Спасибо.Попробую. А как возвратить префикс номера?
Префикс=Док.ПрефиксНомера();почему-то не возвращает этот самый префикс?Или здесь я что-то не учел?
   bsg
17 - 18.11.04 - 17:20
(16) Не возвращает - значит его не задавали.
   Абитуриент
18 - 18.11.04 - 17:28
значит префиксы на этой конфе задаются отдельной процедурой? И эта функция возращает префикс только в случае если он задан процедурой ПрефиксНомера(<Префикс>)Попробую выделить в таком случае цифры от буковок...


Список тем форума
Рекламное место пустует  
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Фредерик Брукс-младший
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует