• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

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

  • Автор темы XOXOJI
  • Дата начала
X

XOXOJI

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

XOXOJI

вот что имею на данный момент:

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

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

unknown181538

Непонятно вы изъясняетесь.
Значит создаете новый документ.
Присваиваете ему номер :
НовыйДокумент.НомерДОк=НомерСтарогоДокумента;
НовыйДокумент.Записать();
?
При записи ошибка возникает?
 
K

kaa

1.удаляем старый 2.записываем новый
 
X

XOXOJI

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

vbs

Проверь, какой тип уникальности установлен у документов 2-го типа - если "по всем данного вида" - вполне возможно, что живет документ с какой-то левой датой (или даже с 1-го по 21-й)
Попробуй сделать поиск по номеру. Я такое когда-то встречал - в базе нашелся документ ... от 1900 года
 
X

XOXOJI

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

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

XOXOJI

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

Цикл

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

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


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

XOXOJI

УдалитьОбъекты(Док);

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

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

unknown181538

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

XOXOJI

все равно, перенес запись, и удаление...

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

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

unknown181538

Посмотрите длину и тип номера документов? Может номер, например, обрезается при записи и становится нулевым? Ошибка возникает в первой же итерации цикла?

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

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

XOXOJI

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

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

unknown181538

Нумератор документу не назначен? Думаю дело в нем?
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!