Вход | Регистрация



Заполнение СправочникаСсылки

Заполнение СправочникаСсылки
Я
   iznvi
 
31.10.18 - 11:46
Ребят как правильно заполнить тип СправочникСсылка ?
https://yadi.sk/i/LiOpADL-1y8feA?
 
 
   Lexey_
 
1 - 31.10.18 - 11:47
(0) правильно - значением этого же типа
   Ёпрст
 
2 - 31.10.18 - 11:49
(0) Правильно, это получить объект, его и заполнять, потом записывать.
А не реквизитам ссылки что-то пытаться делать
   Случайный прохожий
 
3 - 31.10.18 - 11:49
(0) Ты пытаешься записать наименование в справочник, вытянув его как реквизит другого справочника? :)
   Zmich
 
4 - 31.10.18 - 11:49
(0). Получи сперва из ссылки объект.
   shadow_sw
 
5 - 31.10.18 - 11:49
ответ скорее всего (2)
   Случайный прохожий
 
6 - 31.10.18 - 11:54
Ладно, напишу код. А то человек сейчас пойдет книжки читать, в 1ске разбираться, а потом будет нам конкуренцию составлять.

Объ = СТРВ.Характеристика.ПолучитьОбъект();
Объ.Наименование = "НеЗаполнено";
Объ.Записать();
   iznvi
 
7 - 31.10.18 - 12:00
(6)  Значение не является значением объектного типа (ПолучитьОбъект)
Вот такую ошибку выдает
   shadow_sw
 
8 - 31.10.18 - 12:03
(6) факир был пьян - фокус не удался (7)
   Случайный прохожий
 
9 - 31.10.18 - 12:04
(7) Покажи что в СТРВ передаешь
   iznvi
 
10 - 31.10.18 - 12:05
(9) СТРВ=ТаблицаВозврата.Добавить();
 
 Рекламное место пустует
   Ёпрст
 
11 - 31.10.18 - 12:06
(7) ясен пень, у тя в отладке там - пустое значение
   Случайный прохожий
 
12 - 31.10.18 - 12:06
(8) Так там он весь код какой-то ненужно табличкой закрыл, вот пришлось догадываться)))
   Случайный прохожий
 
13 - 31.10.18 - 12:07
(10) И как ты характеристику из пустого значения получишь?
   Случайный прохожий
 
14 - 31.10.18 - 12:08
Код большой? Можешь сюда скинуть?
   Случайный прохожий
 
15 - 31.10.18 - 12:11
Кароче, я понял что он пытается сделать. У него пустая характеристика, но вместо того чтобы ее создать, он пытается записать в наименование пустого значения строку "НеЗаполнено"
   iznvi
 
16 - 31.10.18 - 12:12
(13) Вооот, в этом то и вся проблема 
Я сначала так же делал,думал что сработает,но
Проблема в том,что при Подборе ВКП мы выбираем Номенклатуру и к ней должна быть подвязана ХарактеристикаНоменклатуры,но она не везде есть,и передается пустое значение, задача в том,что нужно проверить на заполнение эту ссылку и если она заполнена,то все норм,а если нет,то заполнить ее допустим просто "НеЗаполнено" вот. А код на самом деле очень большой,сейчас скину саму процедуру. Народ,извните,если максимально тупые вопросы задаю,но только учусь.
   iznvi
 
17 - 31.10.18 - 12:12
(15)
   Случайный прохожий
 
18 - 31.10.18 - 12:13
(0) А может тебе это вообще ненадо? Обьясни что пытаешься сделать
   iznvi
 
19 - 31.10.18 - 12:13
(18) &НаСервере
Процедура ЗавершитьВводНаСервере()
    
    //ОстаткиНаСкладе

    ТаблицаВозврата=новый ТаблицаЗначений;
    //ТаблицаВозврата.ОстаткиНаСкладе;

    ТаблицаВозврата.Колонки.Добавить("Номенклатура");
    ТаблицаВозврата.Колонки.Добавить("Характеристика");
    ТаблицаВозврата.Колонки.Добавить("Серия");
    ТаблицаВозврата.Колонки.Добавить("Назначение");
    ТаблицаВозврата.Колонки.Добавить("Количество");
    ТаблицаВозврата.Колонки.Добавить("Количество2");
    стр11=-1;
    //ТаблицаВозврата.Очистить();

    //ОстаткиНаСкладе.

    
    для Каждого стрО из ОстаткиНаСкладе цикл
        стр11=стр11+1;
        Если стрО.ДоступноДляРезервирования<стрО.Выбранно тогда
            Модифицированность = Истина;
            
            соо=Новый СообщениеПользователю;
            // соо.ПутьКДанным=стрО.Выбранно;

            
            соо.Текст="Выбрано не допустимое количество";
            соо.Поле="ОстаткиНаСкладе1["+стр11+"].Выбранно";
            соо.УстановитьДанные(стрО.Выбранно);
            соо.Сообщить();
            Возврат;
        КонецЕсли;    
        //Если стрО.Выбранно> 0 тогда

        Если  стрО.ВыбранноКГ > 0 Тогда 
            
            СТРВ=ТаблицаВозврата.Добавить();
            СТРВ.Номенклатура=стрО.Номенклатура;
            Если ЗначениеЗаполнено(стрО.Характеристика) Тогда
                //Документы.ПроизводствоБезЗаказа.ОбработкаПроверкиЗаполнения(Истина,Объект.МатериалыИРаботы.Характеристика);

                     СТРВ.Характеристика=стрО.Характеристика;

                 Иначе
                     НовыйОбъект = Справочники.ХарактеристикиНоменклатуры.СоздатьЭлемент();
                    //НовыйОбъект.Код = "840";

                    //СТРВ.Характеристика.Наименование = "НеЗаполнено";

                    //СТРВ.Характеристика.НаименованиеПолное = "НеЗаполненно";

                     
                     НовыйОбъект.Наименование = "НеЗаполнено";
                     НовыйОбъект.Записать();
                     стрО.Характеристика = "Не заполнено";
                    //НовыйОбъект.Ссылка = "НеЗаполненно" ;

                    //НовыйОбъект.Записать();


                     
                     
                    
                     
                     
            КонецЕсли;
            СТРВ.Серия=стрО.Серия;
            СТРВ.Назначение=стрО.Назначение;
            //Если стрО.Кол2=стрО.Выбранно тогда

            //    СТРВ.Количество=стрО.ВсегоНаСкладе;

            //    СТРВ.Количество2=стрО.Выбранно;

            //    

            //иначе    

            //    СТРВ.Количество=Окр(стрО.Выбранно*стрО.На1Кол,0,РежимОкругления.Окр15как10);

            //    СТРВ.Количество2=стрО.Выбранно;

            //КонецЕсли;

            //СТРВ.

            СТРВ.Количество2=стрО.Выбранно;
            СТРВ.Количество=стрО.ВыбранноКГ;
            
            
        КонецЕсли;
                
    КонецЦикла;
    СтруктураВозврата=Новый Структура;
    СтруктураВозврата.Вставить("Склад",Склад);
    СтруктураВозврата.Вставить("ТаблицаВозврата",ТаблицаВозврата);
    ПоместитьВоВременноеХранилище(СтруктураВозврата,АдресВоВременномХранилище);
    Модифицированность = Ложь;
    
    //Возврат Истина;

    // Вставить содержимое обработчика.

КонецПроцедуры
   iznvi
 
20 - 31.10.18 - 12:13
(18)
   iznvi
 
21 - 31.10.18 - 12:14
(18) Проблема в том,что при Подборе ВКП мы выбираем Номенклатуру и к ней должна быть подвязана ХарактеристикаНоменклатуры,но она не везде есть,и передается пустое значение, задача в том,что нужно проверить на заполнение эту ссылку и если она заполнена,то все норм,а если нет,то заполнить ее допустим просто "НеЗаполнено" вот
   Случайный прохожий
 
22 - 31.10.18 - 12:18
Процедура ЗавершитьВводНаСервере()
    
    //ОстаткиНаСкладе


    ТаблицаВозврата=новый ТаблицаЗначений;
    //ТаблицаВозврата.ОстаткиНаСкладе;


    ТаблицаВозврата.Колонки.Добавить("Номенклатура");
    ТаблицаВозврата.Колонки.Добавить("Характеристика");
    ТаблицаВозврата.Колонки.Добавить("Серия");
    ТаблицаВозврата.Колонки.Добавить("Назначение");
    ТаблицаВозврата.Колонки.Добавить("Количество");
    ТаблицаВозврата.Колонки.Добавить("Количество2");
    стр11=-1;
    //ТаблицаВозврата.Очистить();


    //ОстаткиНаСкладе.


    
    для Каждого стрО из ОстаткиНаСкладе цикл
        стр11=стр11+1;
        Если стрО.ДоступноДляРезервирования<стрО.Выбранно тогда
            Модифицированность = Истина;
            
            соо=Новый СообщениеПользователю;
            // соо.ПутьКДанным=стрО.Выбранно;


            
            соо.Текст="Выбрано не допустимое количество";
            соо.Поле="ОстаткиНаСкладе1["+стр11+"].Выбранно";
            соо.УстановитьДанные(стрО.Выбранно);
            соо.Сообщить();
            Возврат;
        КонецЕсли;    
        //Если стрО.Выбранно> 0 тогда


        Если  стрО.ВыбранноКГ > 0 Тогда 
            
            СТРВ=ТаблицаВозврата.Добавить();
            СТРВ.Номенклатура=стрО.Номенклатура;
            Если ЗначениеЗаполнено(стрО.Характеристика) Тогда
                //Документы.ПроизводствоБезЗаказа.ОбработкаПроверкиЗаполнения(Истина,Объект.МатериалыИРаботы.Характеристика);


                     СТРВ.Характеристика=стрО.Характеристика;

                 Иначе
                     НовыйОбъект = Справочники.ХарактеристикиНоменклатуры.СоздатьЭлемент();
                    //НовыйОбъект.Код = "840";


                    //СТРВ.Характеристика.Наименование = "НеЗаполнено";


                    //СТРВ.Характеристика.НаименованиеПолное = "НеЗаполненно";


                     
                     НовыйОбъект.Наименование = "НеЗаполнено";
                     НовыйОбъект.Записать();
                     стрО.Характеристика = НовыйОбъект.Ссылка;
                    //НовыйОбъект.Ссылка = "НеЗаполненно" ;


                    //НовыйОбъект.Записать();



                     
                     
                    
                     
                     
            КонецЕсли;
            СТРВ.Серия=стрО.Серия;
            СТРВ.Назначение=стрО.Назначение;
            //Если стрО.Кол2=стрО.Выбранно тогда


            //    СТРВ.Количество=стрО.ВсегоНаСкладе;


            //    СТРВ.Количество2=стрО.Выбранно;


            //    


            //иначе    


            //    СТРВ.Количество=Окр(стрО.Выбранно*стрО.На1Кол,0,РежимОкругления.Окр15как10);


            //    СТРВ.Количество2=стрО.Выбранно;


            //КонецЕсли;


            //СТРВ.


            СТРВ.Количество2=стрО.Выбранно;
            СТРВ.Количество=стрО.ВыбранноКГ;
            
            
        КонецЕсли;
                
    КонецЦикла;
    СтруктураВозврата=Новый Структура;
    СтруктураВозврата.Вставить("Склад",Склад);
    СтруктураВозврата.Вставить("ТаблицаВозврата",ТаблицаВозврата);
    ПоместитьВоВременноеХранилище(СтруктураВозврата,АдресВоВременномХранилище);
    Модифицированность = Ложь;
    
    //Возврат Истина;


    // Вставить содержимое обработчика.


