5°C
завтра: 1°C
Погода в Перми
5°C
вечером2°C
ночью−1°C
завтра1°C
Подробно
 63,76
−0.1936
Курс USD ЦБ РФна 22 октября
63,7606
−0.1936
 71,17
+0.0397
Курс EUR ЦБ РФна 22 октября
71,1696
+0.0397
PRM.Форум /Компьютеры Интернет Связь / Программирование /

1С: установка значения перечисления...

  • Совсем запарился... Не могу понять, где не прав и все... Может кто поможет?...
    Ситуация:

    Необходимо загрузить "Перечисление" из таблицы значений в документ...

    Вот, что я делаю:

    ШапкаДокумента=СоздатьОбъект("ТаблицаЗначений");
    ШапкаДокумента.НоваяКолонка("Реквизит","Строка",,,,20);
    ШапкаДокумента.НоваяКолонка("Значение",,,,,10);
    ШапкаДокумента.НоваяКолонка("Тип","Строка",,,,10);

    ПредстЗначРекв="Поступление ТМЦ (купля-продажа)";
    ТипРекв="Перечисление.КодыОпераций";

    ШапкаДокумента.НоваяСтрока();
    ШапкаДокумента.Реквизит="КодОперации";
    ТекПеречисление="КодыОпераций";

    ШапкаДокумента.Значение="";
    Для СчетчикЦикла = 1 По МетаДанные.Перечисление.(ТекПеречисление).Значение() Цикл
    Если ПредстЗначРекв=Строка(МетаДанные.Перечисление(ТекПеречисление).Значение(СчетчикЦикла)) Тогда
    ШапкаДокумента.Значение=МетаДанные.Перечисление(ТекПеречисление).Значение(СчетчикЦикла);
    ШапкаДокумента.Тип=ТипРекв;
    Прервать;
    КонецЕсли;

    ... Т.е. теперь в ТаблицеЗначений:ШапкаДокумента есть одна строка с колонками: "Реквизит"="КодОперации", "Значение"=Поступление ТМЦ (купля-продажа), "Тип"="Перечисление.КодыОпераций"...

    //Теперь записываю в документ:
    ...
    ТекДокумент.НазначитьТип(ШапкаДокумента.Реквизит,ШапкаДокумента.Тип);
    ТекДокумент.УстановитьАтрибут(ШапкаДокумента.Реквизит,ШапкаДокумента.Значение);
    ...
    //где ТекДокумент=СоздатьОбъект("Документ" ...

    И почему-то значение не добавляется в документ... Со справочниками и документами все в порядке, а вот как загрузить перечисление?... Может я чего не понимаю?... Подскажите, плз... Надежда только на вас...

    Или может просто, кто подскажет, как из таблицы значений загрузить "перечисление" в документ?...

  • Поясни что означает "Загрузить перечисление в документ" ?
    можно ведь просто присвоить значение перечисления реквизиту, например:
    Реквизит: Рекв, тип значения "Перечислетие.Типы"

    Рекв = Перечислетие.Типы.МойТип

    Цензура

  • Поясняю...
    Есть текстовый файл, в который выгружен документ... Необходимо загрузить документ из файла в 1С... Формат приблизительно такой (пример):

    [Документ]
    Идентификатор|ПоступлениеТМЦ
    ДатаДокумента|20020512
    НомерДокумента|___
    Комментарий|
    Проведен|1
    [ШапкаДокумента]
    Автор|Справочник.Пользователи|Федоров
    ...
    КодОперации|Перечисление.КодыОпераций|Поступление ТМЦ (купля-продажа)
    ...
    [КонецДокумента]

    Соответственно Тип, Реквизит, Значения получаю из файла в строковом формате... Поэтому нельзя напрямую написать:
    Рекв=Перечисления.Типы.МойТип
    Делаю все через Метаданные... Теперь необходимо присовоить в документе соответствующему реквизиту "тип" и "значение"... Использую: "НазначитьТип", "УстановитьАтрибут"...

    Код я уже писал... Что там может быть не так?....

Записей на странице:

Перейти в форум

Модератор: