|
ПТ на основе РТ | ☑ | ||
---|---|---|---|---|
0
Singenor
23.03.12
✎
12:22
|
Добрый день. Нужно сделать обработку, которая будет при нажатию на кнопку срабатывать, и заполнять табличные части докуметов( принцип ввода на основании)
Из документа поступление товаров и услуг сделать заполнение таб части Реализации товаров и услуг) может кто помочь?) |
|||
1
ДенисЧ
23.03.12
✎
12:24
|
Сколько?
|
|||
2
DEVIce
23.03.12
✎
12:24
|
1000р - в понедельник будет готово
|
|||
3
Singenor
23.03.12
✎
12:24
|
не кодом, хотя бы направить на правильный путь)
|
|||
4
Singenor
23.03.12
✎
12:25
|
писать я буду сам, и сдавать нужно сегодня, так что вариант с покупкой не рассматривается)
|
|||
5
ДенисЧ
23.03.12
✎
12:25
|
(3) Направляю - процедура ОбработкаЗаполнения(). Там делай, что хочешь.
|
|||
6
rbcvg
23.03.12
✎
12:26
|
Что за конфа? готовое решение чем не устраивает?
|
|||
7
DEVIce
23.03.12
✎
12:26
|
(3). А че тут направлять-то - это же элементарно.
|
|||
8
Singenor
23.03.12
✎
12:26
|
УПП, в готовом решении не могу такого найти
|
|||
9
Singenor
23.03.12
✎
12:27
|
(7) я пока тока учусь, поэтому такие вещи для меня пока не особо элементарны)))
|
|||
10
DEVIce
23.03.12
✎
12:27
|
(5). Можно еще внешней обработкой заполнения ТЧ, чтобы не курочить конфигу.
|
|||
11
Singenor
23.03.12
✎
12:28
|
(7) через внешнюю обработку и нужно
|
|||
12
DEVIce
23.03.12
✎
12:28
|
(9). Как студенту сделаю скидку 200р., а на полученном решении как раз и посмотришь как делать. :)
|
|||
13
Maxus43
23.03.12
✎
12:28
|
(9) и всё равно заказывают такие обработки тебе? куда катится мир... сначала на курсы пусть пошлют
|
|||
14
Singenor
23.03.12
✎
12:29
|
(13) просто задача такая стоит, нужно выполнить, вот и все
|
|||
15
Maxus43
23.03.12
✎
12:30
|
(14)>(5)
|
|||
16
DEVIce
23.03.12
✎
12:30
|
Тут понимаешь как бы форум. Если ты хочешь готовое решение получить, то раскошелтся. Если хочешь чтобы тебе как-то помогли, то начинай делать уже сам и задавай вопросы по конкретным местам, которые не получаются.
|
|||
17
DEVIce
23.03.12
✎
12:31
|
(15). Ему скорее всего нужна обработка заполнения ТЧ.
|
|||
18
Singenor
23.03.12
✎
12:31
|
(16) я не написал, чтобы мне сделали готовое решение, я спросил с чего начать, сейчас и буду заниматься этим)
|
|||
19
Maxus43
23.03.12
✎
12:33
|
(18) определись с вариантом решения. обработка внешняя, изменение документа или ещё что
|
|||
20
Singenor
23.03.12
✎
12:34
|
(19) Внешняя Обработка, которая создает кнопку, при нажатию на которую происходит заполнение табличной части документа Поступление товаров на основании документа Реализация товаров
|
|||
21
badboychik
23.03.12
✎
12:35
|
что мешает пример такой обработки скачать с инета или на ИТС почитать статейку
|
|||
22
Singenor
23.03.12
✎
12:36
|
не могу найти пример такой)
|
|||
23
Singenor
23.03.12
✎
12:48
|
я вот знаете че не пойму, вот ТЧ это табличная часть а ТП табличное поле, как это объяснить 1ске, чтобы она не писала, что переменные не определены?
|
|||
24
DEVIce
23.03.12
✎
13:32
|
(23). Образование программерское у тебя?
|
|||
25
IamAlexy
23.03.12
✎
13:33
|
бгыыыы
на инфасрате тыщи таких поделий.. |
|||
26
Singenor
23.03.12
✎
13:35
|
На инфосрате надо сутки ждать, чтобы сообщения засчитали, чтобы что то качать)
|
|||
27
Singenor
23.03.12
✎
13:43
|
(24) зачем писать такие глупые вопросы? когда можно или ответить не знаю, или сразу по существу, к чему лишней воды столько?
|
|||
28
Maxus43
23.03.12
✎
13:44
|
(27) не вовремя зарегистрировался. Пятница сегодня
|
|||
29
Grobik
23.03.12
✎
13:44
|
(26) Можно поклянчить как Stamper всегда делает. Или поклянчить на руборде.
|
|||
30
DEVIce
23.03.12
✎
13:58
|
(27). Я-то как раз знаю как делать. :)
А вопрос задаю, чтобы понять стоит ли начинать объяснять или посоветовать получить соотвествующие базовые знания в профильном учебном заведении. |
|||
31
DEVIce
23.03.12
✎
13:58
|
Ну и по существу пока нечего писать ибо пока нет никакого существа кроме того что надо обработку.
|
|||
32
Maxus43
23.03.12
✎
14:00
|
// Обязательная экспортная процедура заполнения табличной части
// // Параметры // Объект – ДокументОбъект, СправочникОбъект. От куда был произведен вызов процедуры заполнения внешней обработки; // ИмяТабличнойЧасти – Строка. Имя табличной части, для которой вызвана обработка. // ТабличноеПолеОбъекта – Элемент формы: Табличное поле. Табличное поле формы, для которого вызвана обработка. // Процедура Инициализировать(Объект, ИмяТабличнойЧасти, ТабличноеПолеОбъекта) Экспорт вот и всё. внешняя обработка с такой процедурой экспортной. В ней производиш нужные действия. в справочнике внешние обработки регистрируеш её, указываеш документ и его таб часть. |
|||
33
Singenor
23.03.12
✎
14:06
|
Процедура Инициализировать (Объект, ИмяТабличнойЧасти, ТабличноеПолеОбъекта) Экспорт
СсылкаНаОбъект = Объект; Форма = ЭтотОбъект.ПолучитьФорму("форма"); Форма.Открыть(); КонецПроцедуры и потом в модуле формы назначаю действия для кнопки и всего такого так? |
|||
34
Singenor
23.03.12
✎
14:08
|
в справочнике внешние обработки регистрируеш её,
долго думал, не понял смысла фразы, каком справочнике внешние обработки? |
|||
35
Maxus43
23.03.12
✎
14:10
|
не трогай документ сам. в предприятии есть справочник - Внешние обработки. зайди туда, добавь элемент, загрузи свою обработку и в ТЧ напиши что она для такого-то документа, для такойто таб части
|
|||
36
Maxus43
23.03.12
✎
14:11
|
в доке автоматом появится кнопка в "заполнить" у ТЧ - с именем твоей обработки
|
|||
37
Singenor
23.03.12
✎
14:12
|
(36), а ну это то понятно, я знаю, но сначала надо сделать ее)))
|
|||
38
Singenor
23.03.12
✎
14:12
|
Процедура ОсновныеДействияФормыВыполнить(Кнопка)
Если ТипЗнч(объектДокумент) = Тип("ДокументОбъект.РеализацияТоваров") Тогда Если ОчищатьТЧ Тогда объектДокумент.Товары.Очистить(); КонецЕсли; Для каждого стр из ТП Цикл Попытка тов = объектДокумент.Товары.Добавить(); тов.(что передать тут, чтобы в этой строчке он считывал данные с другого документа, и затем выдавал их) Исключение КонецПопытки; КонецЦикла; КонецЕсли; КонецПроцедуры |
|||
39
Maxus43
23.03.12
✎
14:13
|
с какого другого документа? откуда обработка его возьмёт?
|
|||
40
DEVIce
23.03.12
✎
14:14
|
(34). СсылкаНаОбъект не нужна для обработки ТЧ, это в печ. формах внешних используется. Тут вообще предполагается, что документ еще не записан и никаких ссылок на него нет.
Регистрировать в УПП можно через Сервис / Доп. внешние отчеты и обрабтки. Чтобы при регистрации не мутить с выбором документа и ТЧ, можно в обработке задать параметры авторегистрации следующим образом. Создаешь макет Параметры_Авторегистрации, в каждой строке в первой колонке пишешь полный идентификатор объекта (Документы.РеализацияТоваровУслуг), во второй колонке имя ТЧ, так можно настроить реистрацию сразу на несколько объектов, причем автоматическую. |
|||
41
Singenor
23.03.12
✎
14:15
|
(39) Ну мне ведь нужно чтобы при нажатии на кнопку в документе Поступление товаров, выводилось окошко с журналом документов Реализация товаров, я выбирал нужный, и на основании него заполнялась ТЧ
|
|||
42
DEVIce
23.03.12
✎
14:16
|
(38). Так как ТЧ ПТУ и РТУ сильно похожи, почти идентичны, то лучше пользоваться методом ЗаполнитьЗначенияСвойств(СтрокаПТУ, СтрокаРТУ).
|
|||
43
Maxus43
23.03.12
✎
14:17
|
Форма = Документ.РеализацияТоваровУслуг.ПолучитьФормуВыбора();
Гы = Форма.ОткрытьМодально(); Если Гы = Неопределено Тогда //Не выбрали док Иначе Сообщить(Гы); КонецЕсли; |
|||
44
Singenor
23.03.12
✎
14:19
|
(43) это насколько я понимаю прописыватеся в модуле объекта, а затем мы идем в модуль формы, где прописываем действия для формы? так тчо ли?
|
|||
45
Singenor
23.03.12
✎
14:23
|
Процедура ОсновныеДействияФормыВыполнить(Кнопка)
Если ТипЗнч(объектДокумент) = Тип("ДокументОбъект.РеализацияТоваров") Тогда Если ОчищатьТЧ Тогда объектДокумент.Товары.Очистить(); КонецЕсли; Для каждого стр из ТП Цикл Попытка тов = объектДокумент.Товары.Добавить(); тов.Номенклатура = стр.Номенклатура; тов.Количество = стр.Количество; тов.Коэффициент = 1; тов.ЕдиницаИзмерения = стр.ЕдИзм; Исключение КонецПопытки; КонецЦикла; КонецЕсли; {Форма.Форма.Форма(6,20)}: Переменная не определена (ТП) где ее обозначить? |
|||
46
Maxus43
23.03.12
✎
14:24
|
нафейхуа во внешней обработке вобще в форме что-то писать? в форме у тебя должно быть максимум -
Процедура ОсновныеДействияФормыВыполнить(Кнопка) Инициализировать(ОбъектРТУ, "Товары", Неопределено); в обработке данной элементы формы РТУ врятли надо править |
|||
47
zak555
23.03.12
✎
14:24
|
что это ?
|
|||
48
Maxus43
23.03.12
✎
14:25
|
ТабЧасть = ОбъектРТУ[ИмяТабличнойЧасти];
|
|||
49
Maxus43
23.03.12
✎
14:25
|
ТабЧасть = Объект[ИмяТабличнойЧасти];
|
|||
50
Singenor
23.03.12
✎
14:27
|
Процедура ОсновныеДействияФормыВыполнить(Кнопка)
ТабЧасть = ДокументОбъект[ИмяТабличнойЧасти]; Инициализировать(ОбъектРТУ, "Товары", Неопределено); КонецПроцедуры {Форма.Форма.Форма(2,27)}: Переменная не определена (ИмяТабличнойЧасти) {Форма.Форма.Форма(3,18)}: Переменная не определена (ОбъектРТУ) |
|||
51
Singenor
23.03.12
✎
14:27
|
как с ними поступать?)
|
|||
52
Maxus43
23.03.12
✎
14:28
|
не, я так не играю... желание быть отладчиком закончилось(
|
|||
53
Singenor
23.03.12
✎
14:28
|
бред какой то, нихера не понятно
|
|||
54
DEVIce
23.03.12
✎
14:30
|
(53). Метод Инициализировать не надо из формы вызвать, он вызывается 1С-ной, с него начинается работа.
|
|||
55
DEVIce
23.03.12
✎
14:31
|
И не надо дословно копировать примеры кода - они не будут работать :).
|
|||
56
Maxus43
23.03.12
✎
14:31
|
вот именно.
всё что я писал - делай в Инициализировать. выбор формы и т.д. (54) он хочет сначала отладить... для внешних отчетов - приемлимо, с обработкой заполнения ТЧ - не удобно уже |
|||
57
Singenor
23.03.12
✎
14:32
|
Заполнение ТЧ не произведено!
Поле объекта не обнаружено (РеализацияТоваровУслуг) |
|||
58
DEVIce
23.03.12
✎
14:34
|
(57). Как все запущено.
|
|||
59
Maxus43
23.03.12
✎
14:35
|
так тебе тут не поможет никто. только пример тебя спасёт реально работающий, чтоб понять принцип работы
|
|||
60
Singenor
23.03.12
✎
15:43
|
а где в типовой конфе находится часть, которая отвечает как раз за ввод на основании? ищу уже полтора часа, не могу найти(УПП 1.23)
|
|||
61
Singenor
23.03.12
✎
15:43
|
1.3.23*
|
|||
62
Singenor
23.03.12
✎
15:51
|
Заполнение ТЧ не произведено!
Поле объекта не обнаружено (РеализацияТоваровУслуг) с этим то что делать? |
|||
63
sanja26
23.03.12
✎
15:52
|
(60) обработка заполнения. еще раз...
|
|||
64
Singenor
23.03.12
✎
16:39
|
Перем мСтруктураПараметровДляПолученияДоговора Экспорт;
Перем мВалютаРегламентированногоУчета Экспорт; Процедура Инициализировать (Объект, ИмяТабличнойЧасти, ТабличноеПолеОбъекта) Экспорт Форма = Объект.РеализацияТоваровУслуг.ПолучитьФормуВыбора(); КонецПроцедуры Процедура ОбработкаЗаполнения(Основание) Экспорт ТипОснования = ТипЗнч(Основание); ЗаполнениеДокументов.ЗаполнитьШапкуДокументаПоОснованию(Объект, Основание); ВидПоступления = Перечисления.ВидыПоступленияТоваров.НаСклад; СкладОрдер = Основание.Склад; ОрганизацияКонтрагента = ЗаполнениеДокументов.ПолучитьОрганизациюПоКонтрагенту(Основание.Контрагент); Если ЗначениеЗаполнено(ОрганизацияКонтрагента) Тогда // Документ не отражается в управленческом учете (внутреняя передача товара), // поменяем организацию и контрагента местами. Организация = ОрганизацияКонтрагента; Контрагент = ЗаполнениеДокументов.ПолучитьКонтрагентаПоОрганизации(Основание.Организация); ВидОперации = Перечисления.ВидыОперацийПоступлениеТоваровУслуг.ПокупкаКомиссия; // Заполним номер и дату вхоящего документа. НомерВходящегоДокумента = Основание.Номер; ДатаВходящегоДокумента = Основание.Дата; ЗаполнениеДокументов.ПриИзмененииЗначенияКонтрагента(Объект, мСтруктураПараметровДляПолученияДоговора); Иначе //переносить контрагента и договор нет смысла при такой цепочке Контрагент = Справочники.Контрагенты.ПустаяСсылка(); ДоговорКонтрагента = Справочники.ДоговорыКонтрагентов.ПустаяСсылка(); КонецЕсли; // СтруктураКурсаВзаиморасчетов = МодульВалютногоУчета.ПолучитьКурсВалюты(ДоговорКонтрагента.ВалютаВзаиморасчетов, Дата); // КурсВзаиморасчетов = СтруктураКурсаВзаиморасчетов.Курс; // КратностьВзаиморасчетов = СтруктураКурсаВзаиморасчетов.Кратность; // Заполним табличные части. ЗаполнитьТоварыПоОснованиюРеализация(Основание); ЗаполнитьУслугиПоОснованиюРеализация(Основание); ЗаполнитьВозвратнуюТаруПоОснованиюРеализация(Основание); КонецПроцедуры Процедура ЗаполнитьТоварыПоОснованиюРеализация(Основание) Экспорт Курс = ЗаполнениеДокументов.КурсДокумента(Объект, мВалютаРегламентированногоУчета); Кратность = ЗаполнениеДокументов.КратностьДокумента(, мВалютаРегламентированногоУчета); Запрос = Новый Запрос; Запрос.УстановитьПараметр("ДокументОснование", Основание); Запрос.Текст = "ВЫБРАТЬ | Док.Ссылка.ВалютаДокумента, | ВЫБОР | КОГДА Док.Ссылка.ВалютаДокумента = Док.Ссылка.ДоговорКонтрагента.ВалютаВзаиморасчетов | ТОГДА Док.Ссылка.КурсВзаиморасчетов | ИНАЧЕ 1 | КОНЕЦ КАК КурсДокумента, | ВЫБОР | КОГДА Док.Ссылка.ВалютаДокумента = Док.Ссылка.ДоговорКонтрагента.ВалютаВзаиморасчетов | ТОГДА Док.Ссылка.КратностьВзаиморасчетов | ИНАЧЕ 1 | КОНЕЦ КАК КратностьДокумента, | Док.Ссылка.УчитыватьНДС, | Док.Ссылка.СуммаВключаетНДС, | Док.Номенклатура, | Док.ЕдиницаИзмерения, | Док.ЕдиницаИзмеренияМест, | Док.Коэффициент, | Док.СтавкаНДС, | Док.Количество, | Док.КоличествоМест, | Док.Сумма, | Док.ХарактеристикаНоменклатуры, | Док.СерияНоменклатуры |ИЗ | Документ.РеализацияТоваровУслуг.Товары КАК Док |ГДЕ | Док.Ссылка = &ДокументОснование | И (НЕ Док.Номенклатура.Услуга) | |УПОРЯДОЧИТЬ ПО | Док.НомерСтроки"; РезультатЗапроса = Запрос.Выполнить(); Выборка = РезультатЗапроса.Выбрать(); ТекПользователь = глЗначениеПеременной("глТекущийПользователь"); ЕстьРеквизитПроцентСкидкиНаценки = Ложь; ПересчитыватьСкидку = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ТекПользователь, "ПриИзмененииСуммыПересчитыватьСкидку"); ЕстьРеквизитПроцентАвтоматическихСкидок = Ложь; Пока Выборка.Следующий() Цикл СтрокаТабличнойЧасти = Объект.Товары.Добавить(); СтрокаТабличнойЧасти.Номенклатура = Выборка.Номенклатура; СтрокаТабличнойЧасти.Количество = Выборка.Количество; СтрокаТабличнойЧасти.КоличествоМест = Выборка.КоличествоМест; СтрокаТабличнойЧасти.ЕдиницаИзмерения = Выборка.ЕдиницаИзмерения; СтрокаТабличнойЧасти.ЕдиницаИзмеренияМест = Выборка.ЕдиницаИзмеренияМест; СтрокаТабличнойЧасти.Коэффициент = Выборка.Коэффициент; СтрокаТабличнойЧасти.СтавкаНДС = Выборка.СтавкаНДС; // Т.к. в Реализации могла быть скидка. то цену рассчитываем от суммы СтрокаТабличнойЧасти.Сумма = Выборка.Сумма; // Пересчитаем сумму в валюту документа (может отличаться от валюты основания). Сумма = МодульВалютногоУчета.ПересчитатьИзВалютыВВалюту(СтрокаТабличнойЧасти.Сумма, Выборка.ВалютаДокумента, Объект.ВалютаДокумента, Выборка.КурсДокумента, Курс, Выборка.КратностьДокумента, Кратность); СтрокаТабличнойЧасти.Сумма = Ценообразование.ПересчитатьЦенуПриИзмененииФлаговНалогов(Сумма, Перечисления.СпособыЗаполненияЦен.ПоЦенамНоменклатуры, Выборка.УчитыватьНДС И Выборка.СуммаВключаетНДС, Объект.УчитыватьНДС, Объект.СуммаВключаетНДС, УчетНДС.ПолучитьСтавкуНДС(СтрокаТабличнойЧасти.СтавкаНДС)); ОбработкаТабличныхЧастей.ПриИзмененииСуммыТабЧасти(СтрокаТабличнойЧасти, ЭтотОбъект, ТекПользователь,,ЕстьРеквизитПроцентСкидкиНаценки,ПересчитыватьСкидку,ЕстьРеквизитПроцентАвтоматическихСкидок,"Товары"); ОбработкаТабличныхЧастей.РассчитатьСуммуНДСТабЧасти(СтрокаТабличнойЧасти, ЭтотОбъект); СтрокаТабличнойЧасти.ХарактеристикаНоменклатуры = Выборка.ХарактеристикаНоменклатуры; СтрокаТабличнойЧасти.СерияНоменклатуры = Выборка.СерияНоменклатуры; СтрокаТабличнойЧасти.ОтражениеВУСН = Перечисления.ОтражениеВУСН.Принимаются; КонецЦикла; КонецПроцедуры Процедура ЗаполнитьУслугиПоОснованиюРеализация(Основание) Экспорт Курс = ЗаполнениеДокументов.КурсДокумента(Объект, мВалютаРегламентированногоУчета); Кратность = ЗаполнениеДокументов.КратностьДокумента(Объект, мВалютаРегламентированногоУчета); Запрос = Новый Запрос; Запрос.УстановитьПараметр("ДокументОснование", Основание); Запрос.Текст = "ВЫБРАТЬ | Док.Ссылка.ВалютаДокумента, | ВЫБОР | КОГДА Док.Ссылка.ВалютаДокумента = Док.Ссылка.ДоговорКонтрагента.ВалютаВзаиморасчетов | ТОГДА Док.Ссылка.КурсВзаиморасчетов | ИНАЧЕ 1 | КОНЕЦ КАК КурсДокумента, | ВЫБОР | КОГДА Док.Ссылка.ВалютаДокумента = Док.Ссылка.ДоговорКонтрагента.ВалютаВзаиморасчетов | ТОГДА Док.Ссылка.КратностьВзаиморасчетов | ИНАЧЕ 1 | КОНЕЦ КАК КратностьДокумента, | Док.Ссылка.УчитыватьНДС, | Док.Ссылка.СуммаВключаетНДС, | Док.Номенклатура, | Док.Содержание, | Док.СтавкаНДС, | Док.Количество, | Док.Сумма |ИЗ | Документ.РеализацияТоваровУслуг.Услуги КАК Док |ГДЕ | Док.Ссылка = &ДокументОснование | И Док.Номенклатура.Услуга | |УПОРЯДОЧИТЬ ПО | Док.НомерСтроки"; РезультатЗапроса = Запрос.Выполнить(); Выборка = РезультатЗапроса.Выбрать(); ТекПользователь = глЗначениеПеременной("глТекущийПользователь"); ЕстьРеквизитПроцентСкидкиНаценки = Ложь; ПересчитыватьСкидку = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ТекПользователь, "ПриИзмененииСуммыПересчитыватьСкидку"); ЕстьРеквизитПроцентАвтоматическихСкидок = Ложь; Пока Выборка.Следующий() Цикл СтрокаТабличнойЧасти = Объект.Услуги.Добавить(); СтрокаТабличнойЧасти.Номенклатура = Выборка.Номенклатура; СтрокаТабличнойЧасти.Содержание = Выборка.Содержание; СтрокаТабличнойЧасти.Количество = Выборка.Количество; СтрокаТабличнойЧасти.СтавкаНДС = Выборка.СтавкаНДС; // Т.к. в Реализации могла быть скидка. то цену рассчитываем от суммы СтрокаТабличнойЧасти.Сумма = Выборка.Сумма; // Пересчитаем сумму в валюту документа (может отличаться от валюты основания). Сумма = МодульВалютногоУчета.ПересчитатьИзВалютыВВалюту(СтрокаТабличнойЧасти.Сумма, Выборка.ВалютаДокумента, Объект.ВалютаДокумента, Выборка.КурсДокумента, Курс, Выборка.КратностьДокумента, Кратность); СтрокаТабличнойЧасти.Сумма = Ценообразование.ПересчитатьЦенуПриИзмененииФлаговНалогов(Сумма, Перечисления.СпособыЗаполненияЦен.ПоЦенамНоменклатуры, Выборка.УчитыватьНДС И Выборка.СуммаВключаетНДС, Объект.УчитыватьНДС, Объект.СуммаВключаетНДС, УчетНДС.ПолучитьСтавкуНДС(СтрокаТабличнойЧасти.СтавкаНДС)); ОбработкаТабличныхЧастей.ПриИзмененииСуммыТабЧасти(СтрокаТабличнойЧасти, ЭтотОбъект, ТекПользователь,,ЕстьРеквизитПроцентСкидкиНаценки,ПересчитыватьСкидку,ЕстьРеквизитПроцентАвтоматическихСкидок,"Услуги"); ОбработкаТабличныхЧастей.РассчитатьСуммуНДСТабЧасти(СтрокаТабличнойЧасти, ЭтотОбъект); СтрокаТабличнойЧасти.ОтражениеВУСН = Перечисления.ОтражениеВУСН.Принимаются; СтрокаТабличнойЧасти.СтатьяЗатрат = СтрокаТабличнойЧасти.Номенклатура.СтатьяЗатрат; СтрокаТабличнойЧасти.НоменклатурнаяГруппа = СтрокаТабличнойЧасти.Номенклатура.НоменклатурнаяГруппаЗатрат; ЗаполнитьСчетаУчетаВСтрокеТабЧастиРегл(СтрокаТабличнойЧасти, "Услуги", Объект.ОтражатьВБухгалтерскомУчете, Объект.ОтражатьВНалоговомУчете); КонецЦикла; КонецПроцедуры Процедура ЗаполнитьВозвратнуюТаруПоОснованиюРеализация(Основание) Экспорт Запрос = Новый Запрос; Запрос.УстановитьПараметр("ДокументОснование",Основание); Запрос.Текст = "ВЫБРАТЬ | Док.Ссылка.ДоговорКонтрагента.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов, | Док.Ссылка.КурсВзаиморасчетов, | Док.Ссылка.КратностьВзаиморасчетов, | Док.Номенклатура, | Док.Количество, | Док.Цена |ИЗ | Документ.РеализацияТоваровУслуг.ВозвратнаяТара КАК Док |ГДЕ | Док.Ссылка = &ДокументОснование |"; РезультатЗапроса = Запрос.Выполнить(); Выборка = РезультатЗапроса.Выбрать(); Пока Выборка.Следующий() Цикл СтрокаВозвратнойТары = Объект.ВозвратнаяТара.Добавить(); СтрокаВозвратнойТары.Номенклатура = Выборка.Номенклатура; СтрокаВозвратнойТары.Количество = Выборка.Количество; СтрокаВозвратнойТары.Цена = Выборка.Цена; // Пересчитаем цену в валюту взаиморасчетов (в документах договоры могут отличаться). Цена = МодульВалютногоУчета.ПересчитатьИзВалютыВВалюту(СтрокаВозвратнойТары.Цена, Выборка.ВалютаВзаиморасчетов, Объект.ДоговорКонтрагента.ВалютаВзаиморасчетов, Выборка.КурсВзаиморасчетов, Объект.КурсВзаиморасчетов, Выборка.КратностьВзаиморасчетов, Объект.КратностьВзаиморасчетов); ОбработкаТабличныхЧастей.РассчитатьСуммуВозвратнойТарыТабЧасти(СтрокаВозвратнойТары, Объект); КонецЦикла; КонецПроцедуры Процедура ЗаполнитьСчетаУчетаВСтрокеТабЧастиРегл(СтрокаТЧ, ИмяТабЧасти, ЗаполнятьБУ, ЗаполнятьНУ) Экспорт Если ИмяТабЧасти = "ОбъектыСтроительства" Тогда ЗаполнитьСчетаУчетаВСтрокеТабЧастиОбъектовСтроительства(СтрокаТЧ, ЗаполнятьБУ, ЗаполнятьНУ); Иначе СчетаУчетаВДокументах.ЗаполнитьСчетаУчетаТабличнойЧасти(ИмяТабЧасти, СтрокаТЧ, ЭтотОбъект, ЗаполнятьБУ, ЗаполнятьНУ); КонецЕсли; КонецПроцедуры Процедура ЗаполнитьСчетаУчетаВСтрокеТабЧастиОбъектовСтроительства(СтрокаТабЧасти, ЗаполнятьБУ, ЗаполнятьНУ) Экспорт СчетаУчета = УправлениеВнеоборотнымиАктивами.ПолучитьСчетаУчетаОбъектовСтроительства(Объект.Организация, СтрокаТабЧасти.ОбъектСтроительства); Если ЗаполнятьБУ = Истина Тогда СтрокаТабЧасти.СчетУчетаБУ = СчетаУчета.СчетУчетаБУ; СтрокаТабЧасти.СчетУчетаНДС = СчетаУчета.СчетУчетаНДС; ИначеЕсли ЗаполнятьБУ = Ложь Тогда СтрокаТабЧасти.СчетУчетаБУ = ПланыСчетов.Хозрасчетный.ПустаяСсылка(); СтрокаТабЧасти.СчетУчетаНДС = ПланыСчетов.Хозрасчетный.ПустаяСсылка(); КонецЕсли; Если ЗаполнятьНУ = Истина Тогда СтрокаТабЧасти.СчетУчетаНУ = БухгалтерскийУчет.ПреобразоватьСчетаБУвСчетНУ(Новый Структура("СчетБУ", СтрокаТабЧасти.СчетУчетаБУ)); ИначеЕсли ЗаполнятьНУ = Ложь Тогда СтрокаТабЧасти.СчетУчетаНУ = ПланыСчетов.Налоговый.ПустаяСсылка(); КонецЕсли; КонецПроцедуры мСтруктураПараметровДляПолученияДоговора = ЗаполнениеДокументов.ПолучитьСтруктуруПараметровДляПолученияДоговораПокупки(); |
|||
65
Singenor
23.03.12
✎
16:39
|
все равно выдает ошибку
Заполнение ТЧ не произведено! Поле объекта не обнаружено (РеализацияТоваровУслуг) |
|||
66
Singenor
23.03.12
✎
17:36
|
Значение не является значением объектного типа (ВалютаДокумента)
Если ДокументОбъект.ВалютаДокумента = ВалютаРегламентированногоУчета ИЛИ ДокументОбъект.ВалютаДокумента.Пустая() Тогда как исправить? |
|||
67
Singenor
23.03.12
✎
17:50
|
ап
|
|||
68
Singenor
23.03.12
✎
18:04
|
помогите, не много осталось)
|
|||
69
DEVIce
23.03.12
✎
18:25
|
(68). Ну так сделай раз немного - халявщик хренов.
|
|||
70
DEVIce
23.03.12
✎
18:26
|
Я тебе к завтрашнему вечеру готов дать обработку уже готовую, под твою задачу полность, ты на ней посмотришь ка чего сделано, чего не понятно тут спросишь (в этой ветке), я прокомментирую. Но стоить это тебе будет 2т.р.
|
|||
71
DEVIce
23.03.12
✎
18:27
|
Причем по предоплате, зато сразу для УПП. :)
|
|||
72
Singenor
23.03.12
✎
18:29
|
(71) чел, ты совсем тупой?
|
|||
73
DEVIce
23.03.12
✎
18:30
|
(72). Ага, тупой я, но простейшую задачу сделать не можешь ты. Кстати, стоимость решения возрасла до 4т.р.
|
|||
74
DEVIce
23.03.12
✎
18:31
|
Причем я же не просто решение предлагаю, а с подроббными комментариями чего и почему, и зачем надо, чтобы ты потом сам мог без посторонней помощи сделать - решать тебе.
|
|||
75
DEVIce
23.03.12
✎
18:32
|
И я так понимаю тебя только предоплата не устаивает? :)
|
|||
76
Singenor
23.03.12
✎
18:43
|
(74) не знаю кому ты будешь продавать готовое решение, но я его сделаю, и не с твоей помощью так сам, через пару дней.
|
|||
77
Mikeware
23.03.12
✎
18:47
|
(76) Ну так делай. Какие проблемы?
делай, а не проси решение. Не получается - спрашивай трудные места - только будь добр, показывай, что ты что-то сделал. Тогда помогут. Если нихрена не слелал, а хочешь помощи - получишь стеб. Жесткий. "Это мизда, деточка..."© |
|||
78
DEVIce
23.03.12
✎
19:00
|
(77). Я ему это еще в посте (16) предложил - но или не читает, или привык как в универе что за него ботан все делает, а тут вдруг ботаны готовы решения только за бабло дать - обнаглели совсем. :)
|
|||
79
Singenor
25.03.12
✎
12:16
|
вы че тупите, я же спрашиваю как избавиться от ошибок, не прося у вас написания кода, не?
|
|||
80
Singenor
25.03.12
✎
12:16
|
(66) ошибка
|
|||
81
Мимохожий Однако
25.03.12
✎
13:05
|
Встань отладчиком на ошибку и посмотри больной объект (переменную)
|
|||
82
FIXXXL
25.03.12
✎
17:41
|
(0) в документе Реализации кнопка Изменить над ТЧ есть?
|
|||
83
MRAK
25.03.12
✎
20:57
|
веселая ветка)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |