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

Помогите пож. разобраться с выбором документа

Автор вертер, 24 мая 2011, 17:13

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

вертер

Цитата: chuevsf от 25 мая 2011, 09:15
В этом случае только "ломать" конфигурацию. Другого способа нет.
И каждый раз при обновлении это надо будет "накатывать" заново.

хорошо, это мы уже выяснили как на счет кода?


// Процедура - обработчик события "ОбработкаЗаполнения".
//
Процедура ОбработкаЗаполнения(Основание)
//{{__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.ПоступлениеТоваровУслуг") Тогда
// Заполнение шапки
ИначеЕсли ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.ПеремещениеТоваров") Тогда
// Заполнение шапки
Комментарий = ДанныеЗаполнения.Комментарий;
Информация = ДанныеЗаполнения.Комментарий;
Ответственный = ДанныеЗаполнения.Ответственный;
Склад = ДанныеЗаполнения.СкладПолучатель;
СтарыйТипЦен = ДанныеЗаполнения.ТипЦен;
Для Каждого ТекСтрокаТовары Из ДанныеЗаполнения.Товары Цикл
НоваяСтрока = Товары.Добавить();
НоваяСтрока.ЕдиницаИзмерения = ТекСтрокаТовары.ЕдиницаИзмерения;
НоваяСтрока.Номенклатура = ТекСтрокаТовары.Номенклатура;
НоваяСтрока.ХарактеристикаНоменклатуры = ТекСтрокаТовары.ХарактеристикаНоменклатуры;
НоваяСтрока.Цена = ТекСтрокаТовары.Цена;
НоваяСтрока.СтараяЦена = ТекСтрокаТовары.Цена;
КонецЦикла;
КонецЕсли;
//}}__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ
КонецПроцедуры // ОбработкаЗаполнения()



а в начале мне нужно выбрать список всех документов на перемещение за период

chuevsf

Вообще-то этот код создается автоматически, при добавлении документа на основании. Единстенно, что его можно немного изменить потом. Но писать его с самого начала это абсурд.

вертер

Цитата: chuevsf от 25 мая 2011, 09:43
Вообще-то этот код создается автоматически, при добавлении документа на основании. Единстенно, что его можно немного изменить потом. Но писать его с самого начала это абсурд.

мы с вами говорим о разном, мне к этому коду нужно добавить выбор документа, конечно это од конструктора - там же в коментарии черным по белом написано

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


Процедура ОбработкаЗаполнения(ДанныеЗаполнения)

//Общий модуль{{__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
//{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

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

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

ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");
ТоварыОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ТоварыШапкаТаблицы");
ТоварыОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ТоварыПодвалТаблицы");
ТоварыОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("ТоварыДетали");

ТабДок.Очистить();
ТабДок.Вывести(ОбластьЗаголовок);
ТабДок.Вывести(ОбластьШапкаТаблицы);
ТабДок.НачатьАвтогруппировкуСтрок();

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

Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи);
ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень());

ТабДок.НачатьГруппуСтрок();
ТабДок.Вывести(ТоварыОбластьШапкаТаблицы);
ТабДок.НачатьАвтогруппировкуСтрок();

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

Пока ТоварыВыборкаДетальныеЗаписи.Следующий() Цикл
ТоварыОбластьДетальныхЗаписей.Параметры.Заполнить(ТоварыВыборкаДетальныеЗаписи);
ТабДок.Вывести(ТоварыОбластьДетальныхЗаписей, ТоварыВыборкаДетальныеЗаписи.Уровень());
КонецЦикла;

ТабДок.ЗакончитьАвтогруппировкуСтрок();
ТабДок.Вывести(ТоварыОбластьПодвалТаблицы);
ТабДок.ЗакончитьГруппуСтрок();
КонецЦикла;

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

//}}__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ
КонецПроцедуры // ОбработкаЗаполнения()

chuevsf

Так у вас что ли документ на основании уже был создан ранее? И вы сейчас желаете его просто подцепить в структуру подчиненности документов?

вертер

Цитата: chuevsf от 25 мая 2011, 10:34
Так у вас что ли документ на основании уже был создан ранее? И вы сейчас желаете его просто подцепить в структуру подчиненности документов?
в УПП в типовой уже есть документ основание "Поступление товаров" на его основании формируется документ "Установка цен номенклатуры"(УЦН) , мне нужно чтобы документ УСН еще и формировался из документа Перемещение.

Теги:

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

Рейтинг@Mail.ru

Поиск