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

Создание на основании

Автор mashencev_anton, 21 апр 2015, 17:32

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

mashencev_anton

Как при помощи создать на Основании создать сразу несколько документов по определенному признаку

LexaK

с помощью обработки.

в обработке пишете запрос по которому получаете несколько нужных документов,
а потом в цикле создаете нужный новый документ-объект и
вызываете у него метод Заполнить(СсылкаНаДокументИзЗапроса)
если помогло нажмите: Спасибо!

mashencev_anton

Цитата: LexaK от 21 апр 2015, 18:10
с помощью обработки.

в обработке пишете запрос по которому получаете несколько нужных документов,
а потом в цикле создаете нужный новый документ-объект и
вызываете у него метод Заполнить(СсылкаНаДокументИзЗапроса)
т.е. это получается создать команду и по кнопке ее вызывать?

LexaK

Цитата: mashencev_anton от 21 апр 2015, 17:32
Как при помощи создать на Основании создать сразу несколько документов по определенному признаку
не совсем понятна постановка вопроса, что значит
создать сразу несколько документов по определенному признаку
что за признак? приведите пример из каких документов, какие вы хотите создать?
в 1С
и одного документа можно создать несколько документов разных тиипов
и из документов разного типа можно создать несколько документов одного типа,
у вас какая задача?

По кнопке меню Создать на основании, за одно нажатие создается один документ,
если вам надо за одно нажатие создавать несколько документов, нужно программировать.
Для начало надо четко представлять какие документы на основании каких вы хотите создавать.

если помогло нажмите: Спасибо!

mashencev_anton

Цитата: LexaK от 22 апр 2015, 10:48
Цитата: mashencev_anton от 21 апр 2015, 17:32
Как при помощи создать на Основании создать сразу несколько документов по определенному признаку
не совсем понятна постановка вопроса, что значит
создать сразу несколько документов по определенному признаку
что за признак? приведите пример из каких документов, какие вы хотите создать?
в 1С
и одного документа можно создать несколько документов разных тиипов
и из документов разного типа можно создать несколько документов одного типа,
у вас какая задача?

По кнопке меню Создать на основании, за одно нажатие создается один документ,
если вам надо за одно нажатие создавать несколько документов, нужно программировать.
Для начало надо четко представлять какие документы на основании каких вы хотите создавать.
Есть Документ "А", в ТЧ которго есть "Номенклатура" и "Поставщик". На основании доку "А" создается "ЗаказПоставщику". Нужно, чтобы создалось столько документов "ЗаказПоставщику", сколько "Поставщиков(Сгруппированных)" в ТЧ дока "А"

vitasw

В качестве идеи
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЗаказПоставщикуТовары.Заказ.Контрагент КАК Контрагент,
| ЗаказПоставщикуТовары.Номенклатура КАК Номенклатура,
| ЗаказПоставщикуТовары.Количество КАК Количество,
| ЗаказПоставщикуТовары.Сумма КАК Сумма
|ИЗ
| Документ.ЗаказПоставщику.Товары КАК ЗаказПоставщикуТовары
|ИТОГИ
| СУММА(Количество),
| СУММА(Сумма)
|ПО
| Контрагент,
| Номенклатура";

Результат = Запрос.Выполнить();

ВыборкаЗаказКонтрагент = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

Пока ВыборкаЗаказКонтрагент.Следующий() Цикл
СтрДокумент=Новый Структура;
СтрДокумент.Вставить("Контрагент",ВыборкаЗаказКонтрагент.Контрагент);
        Счетчик=1;
СтрТабЧасть=Новый Структура;
ВыборкаНоменклатура = ВыборкаЗаказКонтрагент.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаНоменклатура.Следующий() Цикл
СтрТабЧасть.Вставить("Строка"+Строка(Счетчик),Новый Структура("Номенклатура,Количество,Сумма",ВыборкаНоменклатура.Номенклатура,ВыборкаНоменклатура.Количество,ВыборкаНоменклатура.Сумма));
Счетчик=Счетчик+1;
КонецЦикла;
СтрДокумент.Вставить("Товары",СтрТабЧасть);

ДокОб=Документы.ЗаказПокупателя.СоздатьДокумент();
ДокОб.Заполнить(СтрДокумент);
КонецЦикла;

mashencev_anton

Цитата: vitasw от 23 апр 2015, 10:29
В качестве идеи
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЗаказПоставщикуТовары.Заказ.Контрагент КАК Контрагент,
| ЗаказПоставщикуТовары.Номенклатура КАК Номенклатура,
| ЗаказПоставщикуТовары.Количество КАК Количество,
| ЗаказПоставщикуТовары.Сумма КАК Сумма
|ИЗ
| Документ.ЗаказПоставщику.Товары КАК ЗаказПоставщикуТовары
|ИТОГИ
| СУММА(Количество),
| СУММА(Сумма)
|ПО
| Контрагент,
| Номенклатура";

Результат = Запрос.Выполнить();

ВыборкаЗаказКонтрагент = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

Пока ВыборкаЗаказКонтрагент.Следующий() Цикл
СтрДокумент=Новый Структура;
СтрДокумент.Вставить("Контрагент",ВыборкаЗаказКонтрагент.Контрагент);
        Счетчик=1;
СтрТабЧасть=Новый Структура;
ВыборкаНоменклатура = ВыборкаЗаказКонтрагент.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаНоменклатура.Следующий() Цикл
СтрТабЧасть.Вставить("Строка"+Строка(Счетчик),Новый Структура("Номенклатура,Количество,Сумма",ВыборкаНоменклатура.Номенклатура,ВыборкаНоменклатура.Количество,ВыборкаНоменклатура.Сумма));
Счетчик=Счетчик+1;
КонецЦикла;
СтрДокумент.Вставить("Товары",СтрТабЧасть);

ДокОб=Документы.ЗаказПокупателя.СоздатьДокумент();
ДокОб.Заполнить(СтрДокумент);
КонецЦикла;

Спасибо большое.
В общем создал команду и сделал что хотел.
Вопрос теперь отсюда: при нестандартном методе ввода на основании, "включить" структуру подчиненности?

vitasw

Это почему вдруг стало нестандартным? смотрите критерии отбора и в документах правильно заполняйте реквизиты документов-оснований.

mashencev_anton

Цитата: vitasw от 23 апр 2015, 12:45
Это почему вдруг стало нестандартным? смотрите критерии отбора и в документах правильно заполняйте реквизиты документов-оснований.
Не верно мыслил я..да Вы правы в критериях отбора добавил и всё норм..

Теги:

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

Рейтинг@Mail.ru

Поиск