Новый элемент справочника в обработке и операция

Тема в разделе "1C и всё что с ней связано", создана пользователем RZX, 1 фев 2010.

  1. RZX

    RZX Active Member

    Регистрация:
    3 ноя 2009
    Сообщения:
    42
    Симпатии:
    0
    Здравствуйте!

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

    Переношу данные - номенклатуру из 1С 6 в обработке сразу с записью остатков.
    Проблема не в самом переносе, а в выделенной строке:

    Код (Text):
    Процедура Выполнить()
    DBF = СоздатьОбъект("XBase");

    DBF.ОткрытьФайл("E:\export.DBF");
    СпрНоменклатура = СоздатьОбъект("Справочник.Номенклатура");
    Операция = СоздатьОбъект("Операция");

    Операция.Новая();

    Операция.ДатаОперации = НачДата;
    Операция.Содержание = "Перенос остатков по товарам";

    Операция.СуммаОперации = 0;

    Если DBF.Открыта() = 0 Тогда
    Сообщить("Ошибка открытия!");
    СтатусВозврата(0);
    КонецЕсли;

    DBF.Первая();

    Пока DBF.Следующая() <> 0 Цикл
    СпрНоменклатура.Новый();
    СпрНоменклатура.Наименование = DBF.NAME;
    СпрНоменклатура.Цена = DBF.PRICE;
    СпрНоменклатура.ЦенаИзготовителя = DBF.PRICE;
    СпрНоменклатура.Себестоимость = DBF.PRICE;

    Операция.НоваяПроводка();

    Операция.СодержаниеПроводки = "Ввод остатков по товарам Дт 41.1 Кт 00";
    Операция.Количество = DBF.QUANTITY;
    Операция.Сумма = DBF.PRICE * DBF.QUANTITY;

    Операция.Д*цензура*.Счет = СчетПоКоду("41.1");

    Операция.Д*цензура*.Субконто(1, СпрНоменклатура); ///////////////////////////////////////////////// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    Операция.Д*цензура*.Субконто(2, ВыбМестаХранения);
    Операция.Д*цензура*.Субконто(3, ВыбМОЛ);

    Операция.Кредит.Счет = СчетПоКоду("00");

    СпрНоменклатура.Записать();
    Операция.Записать();

    КонецЦикла;

    DBF.ЗакрытьФайл();
    КонецПроцедуры
    И в общем-то все работает замечательно за исключением выделенной строки.

    ВыбМестаХранения и ВыбМОЛ - элементы формы обработки
    При окончании работы обработки в проводках по первому субконто должен быть элемент справочника, а выдает <...>
    С местом хранения и МОЛ вопросов нет.

    Так: Операция.Д*цензура*.Субконто(1, СпрНоменклатура.ТекущийЭлемент());

    тоже не работает. А как правильно? Что не так?
     
  2. KiR

    KiR НЕ шибка опытный програмер)
    1C Team

    Регистрация:
    11 сен 2007
    Сообщения:
    1.581
    Симпатии:
    0
    СпрНоменклатура.Записать();

    перед Операция.НоваяПроводка(); просто элемент справочника создается, но не записывается.
     
  3. RZX

    RZX Active Member

    Регистрация:
    3 ноя 2009
    Сообщения:
    42
    Симпатии:
    0
    Да, спасибо!
    Все нормально!

    Работает, если разместить эапись справочника перед созданием операции и
    если

    Операция.Д*цензура*.Субконто(1, СпрНоменклатура.ТекущийЭлемент());
     
  4. KiR

    KiR НЕ шибка опытный програмер)
    1C Team

    Регистрация:
    11 сен 2007
    Сообщения:
    1.581
    Симпатии:
    0
    Где логика?! B)
     
Загрузка...

Поделиться этой страницей