Помогите нубу с первой обработкой, пожалуйста!
Необходимо, что бы из нескольких ЗаказовПокупателя формировался один документ. Первая процедура работает( формирует список заказов с отбором по дате и контрагенту.. А вот формирование документа - никак. Ошибка- поле объекта не обнаружено( Дата).
Что я делаю неправильно??
- это печально, тогда не стоит и погромировать начинать...
Код
объект.список.получить(0).<что-то там>
в Вашем цикле приведёт к получению одной строки списка с индексом 0, если по этому индексу вообще что-то можно получить: Получить(<номер строки>) используется когда нельзя использовать [<индекс>] (вот тут точно индексы с 0 начинаются)...но, в цикле это не нужно:
Использовать отладчик достаточно просто, и ... категорически необходимо, без отладки написать что-то практически невозможно (ИМХО, конечно). Так что, если в гугле не забанили,найдите как отлаживать код в 1С и пользуйтесь (в гугле: "как использовать отладчик в 1с", вот первая ссылка http://programmist1s.ru/otladka-1s/)...
(2) Проверил через конфигуратор такой реквизит есть в ЗаказПокупателя. Поменял АктВыполненыхРабот на ЗаказПокупателя. Так как реквизиты брались из обоих документов. Теперь ошибка : Поле объекта не обнаружено ( ЗаказПокупателя)
- это особо изощрённое извращение? В стр находится всё, что нужно. Проверить что есть и чего нет просто - научитесь пользоваться отладкой, остановитесь на первой строчке внутри цикла и смотрите всё, захочется....
- это печально, тогда не стоит и погромировать начинать...
Код
объект.список.получить(0).<что-то там>
в Вашем цикле приведёт к получению одной строки списка с индексом 0, если по этому индексу вообще что-то можно получить: Получить(<номер строки>) используется когда нельзя использовать [<индекс>] (вот тут точно индексы с 0 начинаются)...но, в цикле это не нужно:
Использовать отладчик достаточно просто, и ... категорически необходимо, без отладки написать что-то практически невозможно (ИМХО, конечно). Так что, если в гугле не забанили,найдите как отлаживать код в 1С и пользуйтесь (в гугле: "как использовать отладчик в 1с", вот первая ссылка http://programmist1s.ru/otladka-1s/)...
1. Если список - это список значений, то Список.Получить(0) - это элемент списка значений. И код это должно было выглядеть как Список.Получить(0).Значение.Дата
2. Так не делается. От слова совсем.
Алгоритм:
Если у нас есть список документов по определенному контрагенту (а еще неплохо было бы, чтобы и договор, и соглашение, и склад... были бы одинаковыми). Сначала мы заполняем шапку документа (реквизиты) из первого документа. Дату текущую дату сеанса. Автор - текущий пользователь. А потом в цикле по документам перенести строки в табличные части. Посчитать итоги. Открыть форму документа без записи или провести, если нужна чистая автоматизация.
В реальной жизни первый пакет результата запроса возвращает шапку, второй табличную часть. все запихивается в ДокументОбъект, открывается. Или формируются ДанныыеЗаполнения и передаеются в объект и штатные механизмы все сами заполняют (см. Модуль объекта: ОбработкаЗаполнения). Но это уже другая история.
Мне кажется, что можно все сделать одним запросом. Получить список заказов любым способом либо форма выбора, можно в таблице галочки сделать и перебрать. положить в массив документы. И запросом из этого списка документов собрать общую ТЧ, сгруппировать и просто загрузить в заказ покупателя. Я бы так делал. Без циклов.