• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

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

  • Автор темы Автор темы RZX
  • Дата начала Дата начала
R

RZX

Здравствуйте!

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

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

Код:
Процедура Выполнить()
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, СпрНоменклатура.ТекущийЭлемент());

тоже не работает. А как правильно? Что не так?
 
СпрНоменклатура.Записать();

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

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

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

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

Операция.Д*цензура*.Субконто(1, СпрНоменклатура.ТекущийЭлемент());
Где логика?! B)
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

Похожие темы