Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Импорт документа Возврат поставщику          
cRYSMAS Подменю пользователя
сообщение 17.03.10, 15:34
Сообщение #1

Говорящий
***
Группа: Пользователи
Сообщений: 84
Спасибо сказали: 2 раз
Рейтинг: 0

Здравствуйте. Вон не могу понять как мне нужно сделать:
Есть программа "Скарб" из нее сделали выгрузку в дбф формате расходную накладную. Сделали обработку, загрузки дбф. Все тру все работает но есть одно но "Возврат поставщику" смотрим рисунок



// Создать возврат поставщику
Д1=СоздатьОбъект("Документ.ВозвратПоставщику");
Д1.Новый();
// Шапка документа
Д1.ДатаДок=Т1.ДатаДок;
Д1.Фирма = Фирма;
Д1.Контрагент = Т1.Контрагент;
Д1.Валюта = Гривня;
Д1.Курс = 1;
Д1.МестоХранения = СкладПрихода;
Д1.ВидТорговли = Т1.Контрагент.ВидТорговли;
Д1.СубконтоВалИзд = глВосстановитьЗначение(Д1.ТекущийДокумент(),"СубконтоВалДох", Константа.БазВаловыйДоход);
Д1.ВидНДС = ?(Т1.ТМЦ.Выбран()=1,Т1.ТМЦ.СтавкаНДС,0);
Д1.СчетКонтрагента = СчетПоКоду("63.1");
Д1.СчетЗатрат = СчетЗатрВП;
Д1.ВидЗатрат = ВидЗатрВП;
// Табличная часть документа
Д1.НоваяСтрока();
Если Т1.НДС=0 Тогда
Д1.ТМЦ = ТМЦБезНДС.ТекущийЭлемент();
Д1.Ед=спрЕдТМЦБезНДС.ТекущийЭлемент();
Д1.Коэффициент=КоэффициентЕдТМЦБезНДС;
Д1.Партия = спрПартияТМЦБезНДС;
Иначе
Д1.ТМЦ=ТМЦСНДС.ТекущийЭлемент();
Д1.Ед=спрЕдТМЦСНДС.ТекущийЭлемент();
Д1.Коэффициент=КоэффициентЕдТМЦСНДС;
Д1.Партия = спрПартияТМЦСНДС;
КонецЕсли;
Д1.Кво = 1;
Д1.ЦенаБезНДС = Т1.СуммаЗакуп;
Д1.СуммаБезНДС = Д1.ЦенаБезНДС;
СтавкаНДС = ?(Д1.ВидНДС.Выбран()=0, 0, Д1.ВидНДС.Ставка.Получить(Д1.ДатаДок));
Д1.НДС = Д1.СуммаБезНДС * СтавкаНДС;
Д1.СуммаСНДС = Д1.СуммаБезНДС + Д1.НДС;

Д1.Записать();
Д1.Провести();

Состояние("Записан документ "+Д1.ТекущийДокумент()+"...");
ИначеЕсли (Т1.ТипДок=11) и (ПустоеЗначение(Т1.Склад)=0) Тогда
// Создать перемещение - перемещение из аптеки на склад в розничных ценах (товар в ассоритименте)
// (аптека - склад в суммовом учёте - оптовый склад)
// Перемещаем из аптеки на склад в суммовом учёте



Часть кода, мне нужно что бы при импорте дбф. вайла в обработчике автоматически записывалась закупочная сумма в сумму "Возврату поставщику" В модуле "Возврат поставщику" переменная отвечающая за сумму "СуммаО", а в обработчике "Суммазакуп". Не могу понять как правильно мне сделать ну типа "ЗаполнитьСуммаО = СуммаЗакуп;" или как то так, как этот ньюанс реализовать?


Signature
1С 7.7 7.70.027
Бух. учот релиз 7.70.272.
Я тока учусь, албанский знаю но плохо.

Batchir Подменю пользователя
сообщение 17.03.10, 16:08
Сообщение #2

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1443 раз
Рейтинг: 0

Ну в коде должно быть что то типа
<Документ>.<Реквизит> = <Значение реквизита>;
В твоем случае
Д1.СуммаО = Суммазакуп;

cRYSMAS Подменю пользователя
сообщение 18.03.10, 9:11
Сообщение #3

Говорящий
***
Группа: Пользователи
Сообщений: 84
Спасибо сказали: 2 раз
Рейтинг: 0

Цитата(Batchir @ 17.03.10, 17:08) *
Ну в коде должно быть что то типа
<Документ>.<Реквизит> = <Значение реквизита>;
В твоем случае
Д1.СуммаО = Суммазакуп;


Спасибо все получилось нужнобыло прописать вот так
Д1.СуммаО = Т1.СуммаЗакуп;


Signature
1С 7.7 7.70.027
Бух. учот релиз 7.70.272.
Я тока учусь, албанский знаю но плохо.

cRYSMAS Подменю пользователя
сообщение 18.03.10, 10:34
Сообщение #4

Говорящий
***
Группа: Пользователи
Сообщений: 84
Спасибо сказали: 2 раз
Рейтинг: 0

Цитата(cRYSMAS @ 17.03.10, 16:34) *


// Создать возврат поставщику
Д1=СоздатьОбъект("Документ.ВозвратПоставщику");
Д1.Новый();
// Шапка документа
Д1.ДатаДок=Т1.ДатаДок;
Д1.Фирма = Фирма;
Д1.Контрагент = Т1.Контрагент;
Д1.Валюта = Гривня;
Д1.Курс = 1;
Д1.МестоХранения = СкладПрихода;
Д1.ВидТорговли = Т1.Контрагент.ВидТорговли;
Д1.СубконтоВалИзд = глВосстановитьЗначение(Д1.ТекущийДокумент(),"СубконтоВалДох", Константа.БазВаловыйДоход);
Д1.ВидНДС = ?(Т1.ТМЦ.Выбран()=1,Т1.ТМЦ.СтавкаНДС,0);
Д1.СчетКонтрагента = СчетПоКоду("63.1");
Д1.СчетЗатрат = СчетЗатрВП;
Д1.ВидЗатрат = ВидЗатрВП;
// Табличная часть документа
Д1.НоваяСтрока();
Если Т1.НДС=0 Тогда
Д1.ТМЦ = ТМЦБезНДС.ТекущийЭлемент();
Д1.Ед=спрЕдТМЦБезНДС.ТекущийЭлемент();
Д1.Коэффициент=КоэффициентЕдТМЦБезНДС;
Д1.Партия = спрПартияТМЦБезНДС;
Иначе
Д1.ТМЦ=ТМЦСНДС.ТекущийЭлемент();
Д1.Ед=спрЕдТМЦСНДС.ТекущийЭлемент();
Д1.Коэффициент=КоэффициентЕдТМЦСНДС;
Д1.Партия = спрПартияТМЦСНДС;
КонецЕсли;
Д1.Кво = 1;
Д1.ЦенаБезНДС = Т1.СуммаЗакуп;
Д1.СуммаБезНДС = Д1.ЦенаБезНДС;
СтавкаНДС = ?(Д1.ВидНДС.Выбран()=0, 0, Д1.ВидНДС.Ставка.Получить(Д1.ДатаДок));
Д1.НДС = Д1.СуммаБезНДС * СтавкаНДС;
Д1.СуммаСНДС = Д1.СуммаБезНДС + Д1.НДС;

Д1.Записать();
Д1.Провести();

Состояние("Записан документ "+Д1.ТекущийДокумент()+"...");
ИначеЕсли (Т1.ТипДок=11) и (ПустоеЗначение(Т1.Склад)=0) Тогда
// Создать перемещение - перемещение из аптеки на склад в розничных ценах (товар в ассоритименте)
// (аптека - склад в суммовом учёте - оптовый склад)
// Перемещаем из аптеки на склад в суммовом учёте



Если мне нужно создать еще один документ "Взапись книги приобретения" "Налоговая накладная"с реквезитами "возврат поставщику" тоесть должны быть заполнены реквезиты "Контрагент, дата, норме документа, сумаБезНдс, если есть НДС то с СуммаНДС "могу я в этом же коде написать вот так:



// Создать возврат поставщику
Д1=СоздатьОбъект("Документ.ВозвратПоставщику");
Д1.Новый();
Д3=СоздатьОбъект("Документ.НалоговаяНаклданая");
// Шапка документа
Д1.ДатаДок=Т1.ДатаДок;
Д3.ДатаДок=Т1.ДатаДок;
Д1.Фирма = Фирма;
Д3.Фирма = Фирма;
Д1.Контрагент = Т1.Контрагент;
Д3.Контрагент = Т1.Контрагент;
Д1.Валюта = Гривня;
Д1.Курс = 1;
Д1.МестоХранения = СкладПрихода;
Д1.ВидТорговли = Т1.Контрагент.ВидТорговли;
Д1.СубконтоВалИзд = глВосстановитьЗначение(Д1.ТекущийДокумент(),"СубконтоВалДох", Константа.БазВаловыйДоход);
Д1.ВидНДС = ?(Т1.ТМЦ.Выбран()=1,Т1.ТМЦ.СтавкаНДС,0);
Д1.СчетКонтрагента = СчетПоКоду("63.1");
Д1.СчетЗатрат = СчетЗатрВП;
Д1.ВидЗатрат = ВидЗатрВП;
// Табличная часть документа
...
Д1.ЦенаБезНДС = Т1.СуммаЗакуп;
Д3.ЦенаБезНДС = Т1.СуммаЗакуп;
Д1.СуммаБезНДС = Д1.ЦенаБезНДС;
Д3.СуммаБезНДС = Д1.ЦенаБезНДС;
СтавкаНДС = ?(Д1.ВидНДС.Выбран()=0, 0, Д1.ВидНДС.Ставка.Получить(Д1.ДатаДок));
Д1.НДС = Д1.СуммаБезНДС * СтавкаНДС;
Д3.НДС = Д1.СуммаБезНДС * СтавкаНДС;
Д1.СуммаСНДС = Д1.СуммаБезНДС + Д1.НДС;
Д3.СуммаСНДС = Д1.СуммаБезНДС + Д1.НДС;



вот если я так сделаю то бдет норм??Я так понял Д1,Д2,Д3 это документ? а Т1 это таблица, а почему например переменую Д1.СуммаСНДС мы не определяем?
Д3=СоздатьОбъект("Документ.НалоговаяНаклданая"); вотсдесь "Документ.ДокументовКнигиПриобретения.РасчетКорректировки" нужно заполнить выбор агрегатного типа, где эти типы перечислины???как можно их посмотреть, не могу описать какой документ я должен создать


Signature
1С 7.7 7.70.027
Бух. учот релиз 7.70.272.
Я тока учусь, албанский знаю но плохо.

Batchir Подменю пользователя
сообщение 18.03.10, 10:44
Сообщение #5

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1443 раз
Рейтинг: 0

Цитата
Я так понял Д1,Д2,Д3 это документ?

Д1=СоздатьОбъект("Документ.ВозвратПоставщику");
Д1.Новый();
Переменная Д1(назвать её можно как угодно) содержит ссылку на создаваемый документ.
Программно таких документов можно создать кучу.

Цитата
почему например переменую Д1.СуммаСНДС мы не определяем

а?

cRYSMAS Подменю пользователя
сообщение 18.03.10, 11:15
Сообщение #6

Говорящий
***
Группа: Пользователи
Сообщений: 84
Спасибо сказали: 2 раз
Рейтинг: 0

Цитата(Batchir @ 18.03.10, 11:44) *
Д1=СоздатьОбъект("Документ.ВозвратПоставщику");
Д1.Новый();
Переменная Д1(назвать её можно как угодно) содержит ссылку на создаваемый документ.
Программно таких документов можно создать кучу.


а?

Значить мне нужно сделать все тоже самое что и при создании документа "ВозвратПоставщику"
тоесть но контрагентов которых нету убрать:
Д3=СоздатьОбъект("Документ.РасчетКоректировки");
Д3.Новый();
Д3.СуммаО = Т1.СуммаЗакуп;
// Шапка документа
Д3.ДатаДок=Т1.ДатаДок;
Д3.Фирма = Фирма;
Д3.Контрагент = Т1.Контрагент;
Д3.МестоХранения = КнигаПриобретений;
Д3.ВидНДС = ?(Т1.ТМЦ.Выбран()=1,Т1.ТМЦ.СтавкаНДС,0);
Д3.СчетКонтрагента = СчетПоКоду("63.1");
... и т.д.
так или я глубоко ошибаюсь?


Signature
1С 7.7 7.70.027
Бух. учот релиз 7.70.272.
Я тока учусь, албанский знаю но плохо.

cRYSMAS Подменю пользователя
сообщение 19.03.10, 8:20
Сообщение #7

Говорящий
***
Группа: Пользователи
Сообщений: 84
Спасибо сказали: 2 раз
Рейтинг: 0

Значиться у меня вылезла ошибка вот что я сделал:



// Создаем РасчетКорректировки;
Д3 = Перечисление.ВидыДокументовКнигиПриобретения.РасчетКорректировки;
Д3.Новый();
// Шапка документа
Д3.ДатаДокумента = Т1.ДатаДок;
Д3.Фирма = Фирма;
Д3.Контрагент = Т1.Контрагент;
Д3.МестоХранения = СкладПрихода;
Д3.ВидНДС = ?(Т1.ТМЦ.Выбран()=1,Т1.ТМЦ.СтавкаНДС,0);
Д3.СчетКонтрагента = СчетПоКоду("63.1");


Выдало ошибку
"Д3.Новый();
{E:\1SBUKR\EXTFORMS\_ИМПОРТПН.ERT(591)}: Поле агрегатного объекта не обнаружено (Новый)"
Искал гуглом но так и не понял в чои иммено проблема, или там нужно было записать вот так: "Д3.Новый=...();" почему не работает не могу понять, ведь я только добавил а перед этим было вот так:



// Создать возврат поставщику
Д1=СоздатьОбъект("Документ.ВозвратПоставщику");
Д1.Новый();

Д1.СуммаО = Т1.СуммаЗакуп;
// Шапка документа
Д1.ДатаДок = Т1.ДатаДок;
Д1.Фирма = Фирма;
Д1.Контрагент = Т1.Контрагент;
Д1.Валюта = Гривня;
Д1.Курс = 1;
Д1.МестоХранения = СкладПрихода;
Д1.ВидТорговли = Т1.Контрагент.ВидТорговли;
Д1.СубконтоВалИзд = глВосстановитьЗначение(Д1.ТекущийДокумент(),"СубконтоВалДох", Константа.БазВаловыйДоход);
Д1.ВидНДС = ?(Т1.ТМЦ.Выбран()=1,Т1.ТМЦ.СтавкаНДС,0);
Д1.СчетКонтрагента = СчетПоКоду("63.1");
Д1.СчетЗатрат = СчетЗатрВП;
Д1.ВидЗатрат = ВидЗатрВП;


А сдесь все работает. Помогите разобраться в чом проблема или я неправильно выражение записал? "Д3.Новый();"


Signature
1С 7.7 7.70.027
Бух. учот релиз 7.70.272.
Я тока учусь, албанский знаю но плохо.

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 16.06.25, 1:44
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!