|
1С:Предприятие
:: 1С:Предприятие 8 общая
|
|
| ||
Casper211 25.10.16 - 09:53 | Суть задачи просто создать ЗаказПоставщику в обработке и все.
Я программно создаю документ в своей обработке (вот код) &НаСервере Процедура СоздатьЗаказыСервер(Поставщики) ДатаЗаказов = ТекущаяДата(); Для Каждого ТекСтрока Из Поставщики Цикл Заказ = Документы.ЗаказПоставщику.СоздатьДокумент(); Заказ.Организация = ЗначениеНастроекПовтИсп.ПолучитьОрганизациюПоУмолчанию(Заказ.Организация); Заказ.Дата = ДатаЗаказов; Заказ.Менеджер = Пользователи.ТекущийПользователь(); Заказ.Валюта = ДоходыИРасходыСервер.ПолучитьВалютуУправленческогоУчета(Заказ.Валюта); Заказ.БанковскийСчет = ЗначениеНастроекПовтИсп.ПолучитьБанковскийСчетОрганизацииПоУмолчанию( Заказ.Организация, Заказ.ФормаОплаты, Заказ.БанковскийСчет); Заказ.Касса = ЗначениеНастроекПовтИсп.ПолучитьКассуОрганизацииПоУмолчанию( Заказ.Организация, Заказ.ФормаОплаты, Заказ.Касса); Заказ.Склад = ЗначениеНастроекПовтИсп.ПолучитьСкладПоУмолчанию( Заказ.Склад, ПолучитьФункциональнуюОпцию("ИспользоватьСкладыВТабличнойЧастиДокументовЗакупки")); Заказ.Приоритет = Справочники.Приоритеты.ПолучитьПриоритетПоУмолчанию(Заказ.Приоритет); Заказ.Статус = Перечисления.СтатусыЗаказовПоставщикам.Согласован; НалогообложениеНДСПоУмолчаниюИзменено = Истина; ДоступностьНалогообложенияНДСПоУмолчанию = Истина; ЗаполнитьСтавкиНДС = Истина; НалогообложениеНДСПоУмолчанию = НДСОбщегоНазначенияСервер.ПолучитьНалогообложениеНДСПоУмолчанию(Заказ.Организация, Заказ.Контрагент, Заказ.Соглашение, Заказ.Дата, Ложь, Неопределено); Отбор = Новый Структура; Отбор.Вставить("Поставщик", ТекСтрока.Поставщик); Отбор.Вставить("Выбран", Истина); Если Поставщики.Колонки.Количество()=2 Тогда Отбор.Вставить("Склад", ТекСтрока.Склад); КонецЕсли; СтрокиТовары = Товары.НайтиСтроки(Отбор); Для Каждого СтрокаТовар Из СтрокиТовары Цикл ЗаполнитьЗначенияСвойств(Заказ.Товары.Добавить(), СтрокаТовар); КонецЦикла; Заказ.Партнер = ТекСтрока.Поставщик; ПартнерыИКонтрагенты.ЗаполнитьКонтрагентаПартнераПоУмолчанию(ТекСтрока.Поставщик, Заказ.Контрагент); Если Поставщики.Колонки.Количество() = 2 Тогда Заказ.Склад = ТекСтрока.Склад; КонецЕсли; ЗакупкиСервер.ЗаполнитьНоменклатуруПоставщикаВТаблице(Заказ.Товары,ТекСтрока.Поставщик); Заказ.Записать(РежимЗаписиДокумента.Запись); КонецПроцедуры и при проведении выводит Поле "Налогообложение" не заполнено хотя оно заполнено.не знаете в чем проблема? | ||
Mankubus 1 - 25.10.16 - 09:55 | (0) в какой строке заполняется Налогообложение? | ||
Casper211 2 - 25.10.16 - 10:00 | (1) НалогообложениеНДСПоУмолчанию = НДСОбщегоНазначенияСервер.ПолучитьНалогообложениеНДСПоУмолчанию(Заказ.Организация, Заказ.Контрагент, Заказ.Соглашение, Заказ.Дата, Ложь, Неопределено); | ||
Defender aka LINN 3 - 25.10.16 - 10:01 | (2) Ничего, что это переменная формы? | ||
МимохожийОднако 4 - 25.10.16 - 10:03 | Встань отладчиком перед записью объекта и убедись, что заполнены нужные реквизиты. | ||
Casper211 5 - 25.10.16 - 10:07 | |||
Casper211 6 - 25.10.16 - 10:09 | |||
МимохожийОднако 7 - 25.10.16 - 10:11 | |||
Casper211 8 - 25.10.16 - 10:11 | (6) плохо получилось | ||
Casper211 9 - 25.10.16 - 10:12 | (7) как выйти из этой ситуации ?? Получить форму и записать ее значение? | ||
МимохожийОднако 10 - 25.10.16 - 10:12 | (9) Надо получить объект и работать только с ним | ||
novichok79 11 - 25.10.16 - 10:14 | (9) посмотреть отладчиком как заполняется поле "Налогообложение" в модулях и написать соответствующий код в модуле процедуры создания? | ||
Casper211 12 - 25.10.16 - 10:20 | (11) &НаСервере Процедура УстановитьНалогообложениеНДСПоУмолчанию(ПриОткрытииФормы = Ложь) НалогообложениеНДСПоУмолчаниюИзменено = Ложь; ДоступностьНалогообложенияНДСПоУмолчанию = Истина; ЗаполнитьСтавкиНДС = Ложь;  // Импорт обработаем отдельно - для импорта налогообложение всегда ПродажаНеОблагаетсяНДС и не изменяется ЭтоИмпорт = (Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаПоИмпорту ИЛИ Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПриемНаКомиссиюИмпорт); Если ЭтоИмпорт Тогда ДоступностьНалогообложенияНДСПоУмолчанию = Ложь; Если НалогообложениеНДСПоУмолчанию <> Перечисления.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС Тогда НалогообложениеНДСПоУмолчанию = Перечисления.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС; ЗаполнитьСтавкиНДС = Истина; НалогообложениеНДСПоУмолчаниюИзменено = Истина; КонецЕсли; Объект.ВернутьМногооборотнуюТару = Ложь; Объект.ТребуетсяЗалогЗаТару = Ложь; ВернутьМногооборотнуюТаруПриИзмененииСервер(); Иначе НовоеНалогообложениеНДСПоУмолчанию = НДСОбщегоНазначенияСервер.ПолучитьНалогообложениеНДСПоУмолчанию(Объект.Организация, Объект.Контрагент, Объект.Соглашение, Объект.Дата, Ложь, Неопределено); ДоступностьНалогообложенияНДСПоУмолчанию = НДСОбщегоНазначенияСервер.КонтрагентПлательщикНДС(Объект.Контрагент); Если НалогообложениеНДСПоУмолчанию <> НовоеНалогообложениеНДСПоУмолчанию Тогда ЗаполнитьСтавкиНДС = НДСОбщегоНазначенияСервер.НужноОбработатьНовоеНалогообложениеНДС(НалогообложениеНДСПоУмолчанию, НовоеНалогообложениеНДСПоУмолчанию); НалогообложениеНДСПоУмолчанию = НовоеНалогообложениеНДСПоУмолчанию; НалогообложениеНДСПоУмолчаниюИзменено = Истина; КонецЕсли; КонецЕсли; Если НалогообложениеНДСПоУмолчаниюИзменено И ЗаполнитьСтавкиНДС И НЕ ПриОткрытииФормы Тогда КэшированныеЗначения = ОбработкаТабличнойЧастиКлиентСервер.ПолучитьСтруктуруКэшируемыеЗначения(); НалогообложениеНДСПоУмолчаниюПриИзмененииСервер(КэшированныеЗначения); КонецЕсли; ОбщегоНазначенияУТКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "НалогообложениеНДСПоУмолчанию", "Доступность", ДоступностьНалогообложенияНДСПоУмолчанию); КонецПроцедуры | ||
Casper211 13 - 25.10.16 - 10:22 | в модуле "ФормаДокумента" дока ЗаказПоставщику | ||
Casper211 14 - 25.10.16 - 10:23 | (10) а как получить объект на сервере? | ||
Casper211 15 - 25.10.16 - 10:25 | (10) то есть получить объект ? добавлять какие-то данные? и тогда записать? | ||
Casper211 16 - 25.10.16 - 10:29 | это нужно сделать на клиенте? | ||
МимохожийОднако 17 - 25.10.16 - 10:30 | |||
Casper211 18 - 25.10.16 - 10:31 | но если потом зайти в документ поменять поставщика, Налогообложение автоматически себе изменится стандартными методами. И все равно пишет не заполнена | ||
Casper211 19 - 25.10.16 - 10:32 | |||
МимохожийОднако 20 - 25.10.16 - 10:35 | (18) Сообщение дословно в студию. Зачем ты вцепился с модуль формы? | ||
Casper211 21 - 25.10.16 - 10:35 | |||
novichok79 22 - 25.10.16 - 10:35 | (12) так напиши свой (!!!) код заполнения, исходя из кода, которым заполняется в форме. разве это так сложно? | ||
Casper211 23 - 25.10.16 - 10:36 | |||
МимохожийОднако 24 - 25.10.16 - 10:38 | У тебя в (0) есть переменная Заказ. В эту переменную и пихай данные. А на форме посмотри, какой реквизит или алгоритм спрятался в поле "Налогообложение". Это поле в реквизит объект Заказ и запиши. А форма Заказа тебе не нужна СОВСЕМ. | ||
Casper211 25 - 25.10.16 - 10:47 | (22) так я все заполнил то что надо было, кроме этого налога. (24) я так и делал пихал в Заказ.
на форме документа поле "Налогообложение", как я понял, это не реквизит документа и найти его в объекте "Заказ"(то есть мой новый созданный документ) не могу http://s46.radikal.ru/i111/1610/60/00056836377b.png | ||
Casper211 26 - 25.10.16 - 10:50 | а если программно провести, проводится.
Заказ.Записать(РежимЗаписиДокумента.Проведение); но потом руками - нет | ||
Casper211 27 - 25.10.16 - 11:00 | УДАЛИТЬНалогообложениеНДС - дал значения этому реквизита и работает. Хотя это не он был в поле | ||
Casper211 28 - 25.10.16 - 11:00 | Всем спаксибо, критика всегда идет мне на пользу |
|
Список тем форума
|