Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Ввод на основании          
Dima999222 Подменю пользователя
сообщение 06.07.12, 16:29
Сообщение #1

Общительный
**
Группа: Пользователи
Сообщений: 29
Из: Киев
Спасибо сказали: 1 раз
Рейтинг: 0

Доброго времени суток.

Снова обращаюсь в Вам за помощью. Необходимо доработать документы ЗаказПокупателя и ПеремещениеТоваров так что бы на основании ЗаказаПокупателя заполнялась табличная часть ПеремешенияТоваров.

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


Выпадает ошибка что переменная "ДанныеЗаполнения" не задана. Вопрос что присвоить этой переменной что бы все работало???

Конфигурация: УТП 1.2.7.4 (не типовая) Платформа: 8.2.14.540


Signature
Кoгда мне плoхо, я пою. Когда я пою, становится всем плохо. Когда всем становится плохо, мне становится хорошо.

Vofka Подменю пользователя
сообщение 06.07.12, 16:37
Сообщение #2

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 14050
Из: Киев
Спасибо сказали: 4612 раз
Рейтинг: 3748.8

Цитата(Dima999222 @ 06.07.12, 17:29) *
Выпадает ошибка что переменная "ДанныеЗаполнения" не задана. Вопрос что присвоить этой переменной что бы все работало???

Продам СП. Дорого.
Цитата
ДокументОбъект.<Имя документа>.ОбработкаЗаполнения (DocumentObject.<Имя документа>.Filling)
ДокументОбъект.<Имя документа> (DocumentObject.<Имя документа>)
ОбработкаЗаполнения (Filling)
Синтаксис:

ОбработкаЗаполнения(<ДанныеЗаполнения>, <СтандартнаяОбработка>)
Параметры:

<ДанныеЗаполнения>

Тип: Произвольный.
Значение, которое используется как основание для заполнения.
Если обработчик вызван при выполнении метода Заполнить, параметр равен параметру "Данные заполнения" метода Заполнить.
При обработке заполнения во время ввода на основании параметр имеет значение основания.
При интерактивном вводе нового из формы списка параметр является структурой, элементы которой соответствуют тем параметрам отбора формы списка, у которых способ сравнения Равно или ВСписке с единственным элементом списка. Если таких элементов отбор списка не содержит, данный параметр равен Неопределено. Если параметр "Стандартная обработка" по окончании работы обработчика равен Истина (установлен по умолчанию), система автоматически произведет заполнение одноименными элементами структуры.
<СтандартнаяОбработка>

Тип: Булево.
В данный параметр передается признак выполнения стандартной (системной) обработки события. Если в теле процедуры-обработчика установить данному параметру значение Ложь, стандартная обработка события производиться не будет. Отказ от стандартной обработки не отменяет действие.
Значение по умолчанию: Истина
Описание:

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

logist Подменю пользователя
сообщение 06.07.12, 16:41
Сообщение #3

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2539 раз
Рейтинг: 0

Цитата(Dima999222 @ 06.07.12, 17:29) *
Вопрос что присвоить этой переменной что бы все работало???

Встречный вопрос - а где вы размещаете эту процедуру? И как вызываете создание на основании

Сообщение отредактировал logist - 06.07.12, 16:43


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Dima999222 Подменю пользователя
сообщение 06.07.12, 19:20
Сообщение #4

Общительный
**
Группа: Пользователи
Сообщений: 29
Из: Киев
Спасибо сказали: 1 раз
Рейтинг: 0

Цитата(logist @ 06.07.12, 17:41) *
Встречный вопрос - а где вы размещаете эту процедуру? И как вызываете создание на основании

Вот пошаговые действия в скриншотах.





Signature
Кoгда мне плoхо, я пою. Когда я пою, становится всем плохо. Когда всем становится плохо, мне становится хорошо.

pablo Подменю пользователя
сообщение 07.07.12, 7:45
Сообщение #5

Старейшина
********
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 193 раз
Рейтинг: 0

Цитата
ошибка что переменная "ДанныеЗаполнения" не задана.

На какую строку ссылается ошибка?


Signature
Правильно поставленный вопрос содержит до 90% ответа.

Dima999222 Подменю пользователя
сообщение 07.07.12, 11:06
Сообщение #6

Общительный
**
Группа: Пользователи
Сообщений: 29
Из: Киев
Спасибо сказали: 1 раз
Рейтинг: 0

Цитата(pablo @ 07.07.12, 8:45) *
На какую строку ссылается ошибка?



Огромное Вам спасибо что откликнулись на помощь. Вот скриншот ошибки:


Signature
Кoгда мне плoхо, я пою. Когда я пою, становится всем плохо. Когда всем становится плохо, мне становится хорошо.

ignsv Подменю пользователя
сообщение 07.07.12, 11:27
Сообщение #7

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 193
Спасибо сказали: 60 раз
Рейтинг: 0

по последнему скрин-шоту:
понятно оно не видит ДанныеЗаполнения - Вы ж его не обьявили

посмотрите типовые заполнения ТЧ на основании.

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


sava1 Подменю пользователя
сообщение 07.07.12, 11:31
Сообщение #8

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2752
Из: Проскуров
Спасибо сказали: 708 раз
Рейтинг: 686.5

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

Dima999222 Подменю пользователя
сообщение 07.07.12, 12:30
Сообщение #9

Общительный
**
Группа: Пользователи
Сообщений: 29
Из: Киев
Спасибо сказали: 1 раз
Рейтинг: 0

Цитата(sava1 @ 07.07.12, 12:31) *
в Процедура ОбработкаЗаполнения(Основание)
вместо Основание - ДанныеЗаполнения


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


Signature
Кoгда мне плoхо, я пою. Когда я пою, становится всем плохо. Когда всем становится плохо, мне становится хорошо.

Vofka Подменю пользователя
сообщение 07.07.12, 12:36
Сообщение #10

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 14050
Из: Киев
Спасибо сказали: 4612 раз
Рейтинг: 3748.8

Dima999222, а чем отличается вариант выше от варианта в первом посте?

Dima999222 Подменю пользователя
сообщение 07.07.12, 14:26
Сообщение #11

Общительный
**
Группа: Пользователи
Сообщений: 29
Из: Киев
Спасибо сказали: 1 раз
Рейтинг: 0

Цитата(Vofka @ 07.07.12, 13:36) *
Dima999222, а чем отличается вариант выше от варианта в первом посте?

Первой строкой в коде, а именно
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)

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

и все стало хорошо работать.

Еще раз благодарю всех за оперативную помощь.


Signature
Кoгда мне плoхо, я пою. Когда я пою, становится всем плохо. Когда всем становится плохо, мне становится хорошо.

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 16.06.25, 21:43
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!