КонецПроцедуры
   Случайный прохожий
 
23 - 31.10.18 - 12:19
Проверь. Но я бы немного не так написал. Первым делом нужно искать характеристику с наименованием "НеЗаполнено" и если не найдешь - создавать. А то так наплодишь характеристик пустых
   Случайный прохожий
 
24 - 31.10.18 - 12:20
(22) Комментарий к  "НовыйОбъект.Записать();" сними :)
   iznvi
 
25 - 31.10.18 - 12:23
(24) {ВКП_ЛТ Обработка.ВКП_Обработка_Подбор.Форма.Форма.Форма(111)}: Ошибка при вызове метода контекста (Записать)
                     НовыйОбъект.Записать();
по причине:
Ошибка при выполнении обработчика - 'ПередЗаписью'
по причине:
{ОбщийМодуль.ОбщегоНазначения.Модуль(95)}: Неверный первый параметр Ссылка:
- Значение должно быть ссылкой или именем предопределенного элемента
            ВызватьИсключение НСтр("ru = 'Неверный первый параметр Ссылка:
   iznvi
 
26 - 31.10.18 - 12:24
(24) Вот такую штуку выдает
   Случайный прохожий
 
27 - 31.10.18 - 12:24
Процедура ЗавершитьВводНаСервере()
    
    //ОстаткиНаСкладе



    ТаблицаВозврата=новый ТаблицаЗначений;
    //ТаблицаВозврата.ОстаткиНаСкладе;



    ТаблицаВозврата.Колонки.Добавить("Номенклатура");
    ТаблицаВозврата.Колонки.Добавить("Характеристика");
    ТаблицаВозврата.Колонки.Добавить("Серия");
    ТаблицаВозврата.Колонки.Добавить("Назначение");
    ТаблицаВозврата.Колонки.Добавить("Количество");
    ТаблицаВозврата.Колонки.Добавить("Количество2");
    стр11=-1;
    //ТаблицаВозврата.Очистить();



    //ОстаткиНаСкладе.



    
    для Каждого стрО из ОстаткиНаСкладе цикл
        стр11=стр11+1;
        Если стрО.ДоступноДляРезервирования<стрО.Выбранно тогда
            Модифицированность = Истина;
            
            соо=Новый СообщениеПользователю;
            // соо.ПутьКДанным=стрО.Выбранно;



            
            соо.Текст="Выбрано не допустимое количество";
            соо.Поле="ОстаткиНаСкладе1["+стр11+"].Выбранно";
            соо.УстановитьДанные(стрО.Выбранно);
            соо.Сообщить();
            Возврат;
        КонецЕсли;    
        //Если стрО.Выбранно> 0 тогда



        Если  стрО.ВыбранноКГ > 0 Тогда 
            
            СТРВ=ТаблицаВозврата.Добавить();
            СТРВ.Номенклатура=стрО.Номенклатура;
            Если ЗначениеЗаполнено(стрО.Характеристика) Тогда
                //Документы.ПроизводствоБезЗаказа.ОбработкаПроверкиЗаполнения(Истина,Объект.МатериалыИРаботы.Характеристика);



                     СТРВ.Характеристика=стрО.Характеристика;

                 Иначе
                     НовыйОбъект = Справочники.ХарактеристикиНоменклатуры.НайтиПоНаименованию("НеЗаполнено");
                     
                     Если НовыйОбъект = Справочники.ХарактеристикиНоменклатуры.ПустаяСсылка() Тогда

                          НовыйОбъект = Справочники.ХарактеристикиНоменклатуры.СоздатьЭлемент();
                             НовыйОбъект.Наименование = "НеЗаполнено";
                             НовыйОбъект.Записать();
                         
                    КонецЕсли;     
                         
                         
                         стрО.Характеристика = НовыйОбъект.Ссылка;

 
                     
            КонецЕсли;
            СТРВ.Серия=стрО.Серия;
            СТРВ.Назначение=стрО.Назначение;
            //Если стрО.Кол2=стрО.Выбранно тогда



            //    СТРВ.Количество=стрО.ВсегоНаСкладе;



            //    СТРВ.Количество2=стрО.Выбранно;



            //    



            //иначе    



            //    СТРВ.Количество=Окр(стрО.Выбранно*стрО.На1Кол,0,РежимОкругления.Окр15как10);



            //    СТРВ.Количество2=стрО.Выбранно;



            //КонецЕсли;



            //СТРВ.



            СТРВ.Количество2=стрО.Выбранно;
            СТРВ.Количество=стрО.ВыбранноКГ;
            
            
        КонецЕсли;
                
    КонецЦикла;
    СтруктураВозврата=Новый Структура;
    СтруктураВозврата.Вставить("Склад",Склад);
    СтруктураВозврата.Вставить("ТаблицаВозврата",ТаблицаВозврата);
    ПоместитьВоВременноеХранилище(СтруктураВозврата,АдресВоВременномХранилище);
    Модифицированность = Ложь;
    
    //Возврат Истина;



    // Вставить содержимое обработчика.



КонецПроцедуры
   Случайный прохожий
 
28 - 31.10.18 - 12:26
(26) А, ну характеристика поди еще к номенклатуре подвязана?)
   iznvi
 
29 - 31.10.18 - 12:26
(28) Сейчас посмотрю, но полюбому да)
   Случайный прохожий
 
30 - 31.10.18 - 12:27
Процедура ЗавершитьВводНаСервере()
    
    //ОстаткиНаСкладе



    ТаблицаВозврата=новый ТаблицаЗначений;
    //ТаблицаВозврата.ОстаткиНаСкладе;



    ТаблицаВозврата.Колонки.Добавить("Номенклатура");
    ТаблицаВозврата.Колонки.Добавить("Характеристика");
    ТаблицаВозврата.Колонки.Добавить("Серия");
    ТаблицаВозврата.Колонки.Добавить("Назначение");
    ТаблицаВозврата.Колонки.Добавить("Количество");
    ТаблицаВозврата.Колонки.Добавить("Количество2");
    стр11=-1;
    //ТаблицаВозврата.Очистить();



    //ОстаткиНаСкладе.



    
    для Каждого стрО из ОстаткиНаСкладе цикл
        стр11=стр11+1;
        Если стрО.ДоступноДляРезервирования<стрО.Выбранно тогда
            Модифицированность = Истина;
            
            соо=Новый СообщениеПользователю;
            // соо.ПутьКДанным=стрО.Выбранно;



            
            соо.Текст="Выбрано не допустимое количество";
            соо.Поле="ОстаткиНаСкладе1["+стр11+"].Выбранно";
            соо.УстановитьДанные(стрО.Выбранно);
            соо.Сообщить();
            Возврат;
        КонецЕсли;    
        //Если стрО.Выбранно> 0 тогда



        Если  стрО.ВыбранноКГ > 0 Тогда 
            
            СТРВ=ТаблицаВозврата.Добавить();
            СТРВ.Номенклатура=стрО.Номенклатура;
            Если ЗначениеЗаполнено(стрО.Характеристика) Тогда
                //Документы.ПроизводствоБезЗаказа.ОбработкаПроверкиЗаполнения(Истина,Объект.МатериалыИРаботы.Характеристика);



                     СТРВ.Характеристика=стрО.Характеристика;

                 Иначе
                     НовыйОбъект = Справочники.ХарактеристикиНоменклатуры.НайтиПоНаименованию("НеЗаполнено");
                     
                     Если НовыйОбъект = Справочники.ХарактеристикиНоменклатуры.ПустаяСсылка() Тогда

                          НовыйОбъект = Справочники.ХарактеристикиНоменклатуры.СоздатьЭлемент();
                         НовыйОбъект.Владелец = стрО.Номенклатура;
                             НовыйОбъект.Наименование = "НеЗаполнено";
                             НовыйОбъект.Записать();
                         
                    КонецЕсли;     
                         
                         
                         стрО.Характеристика = НовыйОбъект.Ссылка;

 
                     
            КонецЕсли;
            СТРВ.Серия=стрО.Серия;
            СТРВ.Назначение=стрО.Назначение;
            //Если стрО.Кол2=стрО.Выбранно тогда



            //    СТРВ.Количество=стрО.ВсегоНаСкладе;



            //    СТРВ.Количество2=стрО.Выбранно;



            //    



            //иначе    



            //    СТРВ.Количество=Окр(стрО.Выбранно*стрО.На1Кол,0,РежимОкругления.Окр15как10);



            //    СТРВ.Количество2=стрО.Выбранно;



            //КонецЕсли;



            //СТРВ.



            СТРВ.Количество2=стрО.Выбранно;
            СТРВ.Количество=стрО.ВыбранноКГ;
            
            
        КонецЕсли;
                
    КонецЦикла;
    СтруктураВозврата=Новый Структура;
    СтруктураВозврата.Вставить("Склад",Склад);
    СтруктураВозврата.Вставить("ТаблицаВозврата",ТаблицаВозврата);
    ПоместитьВоВременноеХранилище(СтруктураВозврата,АдресВоВременномХранилище);
    Модифицированность = Ложь;
    
    //Возврат Истина;



    // Вставить содержимое обработчика.



КонецПроцедуры
   Случайный прохожий
 
31 - 31.10.18 - 12:30
Там еще искать с отбором по владельцу сразу надо))

Процедура ЗавершитьВводНаСервере()
    
    //ОстаткиНаСкладе



    ТаблицаВозврата=новый ТаблицаЗначений;
    //ТаблицаВозврата.ОстаткиНаСкладе;



    ТаблицаВозврата.Колонки.Добавить("Номенклатура");
    ТаблицаВозврата.Колонки.Добавить("Характеристика");
    ТаблицаВозврата.Колонки.Добавить("Серия");
    ТаблицаВозврата.Колонки.Добавить("Назначение");
    ТаблицаВозврата.Колонки.Добавить("Количество");
    ТаблицаВозврата.Колонки.Добавить("Количество2");
    стр11=-1;
    //ТаблицаВозврата.Очистить();



    //ОстаткиНаСкладе.



    
    для Каждого стрО из ОстаткиНаСкладе цикл
        стр11=стр11+1;
        Если стрО.ДоступноДляРезервирования<стрО.Выбранно тогда
            Модифицированность = Истина;
            
            соо=Новый СообщениеПользователю;
            // соо.ПутьКДанным=стрО.Выбранно;



            
            соо.Текст="Выбрано не допустимое количество";
            соо.Поле="ОстаткиНаСкладе1["+стр11+"].Выбранно";
            соо.УстановитьДанные(стрО.Выбранно);
            соо.Сообщить();
            Возврат;
        КонецЕсли;    
        //Если стрО.Выбранно> 0 тогда



        Если  стрО.ВыбранноКГ > 0 Тогда 
            
            СТРВ=ТаблицаВозврата.Добавить();
            СТРВ.Номенклатура=стрО.Номенклатура;
            Если ЗначениеЗаполнено(стрО.Характеристика) Тогда
                //Документы.ПроизводствоБезЗаказа.ОбработкаПроверкиЗаполнения(Истина,Объект.МатериалыИРаботы.Характеристика);



                     СТРВ.Характеристика=стрО.Характеристика;

                 Иначе
                     НовыйОбъект = Справочники.ХарактеристикиНоменклатуры.НайтиПоНаименованию("НеЗаполнено",,стрО.Номенклатура);
                     
                     Если НовыйОбъект = Справочники.ХарактеристикиНоменклатуры.ПустаяСсылка() Тогда

                          НовыйОбъект = Справочники.ХарактеристикиНоменклатуры.СоздатьЭлемент();
                         НовыйОбъект.Владелец = стрО.Номенклатура;
                             НовыйОбъект.Наименование = "НеЗаполнено";
                             НовыйОбъект.Записать();
                         
                    КонецЕсли;     
                         
                         
                         стрО.Характеристика = НовыйОбъект.Ссылка;

 
                     
            КонецЕсли;
            СТРВ.Серия=стрО.Серия;
            СТРВ.Назначение=стрО.Назначение;
            //Если стрО.Кол2=стрО.Выбранно тогда



            //    СТРВ.Количество=стрО.ВсегоНаСкладе;



            //    СТРВ.Количество2=стрО.Выбранно;



            //    



            //иначе    



            //    СТРВ.Количество=Окр(стрО.Выбранно*стрО.На1Кол,0,РежимОкругления.Окр15как10);



            //    СТРВ.Количество2=стрО.Выбранно;



            //КонецЕсли;



            //СТРВ.



            СТРВ.Количество2=стрО.Выбранно;
            СТРВ.Количество=стрО.ВыбранноКГ;
            
            
        КонецЕсли;
                
    КонецЦикла;
    СтруктураВозврата=Новый Структура;
    СтруктураВозврата.Вставить("Склад",Склад);
    СтруктураВозврата.Вставить("ТаблицаВозврата",ТаблицаВозврата);
    ПоместитьВоВременноеХранилище(СтруктураВозврата,АдресВоВременномХранилище);
    Модифицированность = Ложь;
    
    //Возврат Истина;



    // Вставить содержимое обработчика.



КонецПроцедуры
   iznvi
 
32 - 31.10.18 - 12:33
(31) Здесь есть смайлик который нервно курит в углу ?
Сейчас попробую )
   Случайный прохожий
 
33 - 31.10.18 - 12:35
(32) А ты что на мисте смайлики видел? оО Это серьезный форум, тут не до этого
 
 
   iznvi
 
34 - 31.10.18 - 12:35
(31) Все равно не заполнилась
https://yadi.sk/i/SyqHQ3kQVtEzpA
   iznvi
 
35 - 31.10.18 - 12:38
(33) Слушай,а мы разве должны наименнование заполнять ?
Мы не можем заполнить ссылку ?
А наименнование в этом случае должно уноследоваться  ?
Так не работает ?
   iznvi
 
36 - 31.10.18 - 12:39
(33) Сейчас пробил по отдачику вот в это условие он не заходит
   iznvi
 
37 - 31.10.18 - 12:39
(33)   Если НовыйОбъект = Справочники.ХарактеристикиНоменклатуры.ПустаяСсылка() Тогда

                             НовыйОбъект = Справочники.ХарактеристикиНоменклатуры.СоздатьЭлемент();
                             НовыйОбъект.Владелец = стрО.Номенклатура;
                             НовыйОбъект.Наименование = "НеЗаполнено";
                             НовыйОбъект.Записать();
                         
                    КонецЕсли;
   Случайный прохожий
 
