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

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


------------------
Ratings: 0 negative/0 positive
Re: Реализация товаров и услуг 1с 8.2
Аспид
Автор

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
Документ создается, но в табличной части, почему то отсутствуют колонки НДС и Сумма НДС
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]


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




Исправлено 2 раз(а). Последнее : Аспид, 17.07.12 11:45
Ratings: 0 negative/0 positive
Re: Реализация товаров и услуг 1с 8.2
pasha_usue

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

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

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

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


------------------
Ratings: 0 negative/0 positive
Re: Реализация товаров и услуг 1с 8.2
Foxtrot

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


------------------
Мойте ноги, моя ноги вы моете и руки
Ratings: 0 negative/0 positive
Re: Реализация товаров и услуг 1с 8.2
Аспид
Автор

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
Канат, огромное спасибо за помощь.
Что получается.
В документе есть Процедура УстановитьВидимость()
В ней то все и происходит.
Колонки.СтавкаНДС.Видимость = УчитыватьНДС;
Колонки.СуммаНДС.Видимость = УчитыватьНДС;
КолонкиУслуг.СтавкаНДС.Видимость = УчитыватьНДС;
КолонкиУслуг.СуммаНДС.Видимость = УчитыватьНДС;
КолонкиАгентскихУслуг.СтавкаНДС.Видимость = УчитыватьНДС;
КолонкиАгентскихУслуг.СуммаНДС.Видимость = УчитыватьНДС;
Закомментировав эти строки, добился желаемого.
Явно решение через Ж. )))
По совету Каната, пошел по пути копирования.
Все получилось.
Все работает.
Код теперь такой
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
Аспид
Автор

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
Еще раз благодарю 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.Записать()


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




Исправлено 1 раз(а). Последнее : Аспид, 18.07.12 10:04
Ratings: 0 negative/0 positive


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

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

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