|
Программное копирование доумента | ☑ | ||
---|---|---|---|---|
0
igel1969
18.02.16
✎
15:28
|
Здравствуйте!
1С 8.2 УТ 10.3 Копирую документ (не сегодняшний, за предыдущие даты) КопияДО = ДО.Скопировать(); КопияДО.Дата = ДО.Дата; КопияДО.Товары.Очистить(); Стр = КопияДО.Товары.Добавить(); Стр.Номенклатура = Номенклатура; Стр.Количество = 1; Стр.Цена = Цена; Стр.Сумма = Цена; Стр.ХарактеристикаНоменклатуры = Характеристика; Стр.ЕдиницаИзмерения = ЕИ; Стр.СтавкаНДС = СтавкаНДС; КопияДО.Контрагент = КонтрагентГл; КопияДО.ДоговорКонтрагента = КонтрагентГл.ОсновнойДоговорКонтрагента; Сообщить(КопияДО.Номер); КопияДО.Записать(РежимЗаписиДокумента.Проведение); Пишет Не уникальный номер, а в Сообщить выводит пустоту. Пожалуйста, подскажите, что можно сделать? |
|||
1
Лефмихалыч
18.02.16
✎
15:30
|
ДокументОбъект.<Имя документа>.УстановитьНовыйНомер (DocumentObject.<Имя документа>.SetNewNumber)
ДокументОбъект.<Имя документа> (DocumentObject.<Имя документа>) УстановитьНовыйНомер (SetNewNumber) Синтаксис: УстановитьНовыйНомер(<ПрефиксНомера>) Параметры: <ПрефиксНомера> (необязательный) Тип: Строка. Префикс устанавливаемого номера. Значение по умолчанию: Пустая строка. Описание: Устанавливает новый номер документа для заданного префикса номера. Доступность: Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер). Примечание: Для документов с нумерацией в пределах периода, номер устанавливается в пределах периода, соответствующего установленной дате документа. Если дата - пустая, процедура установит номер в пределах периода соответствующего пустой дате. Пример: РасходнаяНакладная.УстановитьНовыйНомер(ПрефиксИБ); См. также: ДокументОбъект, событие ПриУстановкеНовогоНомера |
|||
2
igel1969
18.02.16
✎
15:38
|
(1) Я понимаю, что пишу бред, но номер устанавливается какой-то уже существующий. Причем я даже нашел документ с таким же номером в этом году (((((( очень странно. При ручном создании документа номер присваивается нормально.
Может мне создавать документ текущей датой, а потом его назад переносить? |
|||
3
Лефмихалыч
18.02.16
✎
15:42
|
(2) еще подумай
|
|||
4
igel1969
18.02.16
✎
15:44
|
(3) Попробовал вообще без даты - так оно создало номер 0000000001.
|
|||
5
Идентификатор
18.02.16
✎
15:48
|
(4) организаций сколько в базе. Префиксы есть?
|
|||
6
igel1969
18.02.16
✎
15:48
|
Похоже, придется заново весь документ создавать, чего-то этот механизм "Скопировать" некорректно работает ((((
|
|||
7
Идентификатор
18.02.16
✎
15:50
|
(6) нормально он работает. (1) внимательно прочитай и (3)
|
|||
8
igel1969
18.02.16
✎
15:50
|
Префикс есть, он прошит в настройках, так что когда я
запускаю КопияДО.УстановитьНовыйНомер(); то номер присваивается уже с префиксом, хотя я его и не указал. Но номер почему-то существующий. Организация одна. |
|||
9
Идентификатор
18.02.16
✎
15:52
|
(8) код с последними изменениями выложи
|
|||
10
Ma3eIIa
18.02.16
✎
15:52
|
Так ты же тот же номер ставишь !!!!
КопияДО.Дата = ДО.Дата; |
|||
11
Ma3eIIa
18.02.16
✎
15:53
|
(10) пля дату :)
|
|||
12
Лефмихалыч
18.02.16
✎
15:56
|
(6) будет то же самое
|
|||
13
Ma3eIIa
18.02.16
✎
15:56
|
Очисти номер и дату у с копированого документа и сохрани
|
|||
14
igel1969
18.02.16
✎
15:57
|
КопияДО = ДО.Скопировать();
КопияДО.Дата = ТекущаяДата(); КопияДО.УстановитьНовыйНомер(); КопияДО.Дата = ДО.Дата; КопияДО.Товары.Очистить(); Стр = КопияДО.Товары.Добавить(); Стр.Номенклатура = Номенклатура; Стр.Количество = 1; Стр.Цена = Цена; Стр.Сумма = Цена; Стр.ХарактеристикаНоменклатуры = Характеристика; Стр.ЕдиницаИзмерения = ЕИ; Стр.СтавкаНДС = СтавкаНДС; КопияДО.Контрагент = КонтрагентГл; КопияДО.ДоговорКонтрагента = КонтрагентГл.ОсновнойДоговорКонтрагента; Сообщить(КопияДО.Номер); КопияДО.Записать(РежимЗаписиДокумента.Проведение); |
|||
15
Лефмихалыч
18.02.16
✎
15:59
|
(14) рано ты установку номера вызвал - он от организации и даты щависит
|
|||
16
Лефмихалыч
18.02.16
✎
15:59
|
а еще есть метод УстановитьЗначениясвойств(). А у табличной части есть методы Загрузить() и Выгрузить()
|
|||
17
igel1969
18.02.16
✎
16:03
|
(13) тогда вообще говорит - редактирование данных данного периода запрещено. видимо, нулевую дат ставит
|
|||
18
Лефмихалыч
18.02.16
✎
16:08
|
![]() |
|||
19
igel1969
18.02.16
✎
16:15
|
(18) Само остроумие.
(Остальные) Может у меня проблема в копии базы данных? Хотя вроде утром копировал ((( |
|||
20
hhhh
18.02.16
✎
16:27
|
(19) просто очисти номер. Зачем ты туда старое значение фигачишь?
|
|||
21
igel1969
18.02.16
✎
16:29
|
(20) В какой строке я туда старое значение фигачу??????
|
|||
22
Лефмихалыч
18.02.16
✎
16:30
|
(21) вызови УстановитьНовыйНомер() после того, как присваиваешь дату и организацию
|
|||
23
igel1969
18.02.16
✎
20:50
|
(22) я и так, и так пробовал (((
|
|||
24
hhhh
18.02.16
✎
21:03
|
(21) в строке
КопияДО = ДО.Скопировать(); Фигачишь в новый документ старое значение номера. |
|||
25
hhhh
18.02.16
✎
21:04
|
(23) ладно научу. Пиши
КопияДО = ДО.Скопировать(); КопияДО.Номер = ""; с тебя 500 рублей. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |