1. Спонсор публикаций Marketplace codeby. Сервис, который так долго ждали. При расчетах используем биткоин. Первый товар уже в продаже: Консультация на тему ИБ от Ondrik8

    Скрыть объявление
  2. Спонсор публикаций Marketplace codeby. Сервис, который так долго ждали. При расчетах используем биткоин. Второй товар маркетплейса: Надёжная обфускация вашей программы от PingVinich

    Скрыть объявление

Сохранение документов

Тема в разделе "1C и всё что с ней связано", создана пользователем XOXOJI, 28 мар 2009.

  1. XOXOJI

    XOXOJI Гость

    Репутация:
    0
    Вопрос такой.
    1C v77
    появилось необходимость, в такой фишке. из документа по истечению срока копируется нужная информация в документ другого типа.
    после чего старый удаляется, а вот записать новый,с тем же номером, не получается, кто-нибудь знает как эту проблему решить? нужно именно чтоб с тем же номером сохранялся.
     
  2. vbs

    vbs Well-Known Member

    Репутация:
    0
    Регистрация:
    18 фев 2007
    Сообщения:
    1.708
    Симпатии:
    3
    опиши проблему, что сообщает программа, если "не получается"
     
  3. XOXOJI

    XOXOJI Гость

    Репутация:
    0
    вот что имею на данный момент:

    при создании нового документа, его нумерация идет почему-то с 22 а не с 1, посему так, я не пойму... думал конфликт между документами, но именно этот список документов пустой при создании нового...

    не знаю почему так, хотелось бы конечно, чтоб нумерация с 1 шла
     
  4. unknown181538

    unknown181538 НеГуру
    1C Team

    Репутация:
    0
    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    Непонятно вы изъясняетесь.
    Значит создаете новый документ.
    Присваиваете ему номер :
    НовыйДокумент.НомерДОк=НомерСтарогоДокумента;
    НовыйДокумент.Записать();
    ?
    При записи ошибка возникает?
     
  5. vbs

    vbs Well-Known Member

    Репутация:
    0
    Регистрация:
    18 фев 2007
    Сообщения:
    1.708
    Симпатии:
    3
    если так делать, проблем быть не должно
     
  6. unknown181538

    unknown181538 НеГуру
    1C Team

    Репутация:
    0
    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    Может быть нарушена уникальность.
     
  7. kaa

    kaa Гость

    Репутация:
    0
    1.удаляем старый 2.записываем новый
     
  8. XOXOJI

    XOXOJI Гость

    Репутация:
    0
    попробую объяснить еще понятнее. есть 2 типа документов. насколько я понимаю, их номера между собой не должны иметь никакой связи, проверял создавая документы первого типа(у которых нумерация идет с 1) создавал номером любым, который существует у документов 2-го типа, все нормально, документ создается без ошибок. а у документов 2-го типа, почему то нумерация начинается с 22 и не хочет создаваться документ с номером 1, ошибка "номер не уникальный"
     
  9. vbs

    vbs Well-Known Member

    Репутация:
    0
    Регистрация:
    18 фев 2007
    Сообщения:
    1.708
    Симпатии:
    3
    Проверь, какой тип уникальности установлен у документов 2-го типа - если "по всем данного вида" - вполне возможно, что живет документ с какой-то левой датой (или даже с 1-го по 21-й)
    Попробуй сделать поиск по номеру. Я такое когда-то встречал - в базе нашелся документ ... от 1900 года
     
  10. XOXOJI

    XOXOJI Гость

    Репутация:
    0
    1. перед сохранением документа удаляю старый. он удаляется, сообщение внизу пишется.
    2. очищаю переменную, в которой был открыт документ.
    3 присваиваю новому документу номер старого.
    4 сохраняю, но получаю ошибку, номер не уникален

    проверил, база пустая!
     
  11. unknown181538

    unknown181538 НеГуру
    1C Team

    Репутация:
    0
    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    код в студию!
     
  12. XOXOJI

    XOXOJI Гость

    Репутация:
    0
    Док=СоздатьОбъект("Документ.Залоговый");
    Док1=СоздатьОбъект("Документ.НаТорги");
    Док.ВыбратьДокументы();
    Пока Док.ПолучитьДокумент() > 0

    Цикл

    Если Док.Льгот<ДатТ
    Тогда

    Док1.Новый();
    Док1.НомерЗал=Док.НомерДок;
    Док1.Метка="Нет";
    Док.ВыбратьСтроки();
    Пока Док.ПолучитьСтроку() > 0 Цикл
    Док1.НоваяСтрока();
    Док1.Предмет=Док.Предмет.Наименование;
    Док1.Описание=Док.Описание.Наименование;
    Док1.ФИО=Док.ФИО.Наименование;
    Док1.Возвр=Док.СуммаКредита;
    Док1.Прейскурант=Док.Прейскурант.Наименование;
    Док1.Вес=Док.ЧистыйВес;
    док1.Метка=да;
    сообщить (Док.НомерДок);
    Док.Удалить();
    УдалитьОбъекты(Док);
    док1.номердок=док1.номерзал ;
    сообщить (Док1.НомерДок);
    Док1.Сумма=Док1.Вес*Док1.Цена;
    Док1.Записать();
    КонецЦикла;
    КонецЕсли;
    КонецЦикла;


    вроде ничего не пропустил..
     
  13. vbs

    vbs Well-Known Member

    Репутация:
    0
    Регистрация:
    18 фев 2007
    Сообщения:
    1.708
    Симпатии:
    3
    А это что за зверь ?

    Док1.Записать();
    Надо делать по окончании цикла перебора строк ! А то ты его записываешь при обработке каждой строки Док
     
  14. XOXOJI

    XOXOJI Гость

    Репутация:
    0
    УдалитьОбъекты(Док);

    очистка переменной Док (тоесть удаление объекта), прописал, потому что думал в этом проблема

    щас попробую после цикла поставить
     
  15. unknown181538

    unknown181538 НеГуру
    1C Team

    Репутация:
    0
    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    И удаление в цикле перебора строк штука сомнительная. Не знаю как оно работает, но с точки зрения дальнейшего чтения кода нехорошо. Если вам нужно получить только одну строку пишите "прервать" или не "Пока получитьСтроку()", а "Если ПОлучитьСТроку()=1".
     
  16. vbs

    vbs Well-Known Member

    Репутация:
    0
    Регистрация:
    18 фев 2007
    Сообщения:
    1.708
    Симпатии:
    3
    излишество уж точно
     
  17. XOXOJI

    XOXOJI Гость

    Репутация:
    0
    все равно, перенес запись, и удаление...

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

    ну значится перенес удаление документа и запись за цикл... все равно пишет что номер не уникален
     
  18. unknown181538

    unknown181538 НеГуру
    1C Team

    Репутация:
    0
    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    Посмотрите длину и тип номера документов? Может номер, например, обрезается при записи и становится нулевым? Ошибка возникает в первой же итерации цикла?

    ААА!! Нумератор у документа не назначен?

    "УдалитьОбъекты" уберите, т.к. после удаления Док возможно позиционируется на другую запись.
     
  19. XOXOJI

    XOXOJI Гость

    Репутация:
    0
    перед записью специально вывожу номер документа, который будет сохраняться... поэтому вижу что он точно не нулевой... а в остальном уже запарился, проверил ссылки на этот тип документов, кроме 1-го журнала, в котором они используются, нигде нет

    тип номера "число", длинна 5
     
  20. unknown181538

    unknown181538 НеГуру
    1C Team

    Репутация:
    0
    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    Нумератор документу не назначен? Думаю дело в нем?
     
Загрузка...

Поделиться этой страницей