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

Добавление дополнительных строк номеклатур

Автор Evanku, 18 янв 2016, 15:56

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

Evanku

Как сделать, что бы из дополнительных строк "Фитингл" и "Фитингп" списывались позиции со склада?
С "Номеклатуры" все списывается правильно, в коде смотрел и не нашел функцию которая отвечает за списание товара со склада, помогите начинающему пожалуйста.

Rasty

есть в модуле объекта процедурка, называется "ОбработкаПроведения" туда пишите код
Помогли - Скажи спасибо! Решил сам - поделись решением!
:)

cska-fanat-kz

Цитата: Rasty от 18 янв 2016, 16:02
есть в модуле объекта процедурка, называется "ОбработкаПроведения" туда пишите код

...там (хотя возможно и в модуль менеджера переходит) запрос к ТЧ документа делается, который потом идет дальше для проведения.
его по идее подправить надо...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Evanku

Цитата: cska-fanat-kz от 19 янв 2016, 02:51
Цитата: Rasty от 18 янв 2016, 16:02
есть в модуле объекта процедурка, называется "ОбработкаПроведения" туда пишите код

...там (хотя возможно и в модуль менеджера переходит) запрос к ТЧ документа делается, который потом идет дальше для проведения.
его по идее подправить надо...
#Область ОбработчикиСобытийФормы

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

Если ТребуетсяОткрытиеПечатнойФормы Тогда
Возврат;
КонецЕсли;

УстановитьУсловноеОформление();

Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа.
Возврат;
КонецЕсли;

// Обработчик подсистемы "Свойства"
УправлениеСвойствами.ПриСозданииНаСервере(ЭтаФорма, Объект, "ГруппаДополнительныеРеквизиты");

ОбщегоНазначенияУТ.НастроитьПодключаемоеОборудование(ЭтаФорма);
ИспользоватьРучныеСкидкиВПродажах         = ПолучитьФункциональнуюОпцию("ИспользоватьРучныеСкидкиВПродажах");
ИспользоватьАвтоматическиеСкидкиВПродажах = ПолучитьФункциональнуюОпцию("ИспользоватьАвтоматическиеСкидкиВПродажах");

ПродажаНеОблагаетсяНДС                    = Перечисления.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС;
ИспользоватьОграниченияРучныхСкидок       = ПолучитьФункциональнуюОпцию("ИспользоватьОграниченияРучныхСкидокВПродажахПоПользователям")
                                                ИЛИ ПолучитьФункциональнуюОпцию("ИспользоватьОграниченияРучныхСкидокВПродажахПоСоглашениям");
ИспользоватьСоглашенияСКлиентами          = ПолучитьФункциональнуюОпцию("ИспользоватьСоглашенияСКлиентами");
ОтклонениеОтУсловийПродаж                 = Пользователи.РолиДоступны("ОтклонениеОтУсловийПродаж");

// Обработчик механизма "ВерсионированиеОбъектов"
ВерсионированиеОбъектов.ПриСозданииНаСервере(ЭтаФорма);

// Обработчик подсистемы "Внешние обработки"
ДополнительныеОтчетыИОбработки.ПриСозданииНаСервере(ЭтаФорма);

Если Не ЗначениеЗаполнено(Объект.Ссылка) Тогда

ПриЧтенииСозданииНаСервере();
НоменклатураСервер.ЗаполнитьСтатусыУказанияСерий(Объект, ПараметрыУказанияСерий);

КонецЕсли;

ДенежныеСредстваСервер.УстановитьВидимостьОплатыПлатежнойКартой(Элементы.ФормаОплаты);

ПродажиСервер.УстановитьРежимВыбораГруппЭлементовСклада(Элементы.Склад);

Если ИспользоватьРеализациюПоНесколькимЗаказам Тогда
ОбщегоНазначенияУТКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "ТоварыПодобратьТоварыИзЗаказа", "Заголовок", НСтр("ru = 'Подобрать товары из заказов'"));
ОбщегоНазначенияУТКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "ТоварыЗаполнитьПоЗаказу", "Заголовок", НСтр("ru = 'Заполнить по заказам'"));
КонецЕсли;

ПравоНаЧтениеВидаЦены = ПравоДоступа("Просмотр", Метаданные.Документы.РеализацияТоваровУслуг.ТабличныеЧасти.Товары.Реквизиты.ВидЦены);

// Подсистема "ЭлектронныеДокументы"
УстановитьТекстСостоянияЭДНаСервере();

СкидкиНаценкиСервер.НастроитьКомандуПоказатьСообщения(Объект, Элементы.ПоказатьСообщения);

УстановитьДоступностьКомандБуфераОбмена();

ДоставкаТоваровКлиентСервер.ЗаполнитьСписокВыбораПоляВремени(Элементы.ВремяДоставкиС);
ДоставкаТоваровКлиентСервер.ЗаполнитьСписокВыбораПоляВремени(Элементы.ВремяДоставкиПо);
ДоставкаТоваровКлиентСервер.ЗаполнитьСписокВыбораПоляВремени(Элементы.ВремяДоставкиС1);
ДоставкаТоваровКлиентСервер.ЗаполнитьСписокВыбораПоляВремени(Элементы.ВремяДоставкиПо1);

// СтандартныеПодсистемы.Печать
УправлениеПечатью.ПриСозданииНаСервере(ЭтаФорма);
// Конец СтандартныеПодсистемы.Печать

// ИнтеграцияС1СДокументооборотом
ИнтеграцияС1СДокументооборот.ПриСозданииНаСервере(ЭтаФорма);
// Конец ИнтеграцияС1СДокументооборотом

СобытияФорм.ПриСозданииНаСервере(ЭтаФорма, Отказ, СтандартнаяОбработка);

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

&НаКлиенте
Процедура ПриОткрытии(Отказ)

Если ТребуетсяОткрытиеПечатнойФормы Тогда

Отказ = Истина;
СамообслуживаниеКлиент.ПечатьРеализацияТоваровУслуг(Объект.Ссылка);
Возврат;

КонецЕсли;

ПредыдущиеРеквизитыСтроки = Новый Структура(
"Номенклатура,
|Характеристика,
|Упаковка,
|Количество,
|КоличествоУпаковок,
|Склад,
|ТипНоменклатуры,
|ХарактеристикиИспользуются,
|Артикул,
|ЗаказКлиента,
|КодСтроки");

МенеджерОборудованияКлиент.ПодключитьОборудованиеПриОткрытииФормы(ЭтаФорма, "СканерШтрихкода");

Если Объект.РеализацияПоЗаказам И НЕ РеализацияСверхЗаказа Тогда

МассивЭлементов = Новый Массив();
МассивЭлементов.Добавить("ТоварыСкопировать");
МассивЭлементов.Добавить("ТоварыКонтекстноеМенюСкопировать");
ОбщегоНазначенияУТКлиентСервер.УстановитьСвойствоЭлементовФормы(Элементы, МассивЭлементов, "Доступность", Ложь);

КонецЕсли;

Если Объект.РеализацияПоЗаказам И НЕ РеализацияСверхЗаказа
И Не ЗначениеЗаполнено(Объект.Ссылка)
И Не ЗначениеЗаполнено(Объект.Склад) Тогда

Если ИспользоватьРеализациюПоНесколькимЗаказам Тогда
ТекстСообщения = НСтр("ru='Уточните склад реализации и заполните товары с помощью команды ""Заполнить по заказам""'");
Иначе
ТекстСообщения = НСтр("ru='Уточните склад реализации и заполните товары с помощью команды ""Заполнить по заказу""'");
КонецЕсли;

ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
ТекстСообщения,
Объект.Ссылка,
"Объект.Склад",);
КонецЕсли;

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

&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)

Если ОбщегоНазначенияУТКлиентСервер.АвторизованВнешнийПользователь() Тогда
ТребуетсяОткрытиеПечатнойФормы = Истина;
Возврат;
КонецЕсли;

// Обработчик механизма "ДатыЗапретаИзменения"
ДатыЗапретаИзменения.ОбъектПриЧтенииНаСервере(ЭтаФорма, ТекущийОбъект);

ПриЧтенииСозданииНаСервере();

УправлениеСвойствами.ПриЧтенииНаСервере(ЭтаФорма, ТекущийОбъект);

МодификацияКонфигурацииПереопределяемый.ПриЧтенииНаСервере(ЭтаФорма, ТекущийОбъект);

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

&НаСервере
Процедура ОбработкаПроверкиЗаполненияНаСервере(Отказ, ПроверяемыеРеквизиты)

// СтандартныеПодсистемы.Свойства
УправлениеСвойствами.ОбработкаПроверкиЗаполнения(ЭтаФорма, Отказ, ПроверяемыеРеквизиты);
// Конец СтандартныеПодсистемы.Свойства

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

&НаСервере
Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)

ОбновитьОтклоненияОтЗаказа();
ОбновитьСостояниеСервер();
ЗаполнитьПорядокРасчетов();
УстановитьДоступностьЭлементовПоСтатусуСервер();
Элементы.ГруппаКомментарий.Картинка = ОбщегоНазначения.ПолучитьКартинкуКомментария(Объект.Комментарий);
ЗаполнитьСлужебныеРеквизитыПоНоменклатуре();

МногооборотнаяТараСервер.ОбновитьПризнакБезВозвратнойТары(Объект.Товары, Объект.ВернутьМногооборотнуюТару);
ОбщегоНазначенияУТ.ЗаполнитьДубликатыЗависимыхРеквизитовВКоллекции(Объект.Товары, ЗависимыеРеквизиты());
ПересчитатьСуммуСверхЗаказа();
РассчитатьИтоговыеПоказателиРеализации(ЭтаФорма);

// Подсистема "ЭлектронныеДокументы"
УстановитьТекстСостоянияЭДНаСервере();
ТекущееСостояниеОтгрузкиДокумента = СкладыСервер.ТекущееСостояниеОтгрузкиДокумента(Объект);
СкладыСервер.НастроитьФормуПоРасхождениям(ЭтаФорма,
Объект.РеализацияПоЗаказам, РеализацияСверхЗаказа);

Документы.ТранспортнаяНакладная.СравнитьРеквизитыТОРГ12ПослеЗаписи(ЭтаФорма);

МодификацияКонфигурацииПереопределяемый.ПослеЗаписиНаСервере(ЭтаФорма, ТекущийОбъект, ПараметрыЗаписи);

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

&НаКлиенте
Процедура ПриЗакрытии()

МенеджерОборудованияКлиент.ОтключитьОборудованиеПриЗакрытииФормы(ЭтаФорма);

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

&НаКлиенте
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)

// Если документ проводится, рассчитаем скидки

Если ПараметрыЗаписи.РежимЗаписи = РежимЗаписиДокумента.Проведение Тогда

Если Не Объект.РеализацияПоЗаказам Тогда
МногооборотнаяТараКлиент.ПредложитьПодобратьМногооборотнуюТару(ЭтаФорма, "Товары", "Номенклатура,Характеристика,Количество,Склад");
КонецЕсли;

Если ИспользоватьАвтоматическиеСкидкиВПродажах
И Объект.ХозяйственнаяОперация <> ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ПередачаНаКомиссию") Тогда

Если Не Объект.СкидкиРассчитаны И СкидкиИзменились() Тогда

ОтветНаВопрос = СкидкиНаценкиКлиент.ПредложитьПользователюРассчитатьСкидки();

Если ОтветНаВопрос = КодВозвратаДиалога.Отмена Тогда
Отказ = Истина;
Возврат;
ИначеЕсли ОтветНаВопрос = КодВозвратаДиалога.ОК Тогда
ПрименитьИзмененияСкидокНаценокНаКлиенте();
РассчитатьИтоговыеПоказателиРеализации(ЭтаФорма);
КонецЕсли;

Иначе
Объект.СкидкиРассчитаны = Истина;
КонецЕсли;

КонецЕсли;

Если (НЕ Объект.РеализацияПоЗаказам ИЛИ ПорядокРасчетов = ПредопределенноеЗначение("Перечисление.ПорядокРасчетов.ПоНакладным"))
И ЗначениеЗаполнено(Объект.Соглашение)
И Объект.ХозяйственнаяОперация <> ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ПередачаНаКомиссию")
И НЕ Объект.Согласован Тогда

РассчитаннаяСуммаПредоплаты = СуммаПредоплатыПоСоглашению(Объект, ЭтапыГрафикаОплаты);

Если РассчитаннаяСуммаПредоплаты <> Неопределено И СуммаПредоплатыВВалютеДокумента <> РассчитаннаяСуммаПредоплаты Тогда

ТекстВопроса  = НСтр("ru='Сумма предоплаты не совпадает с графиком оплаты по соглашению. Скорректировать сумму предоплаты?'");
ОтветНаВопрос = Вопрос(ТекстВопроса, РежимДиалогаВопрос.ДаНетОтмена);

Если ОтветНаВопрос = КодВозвратаДиалога.Отмена Тогда
Отказ = Истина;
Возврат;
ИначеЕсли ОтветНаВопрос = КодВозвратаДиалога.Да Тогда
СуммаПредоплатыВВалютеДокумента = РассчитаннаяСуммаПредоплаты;
ЗаполнитьСуммуКредита(ЭтаФорма);
КонецЕсли;

КонецЕсли;

КонецЕсли;

Если Объект.Валюта = Объект.ВалютаВзаиморасчетов Тогда
Объект.СуммаПредоплаты = СуммаПредоплатыВВалютеДокумента;
Иначе
Объект.СуммаПредоплаты = СуммаПредоплатыВВалютеВзаиморасчетов(СуммаПредоплатыВВалютеДокумента, Объект.Валюта, Объект.ВалютаВзаиморасчетов, Объект.Дата);
КонецЕсли;

КонецЕсли;

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

&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)

// Подсистема "Свойства"
Если УправлениеСвойствамиКлиент.ОбрабатыватьОповещения(ЭтаФорма, ИмяСобытия, Параметр) Тогда
ОбновитьЭлементыДополнительныхРеквизитов();
КонецЕсли;

// ПодключаемоеОборудование
Если Источник = "ПодключаемоеОборудование" И ВводДоступен() Тогда
Если ИмяСобытия = "ScanData" Тогда
ОбработатьШтрихкоды(МенеджерОборудованияКлиент.ПреобразоватьДанныеСоСканераВМассив(Параметр));
КонецЕсли;
КонецЕсли;
// Конец ПодключаемоеОборудование

// Неизвестные штрихкоды
Если Источник = "ПодключаемоеОборудование"
И ИмяСобытия = "НеизвестныеШтрихкоды"
И Параметр.ФормаВладелец = УникальныйИдентификатор Тогда

КэшированныеЗначения.Штрихкоды.Очистить();
ДанныеШтрихкодов = Новый Массив;
Для Каждого ПолученныйШтрихкод Из Параметр.ПолученыНовыеШтрихкоды Цикл
ДанныеШтрихкодов.Добавить(ПолученныйШтрихкод);
КонецЦикла;
Для Каждого ПолученныйШтрихкод Из Параметр.ЗарегистрированныеШтрихкоды Цикл
ДанныеШтрихкодов.Добавить(ПолученныйШтрихкод);
КонецЦикла;

ОбработатьШтрихкоды(ДанныеШтрихкодов);

КонецЕсли;

Если ИмяСобытия = "ЗачтенаОплата" И Параметр = Объект.Ссылка Тогда
ЗачтенаОплатаСервер();
КонецЕсли;

// Подсистема "ЭлектронныеДокументы"
Если ИмяСобытия = "ОбновитьСостояниеЭД" Тогда
УстановитьТекстСостоянияЭДНаСервере();
КонецЕсли;

Если ИмяСобытия = "СчитанаКартаЛояльности"
И Параметр.ФормаВладелец = УникальныйИдентификатор Тогда
СчитанаКартаЛояльности(Параметр.КартаЛояльности);
КонецЕсли;

Если ИмяСобытия = "ПолученыСообщения"
И Параметр.ФормаВладелец = УникальныйИдентификатор Тогда
ПолученыСообщения(Параметр.Сообщения);
КонецЕсли;

Если ИмяСобытия = "ИзмененРеквизитЗависящийОтСтатуса"
И Параметр.УникальныйИдентификатор = УникальныйИдентификатор Тогда
Если Объект.Согласован Тогда
Объект.Согласован = Ложь;
КонецЕсли;
ПодключитьОбработчикОжидания("Подключаемый_ПриИзмененииРеквизитаЗависящегоОтСтатуса", 0.1, Истина);
КонецЕсли;

Если ИмяСобытия = "КопированиеСтрокВБуферОбмена" Тогда

УстановитьДоступностьКомандБуфераОбменаНаКлиенте();

КонецЕсли;

Если ИмяСобытия = "ДобавлениеПартнераВСегмент"
ИЛИ ИмяСобытия = "УдалениеПартнераИзСегмента" Тогда

УстановитьВидимостьЗапретаОтгрузкиПартнеру();
КонецЕсли;

Если ИмяСобытия = "Закрытие_РедактированиеКомплекта"
И Параметр.ФормаВладелец = УникальныйИдентификатор Тогда
ПриОкончанииРедактированияНабора(Параметр.АдресВоВременномХранилище);
КонецЕсли;

Если ИмяСобытия = "РедактироватьНабор"
И Параметр.ФормаВладелец = УникальныйИдентификатор Тогда

ПараметрыНабора = Новый Структура;
ПараметрыНабора.Вставить("НоменклатураНабора", Параметр.НоменклатураНабора);
ПараметрыНабора.Вставить("ХарактеристикаНабора", Параметр.ХарактеристикаНабора);
ПараметрыНабора.Вставить("СверхЗаказа", Истина);
ПараметрыНабора.Вставить("КолонкиНабора", КолонкиНабора(ЭтаФорма));

АдресНабораВоВременномХранилище = АдресНабораВоВременномХранилище(ПараметрыНабора);

ПараметрыОткрытия = Новый Структура;
ПараметрыОткрытия.Вставить("АдресВоВременномХранилище", АдресНабораВоВременномХранилище);
ПараметрыОткрытия.Вставить("НоменклатураНабора",   Параметр.НоменклатураНабора);
ПараметрыОткрытия.Вставить("ХарактеристикаНабора", Параметр.ХарактеристикаНабора);
ПараметрыОткрытия.Вставить("ЦенаВключаетНДС", Объект.ЦенаВключаетНДС);
ПараметрыОткрытия.Вставить("НалогообложениеНДС", Объект.НалогообложениеНДС);
ПараметрыОткрытия.Вставить("Валюта", Объект.Валюта);
ПараметрыОткрытия.Вставить("Соглашение", Объект.Соглашение);
ПараметрыОткрытия.Вставить("Дата", Объект.Дата);
ПараметрыОткрытия.Вставить("Ссылка", Объект.Ссылка);
ПараметрыОткрытия.Вставить("Склад", Объект.Склад);
ПараметрыОткрытия.Вставить("СкрыватьКомандуОстаткиНаСкладах", Ложь);

ОткрытьФорму("Обработка.РедактированиеНабора.Форма.Форма", ПараметрыОткрытия, ЭтаФорма, УникальныйИдентификатор);

КонецЕсли;

Если ИмяСобытия = "Запись_ТранспортнаяНакладная" Тогда
ДанныеТранспортныхНакладных = ПолучитьИнформациюТранспортныхНакладных();
ОбновитьИнформациюТранспортныхНакладных(ДанныеТранспортныхНакладных, ЭтаФорма);
КонецЕсли;

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

&НаКлиенте
Процедура ОбработкаВыбора(ВыбранноеЗначение, ИсточникВыбора)

Если ИсточникВыбора.ИмяФормы = "Документ.РеализацияТоваровУслуг.Форма.ФормаПодбораТоваровИзЗаказа" Тогда

ОбработкаПодбораТоваровИзЗаказа(ВыбранноеЗначение.АдресТоваровВХранилище);

ИначеЕсли ИсточникВыбора.ИмяФормы = "Обработка.ПодборТоваровВДокументПродажи.Форма.Форма" Тогда

ОбработкаВыбораПодборНаКлиенте(ВыбранноеЗначение);

ИначеЕсли ИсточникВыбора.ИмяФормы = "ОбщаяФорма.РеквизитыПечатиРеализации" Тогда

Если ВыбранноеЗначение <> Неопределено Тогда
ЗаполнитьЗначенияСвойств(Объект, ВыбранноеЗначение);
КонецЕсли;

ИначеЕсли ИсточникВыбора.ИмяФормы = "ОбщаяФорма.РедактированиеВзаиморасчетов" Тогда

ПолучитьРасшифровкуПлатежаИзХранилища(ВыбранноеЗначение.АдресПлатежейВХранилище);

ИначеЕсли ИсточникВыбора.ИмяФормы = "Документ.СчетФактураВыданный.Форма.ФормаДокумента"
ИЛИ ИсточникВыбора.ИмяФормы = "Документ.СчетФактураВыданный.Форма.ФормаСписка" Тогда

НастроитьОтображениеРеквизитовСчетаФактуры(ЭтаФорма, ВыбранноеЗначение);

ИначеЕсли ИсточникВыбора.ИмяФормы = "Обработка.ПодборМногооборотнойТары.Форма.Форма" Тогда

ЗаполнитьМногооборотнуюТаруИзХранилищаСервер(ВыбранноеЗначение.АдресМногооборотнойТарыВХранилище);
МногооборотнаяТараКлиент.ОповеститьПользователяОЗаполненииМногооборотнойТарой();
СкидкиНаценкиКлиент.СброситьФлагСкидкиРассчитаны(ЭтаФорма);

ИначеЕсли ИсточникВыбора.ИмяФормы = "Справочник.ВидыЗапасов.Форма.ФормаВводаВидовЗапасов" Тогда

ПолучитьВидыЗапасовИзХранилища(ВыбранноеЗначение);
Объект.ВидыЗапасовУказаныВручную = ИсточникВыбора.ВидыЗапасовУказаныВручную;
Модифицированность = Истина;

ИначеЕсли ИсточникВыбора.ИмяФормы = "Обработка.ПодборСерийВДокументы.Форма.ФормаПодбора" Тогда

НоменклатураКлиент.ОбработатьУказаниеСерии(ЭтаФорма, ПараметрыУказанияСерий, ВыбранноеЗначение);

ИначеЕсли ИсточникВыбора.ИмяФормы = "Обработка.ЗагрузкаДанныхИзВнешнихФайлов.Форма.Форма" Тогда

ПолучитьЗагруженныеТоварыИзХранилища(ВыбранноеЗначение.АдресТоваровВХранилище);

ИначеЕсли ИсточникВыбора.ИмяФормы = "Обработка.ВводРасхожденийПоРезультатамПриемкиПолучателем.Форма.Форма" Тогда

ОбработкаВыбораВводРасхождений(ВыбранноеЗначение, КэшированныеЗначения);

ИначеЕсли ИсточникВыбора.ИмяФормы = "Документ.ТранспортнаяНакладная.Форма.ФормаВыбора" Тогда

ДанныеТранспортныхНакладных = ОбработкаВыбораТранспортнойНакладной(ВыбранноеЗначение);
ОбновитьИнформациюТранспортныхНакладных(ДанныеТранспортныхНакладных, ЭтаФорма);


КонецЕсли;

Если Окно <> Неопределено Тогда
Окно.Активизировать();
КонецЕсли;

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

&НаКлиенте
Процедура ПослеЗаписи(ПараметрыЗаписи)

Оповестить("Запись_РеализацияТоваровУслуг", ПараметрыЗаписи, Объект.Ссылка);

Если ЗначениеЗаполнено(ИзмененныеРеквизитыТОРГ12Строка) Тогда
Если Найти(ИзмененныеРеквизитыТОРГ12СтрокаСинонимов, ",") <> 0 Тогда 
ТекстВопроса = НСтр("ru = 'Реквизиты %ИзмененныеРеквизиты% были изменены. Изменить их значения в транспортных накладных, в которых числится текущий документ?'");
Иначе
ТекстВопроса = НСтр("ru = 'Реквизит %ИзмененныеРеквизиты% был изменён. Изменить его значение в транспортных накладных, в которых числится текущий документ?'");
КонецЕсли;
ТекстВопроса = СтрЗаменить(ТекстВопроса, "%ИзмененныеРеквизиты%", ИзмененныеРеквизитыТОРГ12СтрокаСинонимов);
СписокКнопок = Новый СписокЗначений;
СписокКнопок.Добавить(КодВозвратаДиалога.ОК, НСтр("ru = 'Изменить'"));
СписокКнопок.Добавить(КодВозвратаДиалога.Отмена, НСтр("ru = 'Не изменять'"));
Ответ = Вопрос(ТекстВопроса, СписокКнопок);
Если Ответ = КодВозвратаДиалога.ОК Тогда
ОбновитьРеквизитыТранспортныхНакладныхНаСервере();
КонецЕсли;
ЗапретНаЗакрытиеФормы = Ложь;
ИзмененныеРеквизитыТОРГ12Строка = "";
ИзмененныеРеквизитыТОРГ12СтрокаСинонимов = "";
КонецЕсли;

МодификацияКонфигурацииКлиентПереопределяемый.ПослеЗаписи(ЭтаФорма, ПараметрыЗаписи);

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

&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)

Документы.ТранспортнаяНакладная.СохранитьРеквизитыТОРГ12ПередЗаписью(ЭтаФорма);

// Обработчик механизма "Свойства"
УправлениеСвойствами.ПередЗаписьюНаСервере(ЭтаФорма, ТекущийОбъект);

МодификацияКонфигурацииПереопределяемый.ПередЗаписьюНаСервере(ЭтаФорма, Отказ, ТекущийОбъект, ПараметрыЗаписи);

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

&НаКлиенте
Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка)

Если ЗапретНаЗакрытиеФормы Тогда
Отказ = Истина;
КонецЕсли;

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

&НаКлиенте
Процедура СоставНабора(Команда)

ВыбраннаяСтрока = Элементы.Товары.ТекущаяСтрока;

Если ВыбраннаяСтрока = Неопределено Тогда
Возврат;
КонецЕсли;

ТекущаяСтрока = Объект.Товары.НайтиПоИдентификатору(ВыбраннаяСтрока);

Если НЕ ЗначениеЗаполнено(ТекущаяСтрока.НоменклатураНабора) ИЛИ ТекущаяСтрока.КодСтроки <> 0 Тогда
Возврат;
КонецЕсли;

ПараметрыКомплекта = Новый Структура;
ПараметрыКомплекта.Вставить("НоменклатураНабора",   ТекущаяСтрока.НоменклатураНабора);
ПараметрыКомплекта.Вставить("ХарактеристикаНабора", ТекущаяСтрока.ХарактеристикаНабора);
ПараметрыКомплекта.Вставить("СверхЗаказа",          Истина);
ПараметрыКомплекта.Вставить("КолонкиНабора",        КолонкиНабора(ЭтаФорма));

АдресНабораВоВременномХранилище = АдресНабораВоВременномХранилище(ПараметрыКомплекта);

ПараметрыОткрытия = Новый Структура;
ПараметрыОткрытия.Вставить("АдресВоВременномХранилище", АдресНабораВоВременномХранилище);
ПараметрыОткрытия.Вставить("НоменклатураНабора", ТекущаяСтрока.НоменклатураНабора);
ПараметрыОткрытия.Вставить("ХарактеристикаНабора", ТекущаяСтрока.ХарактеристикаНабора);
ПараметрыОткрытия.Вставить("ЦенаВключаетНДС", Объект.ЦенаВключаетНДС);
ПараметрыОткрытия.Вставить("НалогообложениеНДС", Объект.НалогообложениеНДС);
ПараметрыОткрытия.Вставить("Валюта", Объект.Валюта);
ПараметрыОткрытия.Вставить("Соглашение", Объект.Соглашение);
ПараметрыОткрытия.Вставить("Ссылка", Объект.Ссылка);
ПараметрыОткрытия.Вставить("Дата", Объект.Дата);
ПараметрыОткрытия.Вставить("Склад", Объект.Склад);
ПараметрыОткрытия.Вставить("СкрыватьКомандуОстаткиНаСкладах", Ложь);

ОткрытьФорму("Обработка.РедактированиеНабора.Форма.Форма", ПараметрыОткрытия, ЭтаФорма, УникальныйИдентификатор);

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

#КонецОбласти

Нет в обработках ни одного обращения к "ТоварыНомеклатура" связанных с проведением.

cska-fanat-kz

а причем тут ПриСозданииНаСервере()???

вас модуль объекта интересовать должен
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Теги:

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

Рейтинг@Mail.ru

Поиск