for flooders
:: Главная :: Решения :: Статьи :: Сайт М. Дроздова :: Файловый архив :: Книга по VFP 9 :: Русский Help Online :: OFF-LINE Форум
   Лисоводы   всех   стран,  объединяйтесь !!!  

Список Форумов  :: Вопросы по 1С
  

Реализация товаров и услуг 1с 8.2
Аспид
Автор

Сообщений: 3292
Откуда: Москва
Дата: 28.06.12 08:32:26
1С 8.2
Требуется автоматически создавать документ Реализация товаров и услуг.
Заполнять его полученными из MS SQL данными.
Получать данные из 8ки, как то научился)
А вот создать док.
Подскажите как.


------------------
Ratings: 0 negative/0 positive

Re: Реализация товаров и услуг 1с 8.2
Аспид
Автор

Сообщений: 3292
Откуда: Москва
Дата: 17.07.12 10:32:34
Документ создается, но в табличной части, почему то отсутствуют колонки НДС и Сумма НДС
  
  PARAMETERS cod1s,good1s,Количество,Цена,Сумма,cNdsSum[  
    
  	newdoc = gov82.Документы.РеализацияТоваровУслуг.СоздатьДокумент()  
  	newdoc.Организация = gov82.Справочники.Организации.НайтиПоКоду("000000001")  
  	newdoc.Дата = DATE() &&gov82.Дата	  
  	newdoc.Склад = gov82.Справочники.Склады.НайтиПоКоду("000000001")  
  	newdoc.Контрагент = gov82.Справочники.Контрагенты.НайтиПоКоду(cod1s)  
  	newdoc.Грузополучатель = gov82.Справочники.Контрагенты.НайтиПоКоду(cod1s)  
  	newdoc.ВидОперации = gov82.Перечисления.ВидыОперацийРеализацияТоваров.ПродажаКомиссия  
    
 	* Заполнение табличной части Материалы:  
  	НовСтрТЧ = newdoc.Товары.Добавить()  
  	НовСтрТЧ.Номенклатура = gov82.Справочники.Номенклатура.НайтиПоКоду(good1s)  
  	НовСтрТЧ.Количество = Количество  
  	НовСтрТЧ.Цена = Цена  
  	НовСтрТЧ.Сумма =Сумма  
    
  *Попробовал вставить эти строки. Ошибок нет, но и колонки не появляются(  
  	НовСтрТЧ.СтавкаНДС = '18%'  
  	НовСтрТЧ.СуммаНДС = cNdsSum  
 	* запишем:  
  	newdoc.Записать()
Что где подправить?
Когда док создаешь из самой 1С, все естественно нормально.
Вот неправильный вид
[attachment 13807 not1.jpg]
Вот так должно быть
[attachment 13808 yes1.jpg]


------------------




Исправлено: Аспид, 17.07.12 11:45
Ratings: 0 negative/0 positive

Re: Реализация товаров и услуг 1с 8.2
pasha_usue

Сообщений: 3106
Откуда: Е-бург
Дата: 17.07.12 11:29:02
СтавкаНДС это не строка "18%" а значение справочника СтавкиНДС. Поэтому, когда вы присваиваете ему строку, 1С игнорит ваши потуги.

Подозреваю, СуммаНДС выносится при открытии документа на просмотр (ставка же пустая).
Ratings: 0 negative/0 positive

Re: Реализация товаров и услуг 1с 8.2
Аспид
Автор

Сообщений: 3292
Откуда: Москва
Дата: 17.07.12 11:50:58
Все еще хуже.
Я оставил в коде только шапку. Убрал создание табличной части.
Так вот, в 1С она пустая, но структуры не правильная.
Нет НДС и Сумма НДС

Может здесь что то не то?
  
  newdoc.ВидОперации = gov82.Перечисления.ВидыОперацийРеализацияТоваров.ПродажаКомиссия


------------------
Ratings: 0 negative/0 positive

Re: Реализация товаров и услуг 1с 8.2
Foxtrot

Сообщений: 3378
Откуда: Куда:
Дата: 17.07.12 13:35:51
в коробочной версии, а речь скорее всего о ней родимой, многие реквизиты заполняются непосредственно на форме документа реализации
следовательно создать документ просто так не получится, следует либо самому ручками заполнять оставшиеся невидимыми реквизиты либо воспользоваться уже готовым кодом формы для чего нужно поиметь форму через вызов ПолучитьФорму(), в нашем случаем примерно так newform = newdoc.ПолучитьФорму()
либо как я уже говорил по аське клонировать уже имеющийся документ через Скопировать() типа newdoc = olddoc.Скопировать(); заранее выбрав victim для копирования
удачи


------------------
P.S. будете проходить мимо, не стесняйтесь, проходите
Ratings: 0 negative/0 positive

Re: Реализация товаров и услуг 1с 8.2
Аспид
Автор

Сообщений: 3292
Откуда: Москва
Дата: 17.07.12 16:23:36
Канат, огромное спасибо за помощь.
Что получается.
В документе есть Процедура УстановитьВидимость()
В ней то все и происходит.
  
  	Колонки.СтавкаНДС.Видимость = УчитыватьНДС;  
  	Колонки.СуммаНДС.Видимость  = УчитыватьНДС;  
    
  	КолонкиУслуг.СтавкаНДС.Видимость = УчитыватьНДС;  
  	КолонкиУслуг.СуммаНДС.Видимость  = УчитыватьНДС;  
  	  
  	КолонкиАгентскихУслуг.СтавкаНДС.Видимость = УчитыватьНДС;  
  	КолонкиАгентскихУслуг.СуммаНДС.Видимость  = УчитыватьНДС;
Закомментировав эти строки, добился желаемого.
Явно решение через Ж. )))
По совету Каната, пошел по пути копирования.
Все получилось.
Все работает.
Код теперь такой
  
  	olddoc = gov82.Документы.РеализацияТоваровУслуг.НайтиПоНомеру("00000000963", "20120523")  
  	newdoc  = olddoc.Скопировать()  
 *!*		newdoc = gov82.Документы.РеализацияТоваровУслуг.СоздатьДокумент()  
  		newdoc.Организация = gov82.Справочники.Организации.НайтиПоКоду("000000001")  
  		newdoc.Дата = DATE() &&gov82.Дата	  
 *!*		newdoc.Склад = gov82.Справочники.Склады.НайтиПоКоду("000000001")  
  		newdoc.Контрагент = gov82.Справочники.Контрагенты.НайтиПоКоду(cod1s)  
  		newdoc.Грузополучатель = gov82.Справочники.Контрагенты.НайтиПоКоду(cod1s)  
    
 *!*		newdoc.ВидОперации = gov82.Перечисления.ВидыОперацийРеализацияТоваров.ПродажаКомиссия  
 	* Заполнение табличной части Материалы:  
  	MyGood1s=gov82.Справочники.Номенклатура.НайтиПоКоду(good1s)  
  	qq=MyGood1s.СтавкаНДС   
  	НовСтрТЧ = newdoc.Товары.Очистить()  
  	НовСтрТЧ = newdoc.Товары.Добавить()  
  	НовСтрТЧ.Номенклатура = MyGood1s  
  	НовСтрТЧ.Количество = Количество  
  	НовСтрТЧ.Цена = Цена  
  	НовСтрТЧ.Сумма =Сумма  
  	НовСтрТЧ.СтавкаНДС = qq  
 	*'18%'  
  	НовСтрТЧ.СуммаНДС = cNdsSum  
 	* запишем:  
  	qq=newdoc.Записать()