38 - 31.10.18 - 12:40
Процедура ЗавершитьВводНаСервере()
    
    //ОстаткиНаСкладе



    ТаблицаВозврата=новый ТаблицаЗначений;
    //ТаблицаВозврата.ОстаткиНаСкладе;



    ТаблицаВозврата.Колонки.Добавить("Номенклатура");
    ТаблицаВозврата.Колонки.Добавить("Характеристика");
    ТаблицаВозврата.Колонки.Добавить("Серия");
    ТаблицаВозврата.Колонки.Добавить("Назначение");
    ТаблицаВозврата.Колонки.Добавить("Количество");
    ТаблицаВозврата.Колонки.Добавить("Количество2");
    стр11=-1;
    //ТаблицаВозврата.Очистить();



    //ОстаткиНаСкладе.



    
    для Каждого стрО из ОстаткиНаСкладе цикл
        стр11=стр11+1;
        Если стрО.ДоступноДляРезервирования<стрО.Выбранно тогда
            Модифицированность = Истина;
            
            соо=Новый СообщениеПользователю;
            // соо.ПутьКДанным=стрО.Выбранно;



            
            соо.Текст="Выбрано не допустимое количество";
            соо.Поле="ОстаткиНаСкладе1["+стр11+"].Выбранно";
            соо.УстановитьДанные(стрО.Выбранно);
            соо.Сообщить();
            Возврат;
        КонецЕсли;    
        //Если стрО.Выбранно> 0 тогда



        Если  стрО.ВыбранноКГ > 0 Тогда 
            
            СТРВ=ТаблицаВозврата.Добавить();
            СТРВ.Номенклатура=стрО.Номенклатура;
            Если ЗначениеЗаполнено(стрО.Характеристика) Тогда
                //Документы.ПроизводствоБезЗаказа.ОбработкаПроверкиЗаполнения(Истина,Объект.МатериалыИРаботы.Характеристика);



                     СТРВ.Характеристика=стрО.Характеристика;

                 Иначе
                     НовыйОбъект = Справочники.ХарактеристикиНоменклатуры.НайтиПоНаименованию("НеЗаполнено",,стрО.Номенклатура);
                     
                     Если ЗначениеЗаполнено(НовыйОбъект) Тогда

                          НовыйОбъект = Справочники.ХарактеристикиНоменклатуры.СоздатьЭлемент();
                         НовыйОбъект.Владелец = стрО.Номенклатура;
                             НовыйОбъект.Наименование = "НеЗаполнено";
                             НовыйОбъект.Записать();
                         
                    КонецЕсли;     
                         
                         
                         СТРВ.Характеристика = НовыйОбъект.Ссылка;

 
                     
            КонецЕсли;
            СТРВ.Серия=стрО.Серия;
            СТРВ.Назначение=стрО.Назначение;
            //Если стрО.Кол2=стрО.Выбранно тогда



            //    СТРВ.Количество=стрО.ВсегоНаСкладе;



            //    СТРВ.Количество2=стрО.Выбранно;



            //    



            //иначе    



            //    СТРВ.Количество=Окр(стрО.Выбранно*стрО.На1Кол,0,РежимОкругления.Окр15как10);



            //    СТРВ.Количество2=стрО.Выбранно;



            //КонецЕсли;



            //СТРВ.



            СТРВ.Количество2=стрО.Выбранно;
            СТРВ.Количество=стрО.ВыбранноКГ;
            
            
        КонецЕсли;
                
    КонецЦикла;
    СтруктураВозврата=Новый Структура;
    СтруктураВозврата.Вставить("Склад",Склад);
    СтруктураВозврата.Вставить("ТаблицаВозврата",ТаблицаВозврата);
    ПоместитьВоВременноеХранилище(СтруктураВозврата,АдресВоВременномХранилище);
    Модифицированность = Ложь;
    
    //Возврат Истина;



    // Вставить содержимое обработчика.



КонецПроцедуры
   Случайный прохожий
 
39 - 31.10.18 - 12:40
Еще у тебя там ошибочку нашел. Пробуй
   Случайный прохожий
 
40 - 31.10.18 - 12:42
(35) У наименования строковый тип, а у характеристики тип СправочникССылка. Нельзя элементу с типом СправочникССылка присваивать значение другого типа (в нашем случае - строка)
   Случайный прохожий
 
41 - 31.10.18 - 12:43
(37) Если не заходит, значит есть такой элемент
   iznvi
 
42 - 31.10.18 - 12:44
(38) {ВКП_ЛТ Обработка.ВКП_Обработка_Подбор.Форма.Форма.Форма(105)}: Ошибка при вызове метода контекста (Записать)
                             НовыйОбъект.Записать();
по причине:
Ошибка при выполнении обработчика - 'ПередЗаписью'
по причине:
{Справочник.ХарактеристикиНоменклатуры.МодульОбъекта(66)}: Значение поля "Рабочее наименование" не уникально
            ВызватьИсключение ТекстИсключения;
   iznvi
 
43 - 31.10.18 - 12:44
(38) Теперь вот так
   iznvi
 
44 - 31.10.18 - 12:44
(40) Я понял
   Случайный прохожий
 
45 - 31.10.18 - 12:54
(42) Интересно сделали. Этой конфигурации нет под рукой, но попробуй вот так сделать:

Процедура ЗавершитьВводНаСервере()
    
    //ОстаткиНаСкладе



    ТаблицаВозврата=новый ТаблицаЗначений;
    //ТаблицаВозврата.ОстаткиНаСкладе;



    ТаблицаВозврата.Колонки.Добавить("Номенклатура");
    ТаблицаВозврата.Колонки.Добавить("Характеристика");
    ТаблицаВозврата.Колонки.Добавить("Серия");
    ТаблицаВозврата.Колонки.Добавить("Назначение");
    ТаблицаВозврата.Колонки.Добавить("Количество");
    ТаблицаВозврата.Колонки.Добавить("Количество2");
    стр11=-1;
    //ТаблицаВозврата.Очистить();



    //ОстаткиНаСкладе.



    
    для Каждого стрО из ОстаткиНаСкладе цикл
        стр11=стр11+1;
        Если стрО.ДоступноДляРезервирования<стрО.Выбранно тогда
            Модифицированность = Истина;
            
            соо=Новый СообщениеПользователю;
            // соо.ПутьКДанным=стрО.Выбранно;



            
            соо.Текст="Выбрано не допустимое количество";
            соо.Поле="ОстаткиНаСкладе1["+стр11+"].Выбранно";
            соо.УстановитьДанные(стрО.Выбранно);
            соо.Сообщить();
            Возврат;
        КонецЕсли;    
        //Если стрО.Выбранно> 0 тогда



        Если  стрО.ВыбранноКГ > 0 Тогда 
            
            СТРВ=ТаблицаВозврата.Добавить();
            СТРВ.Номенклатура=стрО.Номенклатура;
            Если ЗначениеЗаполнено(стрО.Характеристика) Тогда
                //Документы.ПроизводствоБезЗаказа.ОбработкаПроверкиЗаполнения(Истина,Объект.МатериалыИРаботы.Характеристика);



                     СТРВ.Характеристика=стрО.Характеристика;

                 Иначе
                     НовыйОбъект = Справочники.ХарактеристикиНоменклатуры.НайтиПоНаименованию("НеЗаполнено",,стрО.Номенклатура);
                     
                     Если ЗначениеЗаполнено(НовыйОбъект) Тогда

                          НовыйОбъект = Справочники.ХарактеристикиНоменклатуры.СоздатьЭлемент();
                         НовыйОбъект.Владелец = стрО.Номенклатура;
                             НовыйОбъект.Наименование = "НеЗаполнено";
                         НовыйОбъект.РабочееНаименование = "НеЗаполнено";
                             НовыйОбъект.Записать();
                         
                    КонецЕсли;     
                         
                         
                         СТРВ.Характеристика = НовыйОбъект.Ссылка;

 
                     
            КонецЕсли;
            СТРВ.Серия=стрО.Серия;
            СТРВ.Назначение=стрО.Назначение;
            //Если стрО.Кол2=стрО.Выбранно тогда



            //    СТРВ.Количество=стрО.ВсегоНаСкладе;



            //    СТРВ.Количество2=стрО.Выбранно;



            //    



            //иначе    



            //    СТРВ.Количество=Окр(стрО.Выбранно*стрО.На1Кол,0,РежимОкругления.Окр15как10);



            //    СТРВ.Количество2=стрО.Выбранно;



            //КонецЕсли;



            //СТРВ.



            СТРВ.Количество2=стрО.Выбранно;
            СТРВ.Количество=стрО.ВыбранноКГ;
            
            
        КонецЕсли;
                
    КонецЦикла;
    СтруктураВозврата=Новый Структура;
    СтруктураВозврата.Вставить("Склад",Склад);
    СтруктураВозврата.Вставить("ТаблицаВозврата",ТаблицаВозврата);
    ПоместитьВоВременноеХранилище(СтруктураВозврата,АдресВоВременномХранилище);
    Модифицированность = Ложь;
    
    //Возврат Истина;



    // Вставить содержимое обработчика.



КонецПроцедуры
   Случайный прохожий
 
46 - 31.10.18 - 12:55
Там же в реквизитах справочника ХарактеристикиНоменклатуры есть реквизит РабочееНаименование?
   Eiffil123
 
47 - 31.10.18 - 13:02
почему в конфигуратор вход не по паролям после сдачи спеца по 1С?
   iznvi
 
48 - 31.10.18 - 13:06
(46) {ВКП_ЛТ Обработка.ВКП_Обработка_Подбор.Форма.Форма.Форма(108)}: Поле объекта не обнаружено (РабочееНаименование)
                         НовыйОбъект.РабочееНаименование = "НеЗаполнено"; 

Сейчас проверяю по поводу реквизита РабочееНаименнование
   iznvi
 
49 - 31.10.18 - 13:07
(46) нет,нету
 
 Рекламное место пустует
   iznvi
 
50 - 31.10.18 - 13:08
(47) Такой информацией не обладаю
   iznvi
 
51 - 31.10.18 - 13:20
(46) Нашел в Виды Номенклатуры реквизит
ШаблонРабочегоНаименованияХарактеристики
но это скорее всего не то
   Случайный прохожий
 
52 - 31.10.18 - 13:36
Ну глянь {Справочник.ХарактеристикиНоменклатуры.МодульОбъекта(66)} что там написано? Тебе же место ошибки указывает
   iznvi
 
53 - 31.10.18 - 13:43
(52) Там получается формируется РабочееНаименнование и Проверяется
Сейчас скину код
   iznvi
 
54 - 31.10.18 - 13:43
Если ОбменДанными.Загрузка Тогда
        Возврат;
    КонецЕсли;

    ОбновлениеИнформационнойБазы.ПроверитьОбъектОбработан(ЭтотОбъект);
    
    ФормироватьРабочееНаименование =        Не (ДополнительныеСвойства.Свойство("РабочееНаименованиеСформировано"));
    ФормироватьНаименованиеДляПечати =        Не (ДополнительныеСвойства.Свойство("НаименованиеДляПечатиСформировано"));
    
    Если ФормироватьРабочееНаименование
        Или ФормироватьНаименованиеДляПечати Тогда
        
        СтруктураРеквизитов = Новый Структура;
        
        Если ТипЗнч(Владелец) = Тип("СправочникСсылка.ВидыНоменклатуры") Тогда
            СтруктураРеквизитов.Вставить("ШаблонРабочегоНаименованияХарактеристики");
            СтруктураРеквизитов.Вставить("ЗапретРедактированияРабочегоНаименованияХарактеристики");
            СтруктураРеквизитов.Вставить("ШаблонНаименованияДляПечатиХарактеристики");
            СтруктураРеквизитов.Вставить("ЗапретРедактированияНаименованияДляПечатиХарактеристики");
        Иначе 
            СтруктураРеквизитов.Вставить("ШаблонРабочегоНаименованияХарактеристики","ВидНоменклатуры.ШаблонРабочегоНаименованияХарактеристики");
            СтруктураРеквизитов.Вставить("ЗапретРедактированияРабочегоНаименованияХарактеристики","ВидНоменклатуры.ЗапретРедактированияРабочегоНаименованияХарактеристики");
            СтруктураРеквизитов.Вставить("ШаблонНаименованияДляПечатиХарактеристики","ВидНоменклатуры.ШаблонНаименованияДляПечатиХарактеристики");
            СтруктураРеквизитов.Вставить("ЗапретРедактированияНаименованияДляПечатиХарактеристики","ВидНоменклатуры.ЗапретРедактированияНаименованияДляПечатиХарактеристики");
        КонецЕсли;
    
        РеквизитыОбъекта = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Владелец, СтруктураРеквизитов);
        
        Если ФормироватьРабочееНаименование 
            И ЗначениеЗаполнено(РеквизитыОбъекта.ШаблонРабочегоНаименованияХарактеристики) 
            И (РеквизитыОбъекта.ЗапретРедактированияРабочегоНаименованияХарактеристики 
            Или Не ЗначениеЗаполнено(Наименование)) Тогда
            ШаблонНаименования = РеквизитыОбъекта.ШаблонРабочегоНаименованияХарактеристики;
            Наименование = НоменклатураСервер.НаименованиеПоШаблону(ШаблонНаименования, ЭтотОбъект);
        КонецЕсли;
        
        Если ФормироватьНаименованиеДляПечати
            И ЗначениеЗаполнено(РеквизитыОбъекта.ШаблонНаименованияДляПечатиХарактеристики) 
            И (РеквизитыОбъекта.ЗапретРедактированияНаименованияДляПечатиХарактеристики 
            Или Не ЗначениеЗаполнено(НаименованиеПолное)) Тогда
            ШаблонНаименованияДляПечати = РеквизитыОбъекта.ШаблонНаименованияДляПечатиХарактеристики;
            НаименованиеПолное = НоменклатураСервер.НаименованиеПоШаблону(ШаблонНаименованияДляПечати, ЭтотОбъект);
        КонецЕсли;
        
    КонецЕсли;
    
    Если Не ЗначениеЗаполнено(Наименование) Тогда
        ТекстИсключения = НСтр("ru='Поле ""Рабочее наименование"" не заполнено'");
        ВызватьИсключение ТекстИсключения; 
        Отказ = Истина;
    КонецЕсли;
    
    КонтролироватьРабочееНаименование = Константы.КонтролироватьУникальностьРабочегоНаименованияНоменклатурыИХарактеристик.Получить()
    И Не (ДополнительныеСвойства.Свойство("РабочееНаименованиеПроверено"));
    
    Если КонтролироватьРабочееНаименование
        И Не Отказ Тогда
        Если Не Справочники.ХарактеристикиНоменклатуры.РабочееНаименованиеУникально(ЭтотОбъект) Тогда
            ТекстИсключения = НСтр("ru='Значение поля ""Рабочее наименование"" не уникально'");
            ВызватьИсключение ТекстИсключения; 
            Отказ = Истина;
        КонецЕсли;
    КонецЕсли;
    
    // Обработка смены пометки удаления.

    Если Не ЭтоНовый() Тогда

        Если ПометкаУдаления <> ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ссылка, "ПометкаУдаления") Тогда
            Справочники.КлючиАналитикиУчетаНоменклатуры.УстановитьПометкуУдаления(Новый Структура("Характеристика", Ссылка), ПометкаУдаления);
        КонецЕсли;

    КонецЕсли;
        
    Если ЗначениеЗаполнено(Принципал)
        И ТипЗнч(Принципал) = Тип("СправочникСсылка.Организации") Тогда
        Контрагент = Принципал;
    КонецЕсли;
   iznvi
 
55 - 31.10.18 - 13:43
(52)
   iznvi
 
56 - 31.10.18 - 13:48
(52) И получается вот этот отрывок кода нужен
   iznvi
 
57 - 31.10.18 - 13:48
(52) Если КонтролироватьРабочееНаименование
        И Не Отказ Тогда
        Если Не Справочники.ХарактеристикиНоменклатуры.РабочееНаименованиеУникально(ЭтотОбъект) Тогда
            ТекстИсключения = НСтр("ru='Значение поля ""Рабочее наименование"" не уникально'");
            ВызватьИсключение ТекстИсключения; 
            Отказ = Истина;
        КонецЕсли;
    КонецЕсли;
   iznvi
 
58 - 31.10.18 - 13:50
(54) И в ЭтотОбъект передается значение "Не заполнено"
   Случайный прохожий
 
59 - 31.10.18 - 13:51
А вам вообще нужно отслеживать уникальность наименований номенклатуры и характеристик?
   iznvi
 
60 - 31.10.18 - 13:53
(59) Думаешь просто закомментировать это ?:)
   Случайный прохожий
 
61 - 31.10.18 - 13:53
Просто непойму он функцией Справочники.ХарактеристикиНоменклатуры.РабочееНаименованиеУникально(ЭтотОбъект) ищет везде без отбора по владельцу или с отбором
   Случайный прохожий
 
62 - 31.10.18 - 13:54
(60) Константы.КонтролироватьУникальностьРабочегоНаименованияНоменклатурыИХарактеристик
Выключить если ненужно. Но это на костыль смахивает)))
   iznvi
 
63 - 31.10.18 - 13:54
(61) Ну если логически рассуждать,то скорее всего нет,ибо я думаю оставлен был бы комментрарий какой-то или было бы написано,как писал ты.
   iznvi
 
64 - 31.10.18 - 13:56
(62) А я не могу этот модуль редактировть :o
   Случайный прохожий
 
65 - 31.10.18 - 13:56
Посмотри у подгружаемых номенклатур уже создались характеристики с наименованием "НеЗаполнено"?
   iznvi
 
66 - 31.10.18 - 13:56
(65) Секунду
   Случайный прохожий
 
67 - 31.10.18 - 13:56
(64) Ненадо редактировать. Что такое константы знаешь? просто отключи эту константу в режиме предприятия
   iznvi
 
68 - 31.10.18 - 13:59
(67) https://yadi.sk/i/QUL-HJktsLF3ZQ
Вот если я то проверил,то нет,характеристика пустая
   iznvi
 
69 - 31.10.18 - 13:59
(67)  а я понял
   iznvi
 
70 - 31.10.18 - 16:06
(67) Спасибо тебе большое 
Разобрался,все работает )
   iznvi
 
71 - 31.10.18 - 16:06
(67)


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует