|
v7: Получение и передача данных в форму | ☑ | ||
|---|---|---|---|---|
|
0
Raven30
13.07.11
✎
15:07
|
Помогите разобраться, только камнями и другими предметами не кидайтесь. 1С изучал давно, 10 лет назад, потом лет 5 вообще этим не занимался.
Из формы накладной в форму новой ТТН. В накладной подключаю форму и передаю параметр. Процедура ПечатьТоварнаяНакладная() Параметр = СоздатьОбъект("СписокЗначений"); Параметр.Установить("Устройство",0); Параметр.Установить("КоличествоКопий",1); Параметр.Установить("Контекст",глВзятьКонтекст(Контекст)); ОткрытьФорму("Отчет",Параметр,КаталогИБ()+"\tables\ТоварнаяНакладная.ert"); КонецПроцедуры//ПечатьТоварнаяНакладная В открываемой форме получаю контекст Процедура СчитатьДокумент(Конт) // Фирма = Конт.Фирма; Организация = ""; ТекОргНаим = ""; ТекОргАдрес = ""; ТекОргИП = ""; Если ПустоеЗначение(Фирма) = 0 Тогда Организация = Конт.Фирма; КонецЕсли; СобратьДанныеОрганизации(Организация, ТекОргИП, ТекОргНаим, ТекОргАдрес); Если ТекОргИП = 0 Тогда ГрузоотпрЮрЛицо = ПоказатьДанныеОрганизации(ТекОргНаим, ТекОргАдрес); ГрузоотпрФизЛицо = ""; Иначе ГрузоотпрФизЛицо = ПоказатьДанныеОрганизации(ТекОргНаим, ТекОргАдрес); ГрузоотпрЮрЛицо = ""; КонецЕсли; Контрагент = Конт.Клиент; КонтрВид = ""; КонтрНаим = ""; КонтрАдрес = ""; КонтрТелефоны = ""; КонтрИП = 2; СобратьДанныеКонтрагента(Контрагент, КонтрИП, КонтрНаим, КонтрАдрес, КонтрТелефоны); Если КонтрИП = 0 Тогда ГрузополЮрЛицо = ПоказатьДанныеКонтрагента(КонтрНаим, КонтрАдрес, КонтрТелефоны); ГрузополФизЛицо = ""; Иначе ГрузополФизЛицо = ПоказатьДанныеКонтрагента(КонтрНаим, КонтрАдрес, КонтрТелефоны); ГрузополЮрЛицо = ""; КонецЕсли; НаклДата = Конт.ДатаДок; НаклНомер = Конт.НомерДок; Конт.ВыгрузитьТабличнуюЧасть(ТабличнаяЧасть); ОбщКолво = ТабличнаяЧасть.Итог("Количество"); НаимГрузаКолвоМаркировка = СокрЛП(ОбщКолво) + "кор"; КонецПроцедуры // СчитатьДокумент() В новой ТТН Есть процедуры СобратьДанныеКонтрагента и ПоказатьДанныеКонтрагента Насколько я понимаю мы сначало собираем данные,а потом их показываем. Но у меня ничего не показывает, что не так Процедура СобратьДанныеКонтрагента(ТекКонтрагент, ТекКонтрИП, ТекКонтрНаим, ТекКонтрАдрес, ТекКонтрТелефоны) ТекКонтрВид = ""; ТекКонтрНаим = ""; ТекКонтрАдрес = ""; ТекКонтрТелефоны = ""; ТекКонтрИП = 2; //Если (ПустоеЗначение(ТекКонтрагент) = 0) и (ТекКонтрагент = "Контрагенты") Тогда Если (ПустоеЗначение(ТекКонтрагент) = 0) и (ТекКонтрагент = "Клиенты") Тогда // у нас Контрагенты это спр.Клиенты Если (ПустоеЗначение(ТекКонтрагент.ЮрФизЛицо) = 0) Тогда ТекКонтрВид = ТекКонтрагент.ЮрФизЛицо.Вид(); //Спр СвоиЮрЛица, ЮрЛица, ФизЛица у нас нет, есть Клиенты и Сотрудники //Если ТекКонтрВид = "СвоиЮрЛица" Тогда Если ТекКонтрВид = "Клиенты" Тогда ТекКонтрИП = ТекКонтрагент.ЮрФизЛицо.ИндивидуальныйПредприниматель; ТекКонтрНаим = ТекКонтрагент.ЮрФизЛицо.ПолнНаименование; //ТекКонтрАдрес = глПредставлениеАдреса(ТекКонтрагент.ЮрФизЛицо.ФактАдрес); ТекКонтрАдрес = ТекКонтрагент.ЮрФизЛицо.ФактАдрес; //ИначеЕсли ТекКонтрВид = "ЮрЛица" Тогда ИначеЕсли ТекКонтрВид = "Клиенты" Тогда ТекКонтрИП = 0; ТекКонтрНаим = ТекКонтрагент.ЮрФизЛицо.ПолнНаименование; //ТекКонтрАдрес = глПредставлениеАдреса(ТекКонтрагент.ЮрФизЛицо.ФактАдрес); ТекКонтрАдрес = ТекКонтрагент.ЮрФизЛицо.ФактАдрес; //ИначеЕсли ТекКонтрВид = "ФизЛица" Тогда ИначеЕсли ТекКонтрВид = "Сотрудники" Тогда ТекКонтрИП = 1; ТекКонтрНаим = ТекКонтрагент.ЮрФизЛицо.ПолнНаименование; //ТекКонтрАдрес = глПредставлениеАдреса(ТекКонтрагент.ЮрФизЛицо.ФактАдрес); ТекКонтрАдрес = ТекКонтрагент.ЮрФизЛицо.ФактАдрес; ТекКонтрТелефоны = ТекКонтрагент.ЮрФизЛицо.Телефоны; КонецЕсли; КонецЕсли; КонецЕсли; КонецПроцедуры //СобратьДанныеКонтрагента() |
|||
|
1
Ёпрст
гуру
13.07.11
✎
15:10
|
(0) В открываемой форме у тебя в коде !нет нигде! получения параметра.
|
|||
|
2
Ёпрст
гуру
13.07.11
✎
15:11
|
На вот, ознакомься сперва:
Книга знаний: Параметр и контекст формы в статье хоть и есть ошибки, но сойдёт. |
|||
|
3
Raven30
14.07.11
✎
12:07
|
что-то я совсем запутался, ничего не выходит.(
так я параметр получу Процедура ПриОткрытии() // Определение закладок формы Форма.ИспользоватьЗакладки(1); Форма.Закладки.ДобавитьЗначение(1, "Разделы 1-4"); Форма.Закладки.ДобавитьЗначение(2, "Разделы 5-7"); Форма.Закладки.ДобавитьЗначение(3, "Разделы 8-9"); Форма.Закладки.ДобавитьЗначение(4, "Об.сторона. Разделы 10-13"); Форма.Закладки.ДобавитьЗначение(5, "Об.сторона. Разделы 14-17"); Форма.ИспользоватьСлой("Основной, Разделы1_2_3_4, Кнопки", 2); ЭкзНомер = 1; Если ТипЗначенияСтр(Форма.Параметр)="СписокЗначения" Тогда Конт = Форма.Параметр.Получить("Контекст"); КонецЕсли; СчитатьДокумент(Конт); КонецПроцедуры // ПриОткрытии() |
|||
|
4
Рэйв
14.07.11
✎
12:13
|
Пар = Форма.Параметр;
|
|||
|
5
Рэйв
14.07.11
✎
12:13
|
а..Ну да.Если в списе есть "Контекст", то да
|
|||
|
6
Raven30
14.07.11
✎
12:19
|
у меня ругается
Фирма = конт.Фирма; {J:\BASES_ANPO\FARMACEFT\TABLES\?????????????????.ERT(495)}: Значение не представляет агрегатный объект (Фирма) Это в процедуре СчитатьДокумент(Конт) |
|||
|
7
Злопчинский
14.07.11
✎
12:19
|
Конт.ВыгрузитьТабличнуюЧасть(ТабличнаяЧасть);
ОбщКолво = ТабличнаяЧасть.Итог("Количество"); . неверно. надо идти по ТЗ и собирать количества с учетом Коэффициент |
|||
|
8
Злопчинский
14.07.11
✎
12:21
|
В приоткрытии() - где определение Конт при условии Иначе...? будет болтаться с божеье помощью?
. перед ошибкой поставь Сообщить(ТипЗначенияСтр(Конт)); Сообщить(Конт.Вид()); |
|||
|
9
Ёпрст
гуру
14.07.11
✎
13:47
|
(6)
Сообщить(ТипЗначенияСТР(Конт)); Сообщить(ТипЗначения(Конт)); что пишет то хоть ? |
|||
|
10
Raven30
14.07.11
✎
14:27
|
(9) 0
|
|||
|
11
Ёпрст
гуру
14.07.11
✎
14:29
|
(10) ну и чего ты хочешь тогда ?
Передай контекст формы для начала, потом уже имей у него свои реквизиты |
|||
|
12
Raven30
14.07.11
✎
15:35
|
(11) а выше я разве его не передал
Параметр.Установить("Контекст",глВзятьКонтекст(Контекст)); |
|||
|
13
Ёпрст
гуру
15.07.11
✎
10:02
|
(12) передал, вот только потом не получил.
Больше кода. |
|||
|
14
Raven30
15.07.11
✎
10:41
|
Больше кода в передаче или получении?
|
|||
|
15
Ёпрст
гуру
15.07.11
✎
12:16
|
(14) весь код показывай
|
|||
|
16
Raven30
17.07.11
✎
19:47
|
Код в накладной
[code]Процедура ПечатьТоварнаяНакладная() Параметры = СоздатьОбъект("СписокЗначений"); Параметры.ДобавитьЗначение(Фирмы,"Фирмы"); Параметры.ДобавитьЗначение(Клиент,"Клиенты"); Параметры.Установить("Устройство",0); Параметры.Установить("КоличествоКопий",1); //Параметры.ДобавитьЗначение(?((Модифицированность()=0)и(ПустоеЗначение(ТекущийДокумент())=0), ТекущийДокумент(), глВзятьКонтекст(Контекст)), "Контекст"); Параметры.Установить("Контекст",глВзятьКонтекст(Контекст)); ОткрытьФорму("Отчет",Параметры,КаталогИБ()+"\tables\ТоварнаяНакладная.ert"); КонецПроцедуры//ПечатьТоварнаяНакладная[/code] Это код в обработке [code]//////Перем УчитыватьНДС, СуммаВклНДС, УчитыватьНП, СуммаВклНП, Скидка; ////// Перем Фирма, Контрагент, ТабличнаяЧасть; ////// СуммаНП, Сумма, ДатаДок, КоличествоСтрок, ////// НазваниеДокумента, Валюта, Курс, Кратность; //////Перем ТекущийДокумент, КодОперации; Перем Номер; Перем НазваниеДокумента; //****************************************************************************** // Предопределенная процедура // Процедура ПриВыбореЗакладки(НомерЗакладки, ЗначениеЗакладки) Если ЗначениеЗакладки = 1 Тогда Форма.ИспользоватьСлой("Основной, Разделы1_2_3_4, Кнопки", 2); ИначеЕсли ЗначениеЗакладки = 2 Тогда Форма.ИспользоватьСлой("Основной, Разделы5_6_7, Кнопки", 2); ИначеЕсли ЗначениеЗакладки = 3 Тогда Форма.ИспользоватьСлой("Основной, Разделы8_9, Кнопки", 2); ИначеЕсли ЗначениеЗакладки = 4 Тогда Форма.ИспользоватьСлой("Основной, Разделы10_11_12_13, Кнопки", 2); ИначеЕсли ЗначениеЗакладки = 5 Тогда Форма.ИспользоватьСлой("Основной, Разделы14_15_16_17, Кнопки", 2); КонецЕсли; КонецПроцедуры // ПриВыбореЗакладки() //****************************************************************************** Процедура ВыбратьНаимГрузаОтгрузочное() СпНаимГр = СоздатьОбъект("ТаблицаЗначений"); СпНаимГр.НоваяКолонка("Код", , , , , 16); СпНаимГр.НоваяКолонка("Наименование", , , , , 255); ТаблицаПеречень = СоздатьОбъект("Таблица"); ТаблицаПеречень.ИсходнаяТаблица("ЕТСНГ"); ТаблицаПеречень.Вывести(); НомСтрокиТаблицы = 2; Пока Лев(ТаблицаПеречень.Область(НомСтрокиТаблицы, 1).Текст, 3) <> "###" Цикл Код = СокрЛП(ТаблицаПеречень.Область(НомСтрокиТаблицы, 1).Текст); Наименование = СокрЛП(ТаблицаПеречень.Область(НомСтрокиТаблицы, 2).Текст); СпНаимГр.НоваяСтрока(); СпНаимГр.Код = Код; СпНаимГр.Наименование = Наименование; НомСтрокиТаблицы = НомСтрокиТаблицы + 1; КонецЦикла; НомерСтрокиСписка = 0; НаимГрузаОтгрузочное_Код = Прав(НаимГрузаОтгрузочное,6); СпНаимГр.НайтиЗначение(НаимГрузаОтгрузочное_Код, НомерСтрокиСписка, 1); СпНаимГр.ВыбратьСтроку(НомерСтрокиСписка, "Выбор значения"); Если НомерСтрокиСписка > 0 Тогда НаимГрузаОтгрузочное = СокрЛП(СпНаимГр.ПолучитьЗначение (НомерСтрокиСписка, "Наименование")) + " " + СокрЛП(СпНаимГр.ПолучитьЗначение (НомерСтрокиСписка, "Код")); КонецЕсли; КонецПроцедуры //ВыбратьНаимГрузаОтгрузочное() //****************************************************************************** Функция ПоказатьДанныеОрганизации(ТекОргНаим, ТекОргАдрес) ТекОргДанные = ""; ТекОргДанные = СокрЛП(ТекОргНаим); Если ПустоеЗначение(ТекОргАдрес) = 0 Тогда ТекОргДанные = ТекОргДанные + ", " + СокрЛП(ТекОргАдрес); КонецЕсли; Возврат ТекОргДанные; КонецФункции //ПоказатьДанныеФизЛица() //****************************************************************************** Процедура СобратьДанныеОрганизации(ТекОрганизация, ТекОргИП, ТекОргНаим, ТекОргАдрес) ТекОргНаим = ""; ТекОргАдрес = ""; ТекОргИП = ""; Если (ПустоеЗначение(ТекОрганизация) = 0) и (ТекОрганизация.Вид() = "СвоиЮрЛица") Тогда ТекОргИП = ТекОрганизация.ИндивидуальныйПредприниматель; ТекОргНаим = ТекОрганизация.ПолнНаименование; ТекОргАдрес = глПредставлениеАдреса(ТекОрганизация.ФактАдрес); КонецЕсли; КонецПроцедуры //СобратьДанныеКонтрагента() //****************************************************************************** Функция ПоказатьДанныеКонтрагента(ТекКонтрНаим, ТекКонтрАдрес, ТекКонтрТелефоны) ТекКонтрДанные = ""; ТекКонтрДанные = СокрЛП(ТекКонтрНаим); Если ПустоеЗначение(ТекКонтрАдрес) = 0 Тогда ТекКонтрДанные = ТекКонтрДанные + ", " + СокрЛП(ТекКонтрАдрес); КонецЕсли; Если ПустоеЗначение(ТекКонтрТелефоны) = 0 Тогда ТекКонтрДанные = ТекКонтрДанные + ", тел." + СокрЛП(ТекКонтрТелефоны); КонецЕсли; Возврат ТекКонтрДанные; КонецФункции //ПоказатьДанныеФизЛица() //****************************************************************************** Процедура СобратьДанныеКонтрагента(ТекКонтрагент, ТекКонтрИП, ТекКонтрНаим, ТекКонтрАдрес, ТекКонтрТелефоны) ТекКонтрВид = ""; ТекКонтрНаим = ""; ТекКонтрАдрес = ""; ТекКонтрТелефоны = ""; ТекКонтрИП = 2; //Если (ПустоеЗначение(ТекКонтрагент) = 0) и (ТекКонтрагент.Вид() = "Контрагенты") Тогда Если (ПустоеЗначение(ТекКонтрагент) = 0) и (ТекКонтрагент.Вид() = "Клиенты") Тогда //у нас в место спр Контрагенты, спр Клиенты Если (ПустоеЗначение(ТекКонтрагент.ЮрФизЛицо) = 0) Тогда ТекКонтрВид = ТекКонтрагент.ЮрФизЛицо.Вид(); //спр СвоиЮрЛица, ЮрЛица и ФизЛица у нас нет, есть Фирмы, Клиенты и Сотрудники //Если ТекКонтрВид = "СвоиЮрЛица" Тогда Если ТекКонтрВид = "Фирмы" Тогда ТекКонтрИП = ТекКонтрагент.ЮрФизЛицо.ИндивидуальныйПредприниматель; ТекКонтрНаим = ТекКонтрагент.ЮрФизЛицо.ПолнНаименование; //ТекКонтрАдрес = глПредставлениеАдреса(ТекКонтрагент.ЮрФизЛицо.ФактАдрес); //ИначеЕсли ТекКонтрВид = "ЮрЛица" Тогда Если ТекКонтрВид = "Клиенты" Тогда ТекКонтрИП = 0; ТекКонтрНаим = ТекКонтрагент.ЮрФизЛицо.ПолнНаименование; //ТекКонтрАдрес = глПредставлениеАдреса(ТекКонтрагент.ЮрФизЛицо.ФактАдрес); //ИначеЕсли ТекКонтрВид = "ФизЛица" Тогда Если ТекКонтрВид = "Сотрудники" Тогда ТекКонтрИП = 1; ТекКонтрНаим = ТекКонтрагент.ЮрФизЛицо.ПолнНаименование; //ТекКонтрАдрес = глПредставлениеАдреса(ТекКонтрагент.ЮрФизЛицо.ФактАдрес); ТекКонтрТелефоны = ТекКонтрагент.ЮрФизЛицо.Телефоны; КонецЕсли; КонецЕсли; КонецЕсли; КонецПроцедуры //СобратьДанныеКонтрагента() //****************************************************************************** Функция ПоказатьДанныеФизЛица(ТекФЛФИО, ТекФЛТелефоны) ТекФЛДанные = ""; ТекФЛДанные = СокрЛП(ТекФЛФИО); Если ПустоеЗначение(ТекФЛТелефоны) = 0 Тогда ТекФЛДанные = ТекФЛДанные + ", тел." + СокрЛП(ТекФЛТелефоны); КонецЕсли; Возврат ТекФЛДанные; КонецФункции //ПоказатьДанныеФизЛица() //****************************************************************************** Процедура СобратьДанныеФизЛица(ТекФизЛицо, ТекФЛФИО, ТекФЛТелефоны) ТекФЛФИО = ""; ТекФЛТелефоны = ""; //Если (ПустоеЗначение(ТекФизЛицо) = 0) и (ТекФизЛицо = "ФизЛица") Тогда Если (ПустоеЗначение(ТекФизЛицо) = 0) и (ТекФизЛицо = "Сотрудники") Тогда ТекФЛФИО = СокрЛП(ТекФизЛицо.Наименование); ТекФЛТелефоны = СокрЛП(ТекФизЛицо.Телефоны); КонецЕсли; КонецПроцедуры //СобратьДанныеФизЛица() //****************************************************************************** //Предопределенная процедура //ОбработкаВыбораЗначения() // //Параметры: // // //Возвращаемое значение: // // //Описание: // // Процедура ОбработкаВыбораЗначения(ВыбЗнач, ИдентЭлемДиалога, ФлагСтандОбр = 0) Если ИдентЭлемДиалога = "ГрузоотпрФизЛицо" Тогда ТекОргНаим = ""; ТекОргАдрес = ""; ТекОргИП = ""; СобратьДанныеОрганизации(ВыбЗнач, ТекОргИП, ТекОргНаим, ТекОргАдрес); Если ТекОргИП = 0 Тогда Если Вопрос("Выбранная организация является юр.лицом. Заполнить данные о грузоотправителе-юридическом лице?",4, 60) = 7 Тогда ГрузоотпрФизЛицо = ПоказатьДанныеОрганизации(ТекОргНаим, ТекОргАдрес); ГрузоотпрЮрЛицо = ""; Иначе ГрузоотпрЮрЛицо = ПоказатьДанныеОрганизации(ТекОргНаим, ТекОргАдрес); ГрузоотпрФизЛицо = ""; КонецЕсли; Иначе ГрузоотпрФизЛицо = ПоказатьДанныеОрганизации(ТекОргНаим, ТекОргАдрес); ГрузоотпрЮрЛицо = ""; КонецЕсли; ИначеЕсли ИдентЭлемДиалога = "ГрузоотпрЮрЛицо" Тогда ТекОргНаим = ""; ТекОргАдрес = ""; ТекОргИП = ""; СобратьДанныеОрганизации(ВыбЗнач, ТекОргИП, ТекОргНаим, ТекОргАдрес); Если ТекОргИП = 1 Тогда Если Вопрос("Выбранная организация является ИП. Заполнить данные о грузоотправителе-физическом лице?",4, 60) = 7 Тогда ГрузоотпрЮрЛицо = ПоказатьДанныеОрганизации(ТекОргНаим, ТекОргАдрес); ГрузоотпрФизЛицо = ""; Иначе ГрузоотпрФизЛицо = ПоказатьДанныеОрганизации(ТекОргНаим, ТекОргАдрес); ГрузоотпрЮрЛицо = ""; КонецЕсли; Иначе ГрузоотпрЮрЛицо = ПоказатьДанныеОрганизации(ТекОргНаим, ТекОргАдрес); ГрузоотпрФизЛицо = ""; КонецЕсли; ИначеЕсли ИдентЭлемДиалога = "ГрузоотпрОтветственный" Тогда ТекФЛФИО = ""; ТекФЛТелефоны = ""; СобратьДанныеФизЛица(ВыбЗнач, ТекФЛФИО, ТекФЛТелефоны); ГрузоотпрОтветственный = ПоказатьДанныеФизЛица(ТекФЛФИО, ТекФЛТелефоны); ИначеЕсли ИдентЭлемДиалога = "ГрузополФизЛицо" Тогда КонтрВид = ""; КонтрНаим = ""; КонтрАдрес = ""; КонтрТелефоны = ""; КонтрИП = 2; СобратьДанныеКонтрагента(ВыбЗнач, КонтрНаим, КонтрАдрес, КонтрТелефоны); Если КонтрИП = 0 Тогда Если Вопрос("Выбранная организация является юр.лицом. Заполнить данные о грузополучателе-юридическом лице?",4, 60) = 7 Тогда ГрузополФизЛицо = ПоказатьДанныеКонтрагента(КонтрНаим, КонтрАдрес, КонтрТелефоны); ГрузополЮрЛицо = ""; Иначе ГрузополЮрЛицо = ПоказатьДанныеКонтрагента(КонтрНаим, КонтрАдрес, КонтрТелефоны); ГрузополФизЛицо = ""; КонецЕсли; Иначе ГрузополФизЛицо = ПоказатьДанныеКонтрагента(КонтрНаим, КонтрАдрес, КонтрТелефоны); ГрузополЮрЛицо = ""; КонецЕсли; ИначеЕсли ИдентЭлемДиалога = "ГрузополЮрЛицо" Тогда КонтрВид = ""; КонтрНаим = ""; КонтрАдрес = ""; КонтрТелефоны = ""; КонтрИП = 2; СобратьДанныеКонтрагента(ВыбЗнач, КонтрНаим, КонтрАдрес, КонтрТелефоны); Если КонтрИП = 1 Тогда Если Вопрос("Выбранная организация является физическим.лицом. Заполнить данные о грузополучателе-физическом лице?",4, 60) = 7 Тогда ГрузополЮрЛицо = ПоказатьДанныеКонтрагента(КонтрНаим, КонтрАдрес, КонтрТелефоны); ГрузополФизЛицо = ""; Иначе ГрузополФизЛицо = ПоказатьДанныеКонтрагента(КонтрНаим, КонтрАдрес, КонтрТелефоны); ГрузополЮрЛицо = ""; КонецЕсли; Иначе ГрузополЮрЛицо = ПоказатьДанныеКонтрагента(КонтрНаим, КонтрАдрес, КонтрТелефоны); ГрузополФизЛицо = ""; КонецЕсли; ИначеЕсли ИдентЭлемДиалога = "ГрузополОтветственный" Тогда ТекФЛФИО = ""; ТекФЛТелефоны = ""; СобратьДанныеФизЛица(ВыбЗнач, ТекФЛФИО, ТекФЛТелефоны); ГрузополОтветственный = ПоказатьДанныеФизЛица(ТекФЛФИО, ТекФЛТелефоны); ИначеЕсли ИдентЭлемДиалога = "ПеревозФизЛицо" Тогда КонтрВид = ""; КонтрНаим = ""; КонтрАдрес = ""; КонтрТелефоны = ""; КонтрИП = 2; СобратьДанныеКонтрагента(ВыбЗнач, КонтрНаим, КонтрАдрес, КонтрТелефоны); Если КонтрИП = 0 Тогда Если Вопрос("Выбранная организация является юридическом.лицом. Заполнить данные о перевозчике-юридическом лице?",4, 60) = 7 Тогда ПеревозФизЛицо = ПоказатьДанныеКонтрагента(КонтрНаим, КонтрАдрес, КонтрТелефоны); ПеревозЮрЛицо = ""; Иначе ПеревозЮрЛицо = ПоказатьДанныеКонтрагента(КонтрНаим, КонтрАдрес, КонтрТелефоны); ПеревозФизЛицо = ""; КонецЕсли; Иначе ПеревозФизЛицо = ПоказатьДанныеКонтрагента(КонтрНаим, КонтрАдрес, КонтрТелефоны); ПеревозЮрЛицо = ""; КонецЕсли; ИначеЕсли ИдентЭлемДиалога = "ПеревозЮрЛицо" Тогда КонтрВид = ""; КонтрНаим = ""; КонтрАдрес = ""; КонтрТелефоны = ""; КонтрИП = 2; СобратьДанныеКонтрагента(ВыбЗнач, КонтрНаим, КонтрАдрес, КонтрТелефоны); Если КонтрИП = 1 Тогда Если Вопрос("Выбранная организация является физическим.лицом. Заполнить данные о перевозчике-физическом лице?",4, 60) = 7 Тогда ПеревозЮрЛицо = ПоказатьДанныеКонтрагента(КонтрНаим, КонтрАдрес, КонтрТелефоны); ПеревозФизЛицо = ""; Иначе ПеревозФизЛицо = ПоказатьДанныеКонтрагента(КонтрНаим, КонтрАдрес, КонтрТелефоны); ПеревозЮрЛицо = ""; КонецЕсли; Иначе ПеревозЮрЛицо = ПоказатьДанныеКонтрагента(КонтрНаим, КонтрАдрес, КонтрТелефоны); ПеревозФизЛицо = ""; КонецЕсли; ИначеЕсли ИдентЭлемДиалога = "ПеревозОтветственный" Тогда ТекФЛФИО = ""; ТекФЛТелефоны = ""; СобратьДанныеФизЛица(ВыбЗнач, ТекФЛФИО, ТекФЛТелефоны); ПеревозОтветственный = ПоказатьДанныеФизЛица(ТекФЛФИО, ТекФЛТелефоны); ИначеЕсли ИдентЭлемДиалога = "ПеревозВодитель" Тогда ТекФЛФИО = ""; ТекФЛТелефоны = ""; СобратьДанныеФизЛица(ВыбЗнач, ТекФЛФИО, ТекФЛТелефоны); ПеревозВодитель = ПоказатьДанныеФизЛица(ТекФЛФИО, ТекФЛТелефоны); ИначеЕсли ИдентЭлемДиалога = "ПереадресовкаПолучатель" Тогда КонтрВид = ""; КонтрНаим = ""; КонтрАдрес = ""; КонтрТелефоны = ""; КонтрИП = 2; СобратьДанныеКонтрагента(ВыбЗнач, КонтрНаим, КонтрАдрес, КонтрТелефоны); ПереадресовкаПолучатель = ПоказатьДанныеКонтрагента(КонтрНаим, КонтрАдрес, ""); КонецЕсли; КонецПроцедуры // ОбработкаВыбораЗначения() //****************************************************************************** //Предопределенная процедура //ПриНачалеВыбораЗначения() // //Параметры: // // //Возвращаемое значение: // // //Описание: // // Процедура ПриНачалеВыбораЗначения(ИдентЭлемДиалога) Если (ИдентЭлемДиалога = "ГрузоотпрФизЛицо") или (ИдентЭлемДиалога = "ГрузоотпрЮрЛицо") Тогда Параметр = 1; //ОткрытьФорму("Справочник.СвоиЮрЛица", Параметр); ОткрытьФорму("Справочник.Клиенты", Параметр); ИначеЕсли (ИдентЭлемДиалога = "ГрузополФизЛицо") или (ИдентЭлемДиалога = "ГрузополЮрЛицо") или (ИдентЭлемДиалога = "ПеревозФизЛицо") или (ИдентЭлемДиалога = "ПеревозЮрЛицо") или (ИдентЭлемДиалога = "ПереадресовкаПолучатель") Тогда Параметр = "Выбор"; //ОткрытьФорму("Справочник.Контрагенты", Параметр); ОткрытьФорму("Справочник.Клиенты", Параметр); ИначеЕсли (ИдентЭлемДиалога = "ГрузоотпрОтветственный") или (ИдентЭлемДиалога = "ГрузополОтветственный") или (ИдентЭлемДиалога = "ПеревозОтветственный") или (ИдентЭлемДиалога = "ПеревозВодитель") Тогда //ОткрытьФорму("Справочник.ФизЛица"); ОткрытьФорму("Справочник.Сотрудники"); ИначеЕсли (ИдентЭлемДиалога = "НаимГрузаОтгрузочное") Тогда ВыбратьНаимГрузаОтгрузочное(); КонецЕсли; КонецПроцедуры // ПриНачалеВыбораЗначения() //****************************************************************************** // СчитатьДокумент(Конт) // // Параметры: // Конт - переданный контекст; // // Возвращаемое значение: // Нет // // Описание: // Считывает необходимые для печати реквизиты документа, контекст которого передали через // параметр формы, в модульные переменные // Процедура СчитатьДокумент(Конт) // //Сообщить(ТипЗначенияСтр(Конт)); //Сообщить(ТипЗначения(Конт)); Фирма = Конт.Фирма; Организация = ""; ТекОргНаим = ""; ТекОргАдрес = ""; ТекОргИП = ""; Если ПустоеЗначение(Фирма) = 0 Тогда Организация = Конт.Фирма; КонецЕсли; СобратьДанныеОрганизации(Организация, ТекОргИП, ТекОргНаим, ТекОргАдрес); Если ТекОргИП = 0 Тогда ГрузоотпрЮрЛицо = ПоказатьДанныеОрганизации(ТекОргНаим, ТекОргАдрес); ГрузоотпрФизЛицо = ""; Иначе ГрузоотпрФизЛицо = ПоказатьДанныеОрганизации(ТекОргНаим, ТекОргАдрес); ГрузоотпрЮрЛицо = ""; КонецЕсли; Контрагент = Конт.Клиент; КонтрВид = ""; КонтрНаим = ""; КонтрАдрес = ""; КонтрТелефоны = ""; КонтрИП = 2; СобратьДанныеКонтрагента(Контрагент, КонтрНаим, КонтрАдрес, КонтрТелефоны); Если КонтрИП = 0 Тогда ГрузополЮрЛицо = ПоказатьДанныеКонтрагента(КонтрНаим, КонтрАдрес, КонтрТелефоны); ГрузополФизЛицо = ""; Иначе ГрузополФизЛицо = ПоказатьДанныеКонтрагента(КонтрНаим, КонтрАдрес, КонтрТелефоны); ГрузополЮрЛицо = ""; КонецЕсли; НаклДата = Конт.ДатаДок; НаклНомер = Конт.НомерДок; Конт.ВыгрузитьТабличнуюЧасть(ТабличнаяЧасть); ОбщКолво = ТабличнаяЧасть.Итог("Количество"); НаимГрузаКолвоМаркировка = СокрЛП(ОбщКолво) + "кор"; КонецПроцедуры // СчитатьДокумент() //****************************************************************************** Процедура Печать() Таб = СоздатьОбъект("Таблица"); Таб.ВывестиСекцию("ЛицеваяСторона"); Таб.НоваяСтраница(); Таб.ВывестиСекцию("ОборотнаяСторона"); Таб.ПараметрыСтраницы(1,,,,0,0,0,0,0,1); Таб.Опции(0,0,0,0,"ОпцииПечатиНакладной","ОкноНакладной"); Таб.ТолькоПросмотр(1); //Если глПолучитьПолномочие("РазрешитьРедактированиеТаблиц") = 0 Тогда // Таб.Защита(1); //Иначе // Таб.Защита(0); //КонецЕсли; Таб.Показать(НазваниеДокумента,""); КонецПроцедуры //Печать //****************************************************************************** // ПоКнопкеПечать() // // Параметры: // Нет // // Возвращаемое значение: // Нет // // Описание: // Процедура ПоКнопкеПечать() Печать(); КонецПроцедуры // ПоКнопкеПечать() //****************************************************************************** // Предопределенная процедура // Процедура ПриОткрытии() //Если ПустоеЗначение(Форма.Параметр) = 1 Тогда // Предупреждение("Данная обработка предназначена для печати товарной накладной // |и должна быть зарегистрирована в списке внешних печатных форм конфигурации. // |Запуск обработки без параметра невозможен.",60); // Статусвозврата(0); // Возврат; //КонецЕсли; // Определение закладок формы Форма.ИспользоватьЗакладки(1); Форма.Закладки.ДобавитьЗначение(1, "Разделы 1-4"); Форма.Закладки.ДобавитьЗначение(2, "Разделы 5-7"); Форма.Закладки.ДобавитьЗначение(3, "Разделы 8-9"); Форма.Закладки.ДобавитьЗначение(4, "Об.сторона. Разделы 10-13"); Форма.Закладки.ДобавитьЗначение(5, "Об.сторона. Разделы 14-17"); Форма.ИспользоватьСлой("Основной, Разделы1_2_3_4, Кнопки", 2); ЭкзНомер = 1; Если ТипЗначенияСтр(Форма.Параметр)="СписокЗначений" Тогда Конт = Форма.Параметр.Получить("Контекст"); КонецЕсли; СчитатьДокумент(Конт); КонецПроцедуры // ПриОткрытии()[/code] |
|||
|
17
Raven30
20.07.11
✎
10:30
|
Всем спасибо за помощь.
Разобрался. |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |