Имя: Пароль:
1C
1C 7.7
v7: Копирование документа создает ошибку
,
0 Роспатнюк Сергей Сер
 
22.04.19
10:49
1С Подрядчик-строительства 2.3 7.70.2317, документ Предварительная заявка, если скопировать его и провести в регистр Предварительные заявки запишутся строки с одинаковыми ГУИДами подскажите ка лучше сделать хотел выгрузить итоги из регистра
что бы проверить есть ли такой ГУИД но выдает ошибку РегЗаявки.ВыгрузитьИтоги(ПроверочнаяТаблица_0,1,); {Документ.ПредварительнаяЗаявка.Модуль Документа(103)}: Объект не может быть перепозиционирован!    
    ПроверочнаяТаблица_0 = СоздатьОбъект("ТаблицаЗначений");
    РегЗаявки.ВыгрузитьИтоги(ПроверочнаяТаблица_0,1,);
1 Роспатнюк Сергей Сер
 
22.04.19
10:50
+(0) вот код проведения Процедура ОбработкаПроведения()
    Если гсКомпонентаV7plus = 0 Тогда
        Сообщить("Не удалось обнаружить компоненту V7Plus.dll!Документ не будет проведен","!");
        СтатусВозврата(0);
        Возврат;    
    КонецЕсли;  
    Если Склад.Выбран() = 0 Тогда
        Сообщить("Не указан склад в документе "+ТекущийДокумент()+", документ не будет проведен.","i");
        СтатусВозврата(0);
        Возврат;
    КонецЕсли;    
    Если Склад.ДопКод = "СИК" Тогда
        Сообщить("Указан некорректный склад ("+Склад+") в документе "+ТекущийДокумент()+", документ не будет проведен.","i");
        СтатусВозврата(0);
        Возврат;
    КонецЕсли;    
    ПередЗаписьюДокумента();
    РегЗаявки            = Регистр.ПредварительныеЗаявки;
    ВыбратьСтроки();
    Пока ПолучитьСтроку() = 1 Цикл
        Если ГУИД.Выбран() = 0 Тогда
            Сообщить("Важно: не указан ID объекта, материал "+Материал+" в строке "+НомерСтроки+" не будет учтен","!");
            Продолжить;
        КонецЕсли;    
        РегЗаявки.МестоХранения    = Склад;
        РегЗаявки.Заказчик        = Заказчик;
        РегЗаявки.Материал        = Материал;
        РегЗаявки.СтрокаЗаявки    = ГУИД;
        РегЗаявки.Заявка         = ТекущийДокумент();
        РегЗаявки.Объект         = Машина;
        РегЗаявки.Заказано    = Количество;
        РегЗаявки.ПривязыватьСтроку(НомерСтроки);
        РегЗаявки.ДвижениеПриходВыполнить();
    КонецЦикла;
КонецПроцедуры
2 HawkEye
 
22.04.19
10:51
(1) какая из этих строк 103-ая?
3 Bigbro
 
22.04.19
10:51
найти Процедуру ВводНового (копирование)
и прописать в ней формирование нового ГУИДа если документ введен копированием.
4 HawkEye
 
22.04.19
10:53
(3) думаешь именно это выдаст ошибку: "Объект не может быть перепозиционирован! " ?? )))
5 Роспатнюк Сергей Сер
 
22.04.19
10:55
(2) свою попытку вставлял между  
РегЗаявки            = Регистр.ПредварительныеЗаявки;
и
ВыбратьСтроки();
6 Роспатнюк Сергей Сер
 
22.04.19
10:55
(3) а где искать ее в модуле документа такой нет
7 HawkEye
 
22.04.19
10:56
(5) т.е. в (1) код без ошибок, ты в него чего-то добавил, получил ошибку и спрашиваешь у нас, где твоя ошибка... так?
8 Роспатнюк Сергей Сер
 
22.04.19
10:57
(7) в 1 задваиваются ГУИДЫ
9 Роспатнюк Сергей Сер
 
22.04.19
10:58
(7) я написал что хотел выгрузить регистр для далнейшего поиска ГУИДа
10 Роспатнюк Сергей Сер
 
22.04.19
10:58
(7) но у меня не получилось выдало ошибку пытался сделать так  
ПроверочнаяТаблица_0 = СоздатьОбъект("ТаблицаЗначений");
    РегЗаявки.ВыгрузитьИтоги(ПроверочнаяТаблица_0,1,);
11 HawkEye
 
22.04.19
10:59
(8) в (1) движения документа, что в таб.части документа записано, то в (1) и двигается... никаких задвоений тут нет...
12 Bigbro
 
22.04.19
10:59
(6) в модуле формы документа очевидно.
для исправления ГУИД не нужно лазить в регистр и портить данные. нужно исправить ошибку в формировании ГУИДА, затем исправить ГУИДЫ на уникальные обычным Учойсом например. и после этого перепровести исправленные документы по списку штатно.
13 HawkEye
 
22.04.19
10:59
(9) ты хотел что-то выгрузить в момент проведения документа?!
14 Zmich
 
22.04.19
11:00
(9). ВыгрузитьИтоги можно только через СоздатьОбъект("Регистр.<НазваниеРегистра>")
15 Роспатнюк Сергей Сер
 
22.04.19
11:06
(12) в данный момент нет плохих ГУИДов так что перепроводить нечего
16 Роспатнюк Сергей Сер
 
22.04.19
11:07
подскажите как правильно исправить
Процедура ВводНового(Копирование);
    Автор = глФамилияИмяОтчество(ПолноеИмяПользователя());
    ДатаАктуальности = ТекущаяДата();
    Параметры = Форма.Параметр;
    Если ТипЗначенияСтр(Параметры) = "СписокЗначений" Тогда
        _Действие = Параметры.Получить("Действие");
        Если _Действие = "НевыполненныеЗаявкиОЗ" Тогда  
            Менеджер = Параметры.Получить("Менеджер");
            Склад = Параметры.Получить("МестоХранения");
            Машина = Параметры.Получить("Объект");
            Заказчик = Параметры.Получить("Заказчик");
        КонецЕсли;
    КонецЕсли;    
КонецПроцедуры
17 Bigbro
 
22.04.19
11:27
вот сюда и добавляй проверку Если копирование тогда и дальше код генерации ГУИДа твоего. найди где он генерируется для документа и вперед.
возможно в ПриЗаписи() стоит посмотреть.
Основная теорема систематики: Новые системы плодят новые проблемы.