Имя: Пароль:
1C
1С v8
в справочнике уникальный идентификатор
0 alex75274
 
14.03.22
15:25
в справочнике есть табличная часть трудозатраты в ней есть реквизит ключсвязи тип уникальный идентификатор, ищу нулевое значение и присваиваю новый идентификатор, пишет поле объекта не обнаружено ключСВязи

Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    РесурсныеСпецификацииТрудозатраты.КлючСвязи КАК КлючСвязи,
    |    РесурсныеСпецификацииТрудозатраты.ВидРабот КАК ВидРабот,
    |    РесурсныеСпецификацииТрудозатраты.Этап КАК Этап,
    |    РесурсныеСпецификацииТрудозатраты.Ссылка КАК Ссылка
    |ИЗ
    |    Справочник.РесурсныеСпецификации.Трудозатраты КАК РесурсныеСпецификацииТрудозатраты";
    
    
      
        ВыборкаДетальныеЗаписи = Запрос.Выполнить().Выбрать();

        Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
            Загрузка = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();

            уид=Строка(ВыборкаДетальныеЗаписи.КлючСвязи);
            Если уид= "00000000-0000-0000-000000000000" Тогда
        
              
             Загрузка.трудозатраты,КлючСвязи = Новый УникальныйИдентификатор(); вот здесь ошибка
              Загрузка.Записать();

             КонецЕсли;
            //Загрузка.КлючСвязи.Записать();
        КонецЦикла;
1 Amra
 
14.03.22
15:30
А кто на нужной строке ТЧ будет позиционироваться, Вася Пупкин?
2 lodger
 
14.03.22
15:34
это ладно если справочник меньше чем на сотню записей, но зачем получать объект в начале цикла?
3 arsik
 
гуру
14.03.22
15:34
трудозатраты - Это табличная часть. В какую строку ты устанавливаешь значение.
Ну и проще сразу в запросе указать фильтр ПустойУИД
Как то так
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ПустойУИД", Новый УникальныйИдентификатор("00000000-0000-0000-000000000000"));
Запрос.Текст =
    "ВЫБРАТЬ
    |    РесурсныеСпецификацииТрудозатраты.НомерСтроки КАК НомерСтроки,
    |    РесурсныеСпецификацииТрудозатраты.КлючСвязи КАК КлючСвязи,
    |    РесурсныеСпецификацииТрудозатраты.ВидРабот КАК ВидРабот,
    |    РесурсныеСпецификацииТрудозатраты.Этап КАК Этап,
    |    РесурсныеСпецификацииТрудозатраты.Ссылка КАК Ссылка
    |ИЗ
    |    Справочник.РесурсныеСпецификации.Трудозатраты КАК РесурсныеСпецификацииТрудозатраты
    |ГДЕ
    |    РесурсныеСпецификацииТрудозатраты.КлючСвязи = ПустойУИД";

ВыборкаДетальныеЗаписи = Запрос.Выполнить().Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
    Загрузка = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
    СтрокаДокумента = Загрузка.трудозатраты[НомерСтроки-1];
    СтрокаДокумента.КлючСвязи = Новый УникальныйИдентификатор();
    Загрузка.Записать();
КонецЦикла;
4 alex75274
 
14.03.22
21:26
{ВнешняяОбработка.ПроверкаСпецификации.Форма.Форма.Форма(62,45)}: Переменная не определена (НомерСтроки)
помогите начинающий
5 hhhh
 
14.03.22
21:39
(4) ну, показывайте вашу строку 62
6 hhhh
 
14.03.22
21:40
(4) там похоже есть переменная НомерСтроки, и выше по тексту программы вы забыли ее определить.
7 Ёпрст
 
14.03.22
21:43
(0)Загрузка.трудозатраты<Тут Должна быть Точка, карл!>,КлючСвязи ну и через 2 точки..тоже Бред, не Пит
всё в топку.
8 alex75274
 
14.03.22
22:06
(5)СтрокаДокумента = Загрузка.трудозатраты[НомерСтроки-1];
9 hhhh
 
14.03.22
22:13
(8) ну, НомерСтроки вы нигде не определили. Из воздуха же он не возникнет.
10 arsik
 
гуру
15.03.22
00:17
(8) Ну я ошибся, кое что забыл указать. А самому подумать?
11 lodger
 
15.03.22
09:51
(10) зачем? готовый код должен работать!
12 acht
 
15.03.22
10:24
(10) > забыл
Как ты посмел!
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn