• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Работа с многострочной частью документа

  • Автор темы Guest
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

Guest

Плиз, помогите.
Главбуху вдруг приспичило перенести в 1С 7.7 данные за 199* - 2001 гг из dbf-таблиц. Конкретно - поступление товаров от поставщиков.
И всё бы ничего, но... В многострочной части документа при использовании метода НоваяСтрока(), послушно появляются новые строки, записываются количество и цена, но нет наименования самого товара в соответствующем столбце. Ошибок не выдает. Товар существует и обработкой найден. Где я глюканул??
 
V

vitfil

Давайте кусок кода, где искаете товар и записываете его в табличную часть
 
G

Guest

Дык..Вот оно, это...
//************
....
СпрНоменклатура = СоздатьОбъект("Справочник.Номенклатура");
СпрНоменклатура.ВыбратьЭлементы();
....
Пока <условие> Цикл
КодНоменклатуры = ОтгрузкаДБФ.Kpr;
Цена = ОтгрузкаДБФ.Cena;
КолОтгружено = ОтгрузкаДБФ.Kolp;

Если СпрНоменклатура.НайтиПоРеквизиту("КодДос",КодНоменклатуры,1) = 1 Тогда
НоменклатураТекЭлем = СпрНоменклатура.ТекущийЭлемент();
Иначе
Предупреждение("Не найден товар "+ КодНоменклатуры, 2);
КонецЕсли;

ДокПостТоваров.НоваяСтрока();
ДокПостТоваров.Товар = НоменклатураТекЭлемент;
ДокПостТоваров.Отгружено = КолОтгружено;
ДокПостТоваров.Количество = Колво;
ОтгрузкаДБФ.Следующая();
КонецЦикла;
....
//*********
Саму номенклатуру находит. Т.е. в свойствах реквизита указано "КодДос" указано "Отбор по реквизиту" и "Сортировка".
 
V

vitfil

В отладчике смотрели? Действительно находит?

Еще проверьте, какой тип реквизита "Товар" у вас в документе. Вполне допускаю, что стоит справочник неопределенного вида.
 
G

Guest

Смотрел. находит. Тип в документе "Справочник.Номенклатура".
Подозреваю, что дело в позиционировании на активной строке.
 
V

vitfil

Если строки добавляет и числовые значения записывает, значит не в позиционировании дело.
Посмотрите в отладчике, что у вас в "НоменклатураТекЭлемент" перед присвоением в табличную часть.
А вообще, неплохо было бы объявлять переменную вначале.
 
P

Pro

а попробуйте в перед поиском номенклатуры обнулять НоменклатураТекЭлемент
 
G

Guest

Ну надо же, а!!!!

МАШУ ВАТЬ!!!!!!!!

НоменклатураТекЭлем = СпрНоменклатура.ТекущийЭлемент();
ДокПостТоваров.Товар = НоменклатураТекЭлемент;

"НоменклатураТекЭлемент " - определена ранее как "".
Блин......... Тупицццццццааа. Звездец.
В дворники, в ассенизаторы....

Спасибо всем. Как говорил профессор Пирогов своим студентам: "Идите и объясните свою проблему швейцару Фёдору, когда поймет он, поймете и Вы.".
 
V

vitfil

Самокритика - это хорошо. Это правильно. А пирогов был прав! Жаль, что не все тут понимают это и обижаются, когда отказываешься отвечать на глупо сформулированные вопросы.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!