Группа: Местный
Сообщений: 298
Спасибо сказали: 98 раз
Рейтинг: 0
Prospero @ Вчера, 22:30
, Ні, не вірно. В Вашому прикладі будуть створюватися пусті документи які будуть нікому не потрібні. По перше, в документі в процедурі ПриОткрытии() необхідно:
Процедура ПриОткрытии() Если ПустоеЗначение(Форма.Параметр) = 0 Тогда Если ТипЗначения(Форма.Параметр) = 11 Тогда Контрагент = Форма.Параметр; КонецЕсли; КонецЕсли; КонецПроцедуры
По друге, визивати з модуля довідника потрібно наступним чином:
Если ТекущийЭлемент().ЭтоГруппа() = 0 Тогда ОткрытьФорму("Документ.Ваш_документ",ТекущийЭлемент()); КонецЕсли;
При такому розвитку, введення Нового документу можливо припинити, оскільки відсутній метод Документ.Записать().
То, что для одного человека константа, для другого - переменная. (Алан.Дж.Перлис)
Sharzem, отчего ж он пустым то будет? Нет, если создать и потом сразу записать, то будет, согласен Но ТС не указал какой конкретно ему нужно создать документ, а значит, неизвестны конкретные реквизиты, которые ему нужно заполнять. Как я понял, ему из справочника Контрагенты нужно создать док с уже заполненными реквизитами данного контрагента? Так в чем сложность после создания документа программно заполнить реквизиты нужные? Строки "//....." в моем примере и подразумевают часть кода, заполняющего документ данными из справочника...
Группа: Местный
Сообщений: 298
Спасибо сказали: 98 раз
Рейтинг: 0
Цитата(4andriy @ 25.03.20, 16:24)
выбрать контрагента из справочника и выписать документ
Цитата(4andriy @ 26.03.20, 19:53)
задача скопіювати вже створений перед тим заповнений документ і тоді тільки поправити
Це все зовсім різне.
Цитата(4andriy @ 26.03.20, 19:53)
додав в ПриОткрытии код щоб дані виділеного контера переносились
Реалізовано не вірно, оскільки ТекущийЭлемент() для документу в процедурі ПриОткрытии() не є напередвизначеним параметром, доступ до нього можливий лише через Форма.Параметр.
Группа: Пользователи
Сообщений: 184
Спасибо сказали: 1 раз
Рейтинг: 1
4andriy @ Сегодня, 17:45
, Отож,
В Довіднику Контрагенти Додав Поле ввода з вибором - тип Документ.Накладна (тут можу вибрати в який документ треба підставляти дані контрагента)
В журналі документів є вже створена типова накладна. І щоб не набирати одне і те саме, але лише поправити треба процедуру яка:
Створює копію з документу, який вибраний в Полі ввода і підставляє значення контрагента (реквізит в накладній "Контрагент")
Далі скопіюйований документ можна поправити і при потребі зберегти.
4andriy @ Сегодня, 23:25
, як варіант код який переносить з довідника контрагентів в журнал, а тоді виділяє потрібний документ і тоді копіює, але в цьому випадку не переносяться дані контрагента
Функция кВЖурнал() Перем лКонт; ОткрытьФорму("Журнал.[Имя журнала].ФормаСписка",лКонт); Если ТипЗначения(лКонт)=100 Тогда лКонт.УстановитьИнтервал(ДатаДок, ДатаДок); лКонт.АктивизироватьОбъект(ТекущийДокумент());
Группа: Пользователи
Сообщений: 184
Спасибо сказали: 1 раз
Рейтинг: 1
4andriy @ 27.03.20, 23:35
, получився якийсь такий сирий код)
//добавил в форму справочника контрагентов поле ввода тип документ //что-бы в форме в поле ввода выбрать документ который будем копировать Процедура копир() Если ПустоеЗначение(ТекущийЭлемент())=1 Тогда Возврат; КонецЕсли; Если ТекущийЭлемент().ЭтоГруппа()=1 Тогда Возврат; КонецЕсли; Элемент=СоздатьОбъект("Справочник.Контрагенты"); Элемент.найтиЭлемент(ТекущийЭлемент()); ОКПО=КодОКПО; //открываем журнал всех документов ОткрытьФорму("Журнал.Общий"); //в журнале выделить документ который выбран АктивизироватьОбъект(копирдок); //открываем документ ОткрытьФорму(копирдок,ТекущийЭлемент()); //закрываем документ что-бы в журнале он оказался выделеный Форма.Закрыть() //копируем выделеный документ WSHShell = СоздатьОбъект("WScript.Shell"); WSHShell.SendKeys("{F9}"); //поле контрагент в документе меняем на контрагента с кодом окпо который был выделен в справочнике Контрагент=ОКПО; //дальше как обычно правим форму и если надо сохраняем КонецПроцедуры
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!