"Товарищи 1с-ники, помогите доделать процедуру заполнения табличной части. документ Продажа собственной фирме (в конфигураторе Быстрая продажа).<br>Я сделал запрос по регистру остатки ТМЦ, получаю в итоге номенклатуру и количество. Могу передать их в табличную часть. А как сделать чтобы остальные поля табличной части заполнялись/рассчитывались? Чувствую, что где-то рядом ответ, а не получается. Уже комп выкинуть хочется. <br>Вот что сделано:<br><br>Процедура ЗаполнитьПоОстаткам()<br>//проверки<br> Если Форма.Параметр <> "Перемещение" Тогда <br> Предупреждение("Только для внутрифирменных продаж");<br> Возврат;<br> ИначеЕсли КоличествоСтрок() <> 0 Тогда<br> Если Вопрос("Заполнить по отрицательным остаткам склада покупателя (перед заполнением табличная часть будет очищена)?", "Да+Нет", 60) <> "Да" Тогда<br> Возврат;<br> КонецЕсли;<br> Сообщить("заполняю"); <br> УдалитьСтроки();<br> КонецЕсли; <br>\\конец проверок <br> <br>ТекстЗапросаОстатков="<br>|ФирмаПокупат = Регистр.ОстаткиТМЦ.Фирма;<br>|Номенклатура = Регистр.ОстаткиТМЦ.Номенклатура;<br>|СкладПокупат = Регистр.ОстаткиТМЦ.Склад;<br>|Количество = Регистр.ОстаткиТМЦ.Количество;<br>|Функция КоличествоКонОст = КонОст(Количество);<br>|Группировка Номенклатура без групп;<br>|Условие(ФирмаПокупат=ФирмаПокупателя);<br>|Условие(СкладПокупат=СкладПокупателя);"; <br><br>ЗапросПоОстаткам = СоздатьОбъект("Запрос");<br>Если ЗапросПоОстаткам.Выполнить(ТекстЗапросаОстатков) = 0 Тогда<br> Возврат;<br>КонецЕсли;<br>флаг=0; // для отслеживания того что отбор был<br><br> Список =СоздатьОбъект("СписокЗначений"); // думаю пригодится. <br><br>Пока ЗапросПоОстаткам.Группировка(1) = 1 Цикл <br> Если ЗапросПоОстаткам.КоличествоКонОст < 0 Тогда //нам нужны отрицательные остатки<br> флаг=1;<br> НоваяСтрока(); <br> Номенклатура=ЗапросПоОстаткам.Номенклатура; // поле таб части<br> КоличествоОст=ЗапросПоОстаткам.КоличествоКонОст-ЗапросПоОстаткам.КоличествоКонОст*2; //остатки со знаком - надо +<br> Количество=КоличествоОст; //поле таб части<br> Единица = ЗапросПоОстаткам.Номенклатура.ОсновнаяЕдиница; //вроде бы правильно ?<br> Коэффициент= ЗапросПоОстаткам.Номенклатура.ОсновнаяЕдиница.Коэффициент; // не уверен что во всех случаях так.<br> <br> Список.ДобавитьЗначение(Номенклатура); //заполняем список значений но он, <br> СписокНоменклатуры.ДобавитьЗначение(Количество); //почему то не заполняется<br><br> Сообщить(ЗапросПоОстаткам.Номенклатура); // проверял: запрос отрабатывается четко.<br> Сообщить(КоличествоОст);<br> <br> КонецЕсли;<br>КонецЦикла; <br><br>Если флаг=0 Тогда<br> Сообщить("У организации " + ФирмаПокупателя + " по складу " + СкладПокупателя + " не найдено отрицательных остатков");<br> Возврат;<br>КонецЕсли;<br> <br>КонецПроцедуры<br><br><br>подскажите как по уму сделать? через отладчик смотрел как что считает все равно не соображу как сделать, там наворочено куча всего."