Но очевидно, что и это, не совсем все же верно.

Возвращаясь к коду в самой 1С.
Когда создаю док из 1С, УчитыватьНДС = Истина
Когда от себя УчитыватьНДС = Ложь
Где этой переменной присваивается значение не нашел.
Пользовал даже глобальный поиск)

Есть какие то еще мысли?


------------------
Ratings: 0 negative/0 positive

Re: Реализация товаров и услуг 1с 8.2
Аспид
Автор

Сообщений: 3292
Откуда: Москва
Дата: 18.07.12 10:02:33
Еще раз благодарю Foxtrot
С утра наверное лучше соображается
Тот самый пресловутый УчитыватьНДС оказывается является реквизитом.
Потому я легко его устанавливаю от себя, и все работает.
Итоговый код
  
  	newdoc = gov82.Документы.РеализацияТоваровУслуг.СоздатьДокумент("Истина")  
  	newdoc.Организация = gov82.Справочники.Организации.НайтиПоКоду("000000001")  
  	newdoc.Дата = DATE()   
  	newdoc.Склад = gov82.Справочники.Склады.НайтиПоКоду("000000001")  
  	newdoc.Контрагент = gov82.Справочники.Контрагенты.НайтиПоКоду(cod1s)  
  	newdoc.Грузополучатель = gov82.Справочники.Контрагенты.НайтиПоКоду(cod1s)  
  	newdoc.УчитыватьНДС="Истина"  
    
 	* Заполнение табличной части Материалы:  
  	MyGood1s=gov82.Справочники.Номенклатура.НайтиПоКоду(good1s)  
  	oSNds=MyGood1s.СтавкаНДС   
  	НовСтрТЧ = newdoc.Товары.Добавить()  
  	НовСтрТЧ.Номенклатура = MyGood1s  
  	НовСтрТЧ.Количество = Количество  
  	НовСтрТЧ.Цена = Цена  
  	НовСтрТЧ.Сумма =Сумма  
  	НовСтрТЧ.СтавкаНДС = oSNds  
  	НовСтрТЧ.СуммаНДС = cNdsSum  
 	* запишем:  
  	newdoc.Записать()


------------------




Исправлено: Аспид, 18.07.12 10:04
Ratings: 0 negative/0 positive



Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 4 sphinx  (Гостей: 3)

16.06.2019 07:58:35 exec: 0.18
Mem: 1.215 Mb

© 2000-2019 Fox Club 
Яндекс.Метрика