Здравствуйте, есть обработка где в табличную часть заполняются данные по контрагентам. ТЧ имеет колонки "Контрагент" и "Сумма". Задача состоит в том чтобы пройтись по строкам и по каждому контрагенту создать Налоговую накладную (НН) с номенклатурой которую брал контрагент.
Навалял такой код:
//Контрагенты - ТЧ формы
Для каждого СтрТЧ из Контрагенты Цикл
Форма = Документы.НалоговаяНакладная.ПолучитьФорму("ФормаДокумента"); Форма.Открыть(); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ |Ссылка.Контрагент, |Номенклатура, |СУММА (Количество) КАК Количество, |СУММА (Цена) КАК Цена, |СУММА (Сумма) КАК Сумма |ИЗ |Документ.РеализацияТоваровУслуг.Товары |ГДЕ |Ссылка.Контрагент = &Контрагент |СГРУППИРОВАТЬ ПО Номенклатура, Ссылка.Контрагент ";
Запрос.УстановитьПараметр("Контрагент", СтрТЧ.Контрагент); Результат = Запрос.Выполнить().Выбрать();
При таком способе заполнения в ТЧ товары в НН вбиваются значения, а можно ли как-то сделать чтобы они выбирались. То есть чтобы выполнялось действие при изменении (в НН). И еще поле контрагент в НН остается пустым. А также как сделать чтобы документ открывался фоновом режиме и при заполнении закрывался. Спасибо всем за ответы
Сообщение отредактировал meverikxp - 19.05.11, 8:56
Самая нелюбимая пословица сапёров: одна нога здесь, другая там...
Пока Результат.Следующий() Цикл СтрокаТЧ = НН.Товары.Добавить(); СтрокаТЧ.Номенклатура = Результат.Номенклатура; КонецЦикла;
НН.Записать(РежимЗаписиДокумента.Проведение);
Да, действительно получилось. Осталось только одно, как сделать чтобы при заполнении суммы и количества рассчитывались: цена, ставка, ндс. Заполнялись значения единица номенклатуры, валюта, основной договор. Как это сделать чтобы явно не вбивать значения. а вызывать функцию ПриИзменении?
Самая нелюбимая пословица сапёров: одна нога здесь, другая там...
Да, действительно получилось. Осталось только одно, как сделать чтобы при заполнении суммы и количества рассчитывались: цена, ставка, ндс. Заполнялись значения единица номенклатуры, валюта, основной договор. Как это сделать чтобы явно не вбивать значения. а вызывать функцию ПриИзменении?
Писать код заполнения. это если в 2-х словах...
----------------------------------------------------------------------------------- Единственный, интуитивно понятный интерфейс - мамкина сиська! Всему остальному надо учиться! (с) Не знаю кто....
Про1С-ник
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2539 раз
Рейтинг: 0
Цитата(meverikxp @ 19.05.11, 9:40)
Осталось только одно, как сделать чтобы при заполнении суммы и количества рассчитывались: цена
Поделите сумму на кол-во. Или возьмите из документов тем же запросом.
Цитата(meverikxp @ 19.05.11, 9:40)
ставка, ндс.
Ставку ндс можно получить из номенклатуры, и соответственно сумму ндс рассчитать от суммы/цены которая у нас есть (см. выше). Или опять же получить тем же запросом.
Цитата(meverikxp @ 19.05.11, 9:40)
Заполнялись значения единица номенклатуры
Взять базовую из номенклатуры, или тем же запросом.
Цитата(meverikxp @ 19.05.11, 9:40)
валюта, основной договор.
валюту взять из договора, а вот договор нужно указывать в начале как и контрагента, и соответственно делать запрос с отбором по договору в т.ч.
Личные бесплатные консультации не даю, для этого есть форум!
У нас здесь своя атмосфера...
Группа: Основатель
Сообщений: 14050
Из: Киев
Спасибо сказали: 4612 раз
Рейтинг: 3748.8
Цитата
Осталось только одно,
Цитата
1. чтобы при заполнении суммы и количества рассчитывались: 1а. цена, 1б. ставка, ндс. 2. Заполнялись значения 2а. единица 2б. номенклатуры 2в. валюта 2г. основной договор
Ставку ндс можно получить из номенклатуры, и соответственно сумму ндс рассчитать от суммы/цены которая у нас есть (см. выше). Или опять же получить тем же запросом.
Взять базовую из номенклатуры, или тем же запросом.
В запросе будет что-то вроде этого
Номенклатура.СтавкаНДС
???
Цитата(Vofka @ 19.05.11, 9:58)
Осталось только одно...
Ну как бы одно... Заполнить
и еще, если заполнять номенклатуру, то уже ели открыть созданный документ и попробовать выбрать номенклатуру выдает ошибку: Индекс находится за гранью массива ("Індекс знаходиться за межами масиву"), а тут в чем проблема?
Самая нелюбимая пословица сапёров: одна нога здесь, другая там...
Про1С-ник
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2539 раз
Рейтинг: 0
Вообще - посмотрите стандартную обработку заполнения налоговых, в бухгалтерии, УТП и УПП она точно есть, называется "Формирование налоговых накладных", может от туда что-то возьмете...
Личные бесплатные консультации не даю, для этого есть форум!
Вообще - посмотрите стандартную обработку заполнения налоговых, в бухгалтерии, УТП и УПП она точно есть, называется "Формирование налоговых накладных", может от туда что-то возьмете...
Спасибо. уже немножко разобрался. Дело движется к завершению. Все реквизиты: договор, валюта, курс, кратность, единица измерения беру из запроса Реализации
Самая нелюбимая пословица сапёров: одна нога здесь, другая там...
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!