Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: метод ВыгрузитьКолонку не досупен
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
lolmatrix
Здравствуйте,уважаемые Форумчане, подскажите пожалуйста, почему не доступен метод ВыгрузитьКолонку в ДанныеФормыКоллекция, что-то не так пишу? Заранее благодарен за ответы, пишу собственную конфигурацию 1с 8.3
 
&НаСервере
Функция ПолучаемКолонку(ТипыЦен)
Колонка = ТипыЦен.ВыгрузитьКолонку("ТипЦен");//ДанныеформыКоллекция
Возврат Колонка;    
КонецФункции
&НаКлиенте
Процедура ПриОткрытии(Отказ)
    
    ТипыЦен = Объект.ТипыЦен;
Колонка =  ПолучаемКолонку(ТипыЦен);

    СписокТиповЦен.ЗагрузитьЗначения(Колонка);
КонецПроцедуры
sava1
тут , скорее, ТипыЦен недоступна. Через Объект.ТипыЦен - не пробовали ?
lolmatrix
sava1 @ Сегодня, 11:11 необходимо зарегистрироваться для просмотра ссылки ,
пробовал та же ошибка
Макс1С
lolmatrix @ Сегодня, 10:25 необходимо зарегистрироваться для просмотра ссылки ,
ВыгрузитьКолонку применяется к табличной части или к таблице значений, для ДанныеФормыКоллекция такого метода действительно нет.
Вам пригодится ДанныеФормыВЗначение()
Например так:
ВремТабл = ДанныеФормыВЗначение(ТипыЦен,Тип("ТаблицаЗначений"));
Колонка = ВремТабл.ВыгрузитьКолонку("ТипЦен")

В этом примере "ТипыЦен" - реквизит формы с типом ТЗ
lolmatrix
Макс1С @ Сегодня, 12:14 необходимо зарегистрироваться для просмотра ссылки ,
спасибо, теперь ошибка такая
ВремТабл = ДанныеФормыВЗначение(ТипыЦен,Тип("ТаблицаЗначений"));
по причине:
Недопустимое значение параметра (параметр номер '1'), скажите ,
а есть у ДанныеФормыКоллекция метод выгрузить, как его правильно написать, пробовал по разному тоже пишет нет метода им же тоже можно колонку выгузить?
sava1
Цитата(lolmatrix @ 09.12.19, 9:55) необходимо зарегистрироваться для просмотра ссылки
&НаСервере Функция ПолучаемКолонку(ТипыЦен) Колонка = ТипыЦен.ВыгрузитьКолонку("ТипЦен");//ДанныеформыКоллекция Возврат Колонка; КонецФункции &НаКлиенте Процедура ПриОткрытии(Отказ) ТипыЦен = Объект.ТипыЦен; Колонка = ПолучаемКолонку(ТипыЦен); СписокТиповЦен.ЗагрузитьЗначения(Колонка); КонецПроцедуры


зачем этот бред с Сервером.
Выгрузите колонку на клиенте
lolmatrix
написано в справке, что доступность на Сервере
ДанныеФормыКоллекция.Выгрузить (FormDataCollection.Unload)
Доступность:
Сервер, мобильное приложение(сервер).

&НаКлиенте
Процедура ПриОткрытии(Отказ)
    
    ТипыЦен = Объект.ТипыЦен;
    СписокТиповЦен.ЗагрузитьЗначения(ТипыЦен.ВыгрузитьКолонку("ТипЦен"));
КонецПроцедуры


Так тоже не работает
sava1
а просто обойти и заполнить список ?
lolmatrix
sava1 @ Сегодня, 14:33 необходимо зарегистрироваться для просмотра ссылки ,
можно конечно и обойти, спасибо, попробую обойти, но есть же метод выгрузить, хочу понят как ? примера в Синтаксис помощнике нет
sava1
Цитата(lolmatrix @ 09.12.19, 12:05) необходимо зарегистрироваться для просмотра ссылки
теперь ошибка такая
ВремТабл = ДанныеФормыВЗначение(ТипыЦен,Тип("ТаблицаЗначений"));
по причине:


ВремТабл = ДанныеФормыВЗначение("ТипыЦен",Тип("ТаблицаЗначений"));
lolmatrix
sava1 @ Сегодня, 15:01 необходимо зарегистрироваться для просмотра ссылки ,
спасибо, Всем за ответы, если можно напишите пожалуйста с пример выгрузить из ДанныеФормыКоллекция
решил так
&НаКлиенте
Процедура ПриОткрытии(Отказ)
        ТипыЦен = Объект.ТипыЦен;
Для каждого Элемент из ТипыЦен Цикл
    
    СписокТиповЦен.Добавить(Элемент.Типцен);
    КонецЦикла;

КонецПроцедуры
Макс1С
lolmatrix @ Сегодня, 13:30 необходимо зарегистрироваться для просмотра ссылки ,
У вас Табличная часть объекта "ТипыЦен" поэтому можно так:
ВремТабл = ДанныеФормыВЗначение(Объект.ТипыЦен,Тип("ТаблицаЗначений"));

или
ВремТабл = Объект.ТипыЦен.Выгрузить()

или обойти циклом
TipsyKID
&НаСервере
Процедура ЗагрузитьКолонку()
    
    
    ТаблицаЗначенийТипыЦен = ТипыЦен.Выгрузить( ,"ТипЦен");//ДанныеформыКоллекция в ТЗ
    МассивЗначений = ТаблицаЗначенийТипыЦен.ВыгрузитьКолонку("ТипЦен"); // Из ТЗ в Массив
    СписокТиповЦен.ЗагрузитьЗначения(МассивЗначений); // Из Массива в СЗ
    
КонецПроцедуры
lolmatrix
TipsyKID @ Вчера, 20:41 необходимо зарегистрироваться для просмотра ссылки ,
Спасибо, так я тоже пробовал метод выгрузить не доступен
fly
Цитата(lolmatrix @ 10.12.19, 6:43) необходимо зарегистрироваться для просмотра ссылки
СписокТиповЦен.ЗагрузитьЗначения(Колонка);

Объект.ТипыЦен

я так понимаю, есть табличная часть "ТипыЦен"

Колонка =  ПолучаемКолонку(ТипыЦен);

получаем: Тип = ДанныеФормыКоллекция

а у этого типа (ДанныеФормыКоллекция) нет метода
ВыгрузитьКолонку("");

есть только - Выгрузить (Unload)

Цитата(lolmatrix @ 10.12.19, 6:43) необходимо зарегистрироваться для просмотра ссылки
TipsyKID @ Вчера, 20:41 ,
Спасибо, так я тоже пробовал метод выгрузить не доступен


что вы не то пробовали, работает если сначала ДанныеФормы - выгрузить в ТаблицуЗначений, потом из Таблицы значений выгрузить колонку

&НаКлиенте
Процедура ПриОткрытии(Отказ)
         ТипыЦен = Объект.ТипыЦен;
         // ----- выгружаем ДанныеФормыКолекция в Таблицу значений
         ТЗ = ТипыЦен.Выгрузить();
         // -----
         Колонка = ПолучаемКолонку(ТЗ);
        
         СписокТиповЦен.ЗагрузитьЗначения(Колонка);
КонецПроцедуры


&НаСервере
Функция ПолучаемКолонку(ТипыЦен)
    
    Колонка =  ТипыЦен.ВыгрузитьКолонку("ТипЦен");
    Возврат Колонка;
КонецФункции
Макс1С
fly @ Вчера, 13:05 необходимо зарегистрироваться для просмотра ссылки ,
Коллега, вы немного напутали, метод Выгрузить() для ДанныеФормыКоллекция недоступен на клиенте.
lolmatrix @ Вчера, 6:43 необходимо зарегистрироваться для просмотра ссылки ,
Если у вас табличная часть, в вашей серверной процедуре пишите:
Колонка = Объект.ТипыЦен.ВыгрузитьКолонку("ТипЦен")

Если "Типы цен" - просто реквизит формы:
ВремТабл = ДанныеФормыВЗначение(ТипыЦен,Тип("ТаблицаЗначений"));
Колонка = ВремТабл.ВыгрузитьКолонку("ТипЦен")

ИЛИ:
ВремТабл = ТипыЦен.Выгрузить(,"ТипЦен"); //можно как со вторым параметром  так и без него, возвращаемый результат - ТЗ
Колонка = ВремТабл.ВыгрузитьКолонку("ТипЦен")
fly
Цитата(Макс1С @ 11.12.19, 9:32) необходимо зарегистрироваться для просмотра ссылки
Коллега, вы немного напутали, метод Выгрузить() для ДанныеФормыКоллекция недоступен на клиенте.

Реально спасибо, так как не обратил внимание - и перенес на Клиент
Изначально
ТЗ = ТипыЦен.Выгрузить();

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

Цитата(Макс1С @ 11.12.19, 9:32) необходимо зарегистрироваться для просмотра ссылки
Если у вас табличная часть, в вашей серверной процедуре пишите:
Колонка = Объект.ТипыЦен.ВыгрузитьКолонку("ТипЦен")


а вот с этим соглашусь, но с оговорками:
если берем модуль Формы:
что на сервере, что на клиенте на управляемых формах табличная часть через точку возвращается тип = ДанныеФормыКоллекция, и тогда нет метода ВыгрузитьКолонку()...


если же берем модуль объекта
то обращение не через точку (т.е. изначально было на форме написано), а просто к табличной части и тогда работает метод ВыгрузитьКолонку:
Цитата
Колонка = ТипЦен.ВыгрузитьКолонку()





fly @ Сегодня, 10:05 необходимо зарегистрироваться для просмотра ссылки ,
Макс1С
Цитата(fly @ 11.12.19, 10:10) необходимо зарегистрироваться для просмотра ссылки
что на сервере, что на клиенте на управляемых формах табличная часть через точку возвращается тип = ДанныеФормыКоллекция, и тогда нет метода ВыгрузитьКолонку()...

Спасибо, действительно. Это затмение нашло какое-то, изначально написал Выгрузить() в ТЗ и ВыгрузитьКолонку(), а потом с какого-то перепугу поправил свой пост
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.