Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 15:22

Заполнение Табличной Части документа

Автор Yeahkaterina, 19 мая 2011, 12:40

0 Пользователей и 1 гость просматривают эту тему.

Yeahkaterina

Делаю внешнюю обработку для приходных кассовых ордеров. Необходимо, чтоб при нажатии на КНОПКУ1 в табличной части происходила свертка приходников по дате и кассе-(это работает). Далее,галкой отмечаются док-ты которые необходимо провести и по нажатию на кнопку ВЫПОЛНИТЬ создается новый документ "ОплатаОтНаселния", но только в развернутом состоянии(Для каждого отмеченного отдельный). Не могу заполнить все поля табличной части в док-те "ОплатаОтНаселения"...
подскажите пожалуйста



Процедура КнопкаВыполнитьНажатие(Кнопка)

Для Каждого Строка ИЗ ДокументыПриходники Цикл
Если Строка.Загрузить = Истина Тогда
НовыйДокумент = Документы.ОплатаОтНаселения.СоздатьДокумент();

ПараметрыОтбора = Новый Структура;
ПараметрыОтбора.Вставить("Дата", Строка.Дата);
ПараметрыОтбора.Вставить("Касса", Строка.Касса);
НайденыеСтроки = ДокументыПриходникиРазвернут.НайтиСтроки(ПараметрыОтбора);

Для каждого Элем Из НайденыеСтроки Цикл
ТЧ = НовыйДокумент.ДокументыПКО.Добавить();   
Тч.Дата = Элем.Дата;
Тч.Касса = Элем.Касса;

Тч.Сумма = ??????


КонецЦикла;

КонецЕсли;
КонецЦикла;


НовыйДокумент.ПолучитьФорму().Открыть();


КонецПроцедуры

Процедура Кнопка1Нажатие(Элемент)


ДокументыПриходники.Очистить();

Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ДатаНачала", НачПериода);
Запрос.УстановитьПараметр("ДатаОкончания", КонецДня(КонПериода));
Запрос.УстановитьПараметр("Касса", Касса);
Запрос.УстановитьПараметр("НетОтбораПоКассе", Не ЗначениеЗаполнено(Касса));
Запрос.Текст = "ВЫБРАТЬ
|   ПриходныйКассовыйОрдер.Дата,
|   ПриходныйКассовыйОрдер.Касса,
|   ПриходныйКассовыйОрдер.СуммаДокумента КАК СуммаДокумента,
|   ПриходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка,
|   ХозрасчетныйОбороты.НомерСтроки
|ПОМЕСТИТЬ Таблица
|ИЗ
|   РегистрБухгалтерии.Хозрасчетный.Обороты(&ДатаНачала, &ДатаОкончания, Запись, , , , , ) КАК ХозрасчетныйОбороты
|    ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПриходныйКассовыйОрдер КАК ПриходныйКассовыйОрдер
|    ПО ХозрасчетныйОбороты.Регистратор = ПриходныйКассовыйОрдер.Ссылка
|    ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПриходныйКассовыйОрдер.РасшифровкаПлатежа КАК ПриходныйКассовыйОрдерРасшифровкаПлатежа
|    ПО ХозрасчетныйОбороты.Регистратор = ПриходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка
|ГДЕ
|   (ПриходныйКассовыйОрдер.Касса = &Касса
|    ИЛИ &НетОтбораПоКассе)
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
|   Таблица.Касса КАК Касса,
|   Таблица.СуммаДокумента КАК СуммаДокумента,
|   Таблица.Ссылка КАК Ссылка,
|   Таблица.Дата,
|   Таблица.НомерСтроки КАК Количество
|ИЗ
|   Таблица КАК Таблица";


ВыборкаДвижений = Запрос.Выполнить().Выбрать();

Пока ВыборкаДвижений.Следующий() Цикл
СтрокаДокРаз = ДокументыПриходникиРазвернут.Добавить();
СтрокаДок = ДокументыПриходники.Добавить();
СтрокаДокРаз.Дата = ВыборкаДвижений.Дата;
СтрокаДокРаз.Касса = ВыборкаДвижений.Касса;
СтрокаДокРаз.Сумма = ВыборкаДвижений.СуммаДокумента;
СтрокаДокРаз.Документ = ВыборкаДвижений.Количество;
СтрокаДокРаз.Количество = ВыборкаДвижений.Количество;

СтрокаДок.Дата = ВыборкаДвижений.Дата;
СтрокаДок.Касса = ВыборкаДвижений.Касса;
СтрокаДок.Сумма = ВыборкаДвижений.СуммаДокумента;
//СтрокаДок.Организация = ВыборкаДвижений.Организация;
СтрокаДок.Документ = ВыборкаДвижений.Количество;
СтрокаДок.Количество = ВыборкаДвижений.Количество;
//СтрокаДок.Контрагент = ВыборкаДвижений.Контрагент;
//СтрокаДок.Договор = ВыборкаДвижений.ДоговорКонтрагента;
//СтрокаДок.Абонент = ВыборкаДвижений.Абонент;
СтрокаДок.загрузить = Истина;
КонецЦикла;
ДокументыПриходники.Свернуть("Дата,Касса","Сумма,Документ");




КонецПроцедуры

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск