|
v8: Внешняя обработка для заполнения объектов в УФ (продолжение) | ☑ | ||
---|---|---|---|---|
0
lnk_lnk
17.03.14
✎
12:15
|
Мне очень помог этот форум, когда я только начинала писать внешние обработки на БП 3.0 / УТ 11...
Поэтому хочу помочь теперь будущим жаждущим с кодом: //************************************************************************* &НаСервере Процедура ВыполнитьКомандуНаСервере() ОбъектДок = Объект.СсылкаНаОбъект.ПолучитьОбъект(); ОбъектДок.Комментарий = "aaaaaaaaaaaaaaaaaa000000000000011122233344456ловарывлораыловарывлра111222333444"; ОбъектДок.Записать(РежимЗаписиДокумента.Запись); КонецПроцедуры //************************************************************************* &НаКлиенте Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт // для Внешних обработок - ОБЯЗАТЕЛЬНАЯ процедура //ПараметрыОбработки.ИдентификаторКоманды ="ОткрытьТекущуюФорму"= Строка //ПараметрыОбработки.ОбъектыНазначения =Массив =Массив Объект.СсылкаНаОбъект = ОбъектыНазначенияМассив[0]; Ответ = Вопрос("Документ автоматически переСОХРАНИТСЯ... ", РежимДиалогаВопрос.ОКОтмена); Если Ответ = КодВозвратаДиалога.ОК Тогда ВыполнитьКомандуНаСервере(); КлючПоиска1 = Новый Структура("Ключ", Объект.СсылкаНаОбъект); Форма = ОткрытьФорму("Документ.ОтчетПроизводстваЗаСмену.Форма.ФормаДокумента", КлючПоиска1); Форма.Прочитать(); КонецЕсли; КонецПроцедуры |
|||
1
х86
17.03.14
✎
12:23
|
что это?
|
|||
2
lnk_lnk
17.03.14
✎
12:45
|
(1) Это Модуль формы Внешней обработки БП 3.0.
С помощью Внешней обработки нужно было поменять реквизиты документа. Почему-то в БП 3.0 то, что проходило в УТ 11 для обновления реквизитов документа не стало работать. Долго искала в И-нете как поправить - ничего путного не нашла... Народ через окна предлагал получать доступ к Форме документа... ==== В Итоге - выложила то, что, возможно, кому-то поможет... |
|||
3
13_Mult
17.03.14
✎
13:08
|
Уберите это скорее, а то ещё научится кто.
|
|||
4
13_Mult
17.03.14
✎
13:10
|
А почему в личке Пол: Мужской
|
|||
5
Torquader
17.03.14
✎
13:11
|
Вашими стараниями только железную дорогу и строить.
В общем, "костыли забивать" вы прекрасно умеете. |
|||
6
Torquader
17.03.14
✎
13:12
|
(4) Видимо потому, что lnk - это ссылка, а дважды ссылка на пустоту.
|
|||
7
13_Mult
17.03.14
✎
13:14
|
(6) +
|
|||
8
lnk_lnk
17.03.14
✎
13:44
|
почему? "костыли забивать"
|
|||
9
lnk_lnk
17.03.14
✎
14:07
|
у меня для УТ11 работало:
//************************************************************************* &НаСервере Процедура ЗагрузитьДанныеИзУТНаСервере() Объект.ЦенаВключаетНДС = Объект.ОткрытыйДокументУТ.ЦенаВключаетНДС; Объект.ТЗ_ТЧ.Очистить(); Для Каждого Строка из Объект.ОткрытыйДокументУТ.Товары Цикл НоваяСтрокаТЗ = Объект.ТЗ_ТЧ.Добавить(); ЗаполнитьЗначенияСвойств(НоваяСтрокаТЗ, Строка); НоваяСтрокаТЗ.ЦенаБезНДС = НоваяСтрокаТЗ.Цена; НоваяСтрокаТЗ.ЦенаСНДС = ?(НоваяСтрокаТЗ.КоличествоУпаковок = 0, 0, НоваяСтрокаТЗ.СуммаСНДС / НоваяСтрокаТЗ.КоличествоУпаковок ); НоваяСтрокаТЗ.Цена = НоваяСтрокаТЗ.ЦенаСНДС; НоваяСтрокаТЗ.БылаСумма = НоваяСтрокаТЗ.Сумма; НоваяСтрокаТЗ.Сумма = НоваяСтрокаТЗ.СуммаСНДС; КонецЦикла; // Для Каждого Строка из Объект.ОткрытыйДокументУТ.Товары Цикл КонецПроцедуры //************************************************************************* +++ &НаКлиенте Процедура ПриОткрытии(Отказ) ЗагрузитьДанныеИзУТНаСервере(); КонецПроцедуры //************************************************************************* &НаСервере Функция ПоместитьТоварыВХранилище() Товары = Новый ТаблицаЗначений; Товары.Колонки.Добавить("Номенклатура", Новый ОписаниеТипов("СправочникСсылка.Номенклатура")); Товары.Колонки.Добавить("КоличествоУпаковок", Новый ОписаниеТипов("Число",,,Новый КвалификаторыЧисла(15,3,ДопустимыйЗнак.Неотрицательный))); Товары.Колонки.Добавить("Цена", Новый ОписаниеТипов("Число",,,Новый КвалификаторыЧисла(15,2,ДопустимыйЗнак.Неотрицательный))); Товары.Колонки.Добавить("Характеристика"); Товары.Колонки.Добавить("Упаковка"); Товары.Колонки.Добавить("ВидЦены"); Для Каждого СтрокаТЗ ИЗ Объект.ТЗ_ТЧ Цикл НоваяСтрока = Товары.Добавить(); ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаТЗ); КонецЦикла; АдресТоваровВХранилище = ПоместитьВоВременноеХранилище(Товары, УникальныйИдентификатор); Возврат АдресТоваровВХранилище; КонецФункции //************************************************************************* +++ &НаСервере Процедура ПеренестиДанныеВДокументНаСервере() Экспорт Документ = Объект.ОткрытыйДокументУТ.ПолучитьОбъект(); Документ.ЦенаВключаетНДС = Истина; ФлМодифицирован = Ложь; инд = 0; Для Каждого СтрокаТЗ ИЗ Документ.Товары Цикл Если СтрокаТЗ.Номенклатура <> Справочники.Номенклатура.ПустаяСсылка() Тогда СтрокаТЗ.Цена = Объект.ТЗ_ТЧ[инд].ЦенаСНДС; ЗаполнитьЗначенияСвойств(СтрокаТЗ, Объект.ТЗ_ТЧ[инд]); ФлМодифицирован = Истина; инд = инд + 1; КонецЕсли; КонецЦикла; Если ФлМодифицирован Тогда Документ.Записать(РежимЗаписиДокумента.Запись); КонецЕсли; КонецПроцедуры //************************************************************************* &НаКлиенте Процедура ПеренестиДанныеВДокумент(Команда) Ответ = Вопрос("В документе установится:" + Символы.ПС +"--------------------"+ Символы.ПС + "<Цена включает НДС> = ДА; " + Символы.ПС + Символы.ПС + "<Цена> заменится на <Цена с НДС>; " + Символы.ПС + Символы.ПС + "Документ автоматически переСОХРАНИТСЯ... ", РежимДиалогаВопрос.ОКОтмена); Если Ответ = КодВозвратаДиалога.ОК Тогда АдресТоваровВХранилище = ПоместитьТоварыВХранилище(); Структура = Новый Структура("АдресТоваровВХранилище", АдресТоваровВХранилище); ПеренестиДанныеВДокументНаСервере(); ОповеститьОВыборе(Структура); КонецЕсли; КонецПроцедуры //************************************************************************* &НаКлиенте Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт // для Внешних обработок - ОБЯЗАТЕЛЬНАЯ процедура //ПараметрыОбработки.ИдентификаторКоманды ="ОткрытьТекущуюФорму"= Строка //ПараметрыОбработки.ОбъектыНазначения =Массив =Массив Объект.ОткрытыйДокументУТ = ОбъектыНазначенияМассив[0]; ОткрытьФормуМодально(ЭтаФорма); КонецПроцедуры Но для БП 3.0 это работать не стало... |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |