1. Открываем конфигуратор. Документы --> Быстрая продажа --> Форма --> Модуль
2. Идем в конец модуля, после последней строки вставляем код
// Предопределенная процедура
//sw
Процедура ОбработкаПодбора(ВыбЗнач, КонтФормыПодбора)
//есть ставки налогов, есть скидка
глОбработкаПодбора(Контекст, ВыбЗнач, 1, 1, 1);
КонецПроцедуры // ОбработкаПодбора()
Процедура ЗаполнитьПоОстаткам()
//проверки
Если Форма.Параметр <> "Перемещение" Тогда
Предупреждение("Только для внутрифирменных продаж");
Возврат;
ИначеЕсли КоличествоСтрок() <> 0 Тогда
Если Вопрос("Заполнить по отрицательным остаткам склада покупателя (перед заполнением табличная часть будет очищена)?", "Да+Нет", 60) <> "Да" Тогда
Возврат;
КонецЕсли;
Сообщить("заполняю");
УдалитьСтроки();
КонецЕсли;
//конец проверок
ТекстЗапросаОстатков="
|ФирмаПокупат = Регистр.ОстаткиТМЦ.Фирма;
|Номенклатура = Регистр.ОстаткиТМЦ.Номенклатура;
|СкладПокупат = Регистр.ОстаткиТМЦ.Склад;
|Количество = Регистр.ОстаткиТМЦ.Количество;
|Функция КоличествоКонОст = КонОст(Количество);
|Группировка Номенклатура без групп;
|Условие(ФирмаПокупат=ФирмаПокупателя);
|Условие(СкладПокупат=СкладПокупателя);";
ЗапросПоОстаткам = СоздатьОбъект("Запрос");
Если ЗапросПоОстаткам.Выполнить(ТекстЗапросаОстатков) = 0 Тогда
Возврат;
КонецЕсли;
флаг=0; // для отслеживания того что отбор был
СписокНоменклатуры =СоздатьОбъект("СписокЗначений"); // думаю пригодится.
Пока ЗапросПоОстаткам.Группировка(1) = 1 Цикл
Если ЗапросПоОстаткам.КоличествоКонОст < 0 Тогда //нам нужны отрицательные остатки
флаг=1;
НоваяСтрока();
Номенклатура=ЗапросПоОстаткам.Номенклатура;
Количество=-ЗапросПоОстаткам.КоличествоКонОст;
глПересчетТаблЧасти(Контекст,"Номенклатура");
глПересчетТаблЧасти(Контекст,"Количество");
КонецЕсли;
КонецЦикла;
Если флаг=0 Тогда
Сообщить("У организации " + ФирмаПокупателя + " по складу " + СкладПокупателя + " не найдено отрицательных остатков");
Возврат;
КонецЕсли;
КонецПроцедуры
3. Переходим в диалог формы (слой табличная часть). Вставляем кнопку (Главное меню --> Вставка --> Кнопка).
4. Переходим на кнопке на вкладку "Дополнительно" и заполняем формулу вписанной в модуль процедурой: ЗаполнитьПоОстаткам()
5. Сохраняем изменения конфигурации. Запускаем 1С.
Кнопка заполнить работает и экономит время. 5 минут работы ))
зы. спасибо этим публикациям
http://1c.proclub.ru/modules/mydownloads/personal.php?cid=5&lid=3432
http://forum.infostart.ru/forum11/topic42164/