|
При программном заполнениии документа ОперацияБух в бп 3.0 не списывает остатки | ☑ | ||
---|---|---|---|---|
0
ШурикОвёрт
22.12.21
✎
14:56
|
в бп 3.0 1с 8.3, программно через внешнюю обработку заполняю документ ОперацияБух, всё заполняется хорошо, но при записи не списываюся(не изменяются)
остатки. Что я ещё не предусмотрел значения остатков беру из остатков регистра бухгалтерии. заполняю аналогично этому коду &НаКлиенте Процедура ОК(Команда) ФормаДокумента = ПолучитьФорму("Документ.ОперацияБух.ФормаОбъекта"); Для сч =1 по 9 Цикл НоваяСтрока = ФормаДокумента.ХозрасчетныйНаборЗаписей.Добавить(); НоваяСтрока.СчетДт = ПолучитьСчетПоКоду("10.0" + сч); ОбработатьИзменениеСчета(ФормаДокумента, "Дт", НоваяСтрока); КонецЦикла; ФормаДокумента.Открыть(); КонецПроцедуры &НаКлиентеНаСервереБезКонтекста Процедура ОбработатьИзменениеСчета(Форма, ДтКт, СтрокаТаблицы) ПоляФормы = Новый Структура("Субконто1,Субконто2,Субконто3"); ПоляФормы.Субконто1 = "ХозрасчетныйСубконто" + ДтКт + "1"; ПоляФормы.Субконто2 = "ХозрасчетныйСубконто" + ДтКт + "2"; ПоляФормы.Субконто3 = "ХозрасчетныйСубконто" + ДтКт + "3"; БухгалтерскийУчетКлиентСервер.ПриВыбореСчета(СтрокаТаблицы["Счет" + ДтКт], Форма, ПоляФормы, Неопределено, Истина, Ложь); ПоляОбъекта = Новый Структура("Субконто1,Субконто2,Субконто3,Подразделение,Валютный,Количественный,Организация"); ПоляОбъекта.Субконто1 = "Субконто" + ДтКт + "1"; ПоляОбъекта.Субконто2 = "Субконто" + ДтКт + "2"; ПоляОбъекта.Субконто3 = "Субконто" + ДтКт + "3"; ПоляОбъекта.Подразделение = "Подразделение" + ДтКт; ПоляОбъекта.Валютный = "Валютный" + ДтКт; ПоляОбъекта.Количественный = "Количественный" + ДтКт; ПоляОбъекта.Организация = Форма.Объект.Организация; БухгалтерскийУчетКлиентСервер.ПриИзмененииСчета(СтрокаТаблицы["Счет" + ДтКт], СтрокаТаблицы, ПоляОбъекта, Истина, , Ложь); КонецПроцедуры &НаСервере Функция ПолучитьСчетПоКоду(КодСчета) Возврат ПланыСчетов.Хозрасчетный.НайтиПоКоду(КодСчета); КонецФункции |
|||
1
Мультук
гуру
22.12.21
✎
15:05
|
(0)
1) Не пойму зачем формировать бух.операцию через форму. Честно. 2) Где заполняются поля "Количество" и "Сумма" 3) Я конечно извиняюсь, а где заполнение НоваяСтрока.СчетКт ? Для сч =1 по 9 Цикл НоваяСтрока = ФормаДокумента.ХозрасчетныйНаборЗаписей.Добавить(); НоваяСтрока.СчетДт = ПолучитьСчетПоКоду("10.0" + сч); ОбработатьИзменениеСчета(ФормаДокумента, "Дт", НоваяСтрока); КонецЦикла; |
|||
2
ШурикОвёрт
22.12.21
✎
15:09
|
(1) я же пишу на подобии этого заполняю, значение по ДтКт заполняются "визуально"корректно
|
|||
3
Dmitrii
гуру
22.12.21
✎
15:10
|
(0) >> всё заполняется хорошо.
Ты врешь. Или код не весь привёл. А код твой - вообще феерическая бредятина. |
|||
4
ШурикОвёрт
22.12.21
✎
15:10
|
(3) 1 сек сейчас всё запулю
|
|||
5
Dmitrii
гуру
22.12.21
✎
15:11
|
(2) >> на подобии этого заполняю.
Ну значит и остатки у тебя списываются так же - на подобии. |
|||
6
ШурикОвёрт
22.12.21
✎
15:12
|
+code
&НаКлиенте Процедура Получить(Команда) Если ЗначениеЗаполнено(Дата) Тогда ВладелецФорма = ВладелецФормы.ЭтаФорма; ЗаполнитьТЗОстаткмиСчета(Дата); Счет = ПолучитьСчетПоКоду("ГТД"); Для Каждого Строка Из ПрочитанныеДанные Цикл НоваяСтрокаХозрасчетный = ВладелецФорма.ХозрасчетныйНаборЗаписей.Добавить(); ДтКт = Строка.ДтКт; НоваяСтрокаХозрасчетный["Счет" + ДтКт] = Счет; НоваяСтрокаХозрасчетный["Количество" + ДтКт] = Строка.Количество; НоваяСтрокаХозрасчетный["Субконто" + ДтКт+1] = Строка.Номенклатура; НоваяСтрокаХозрасчетный["Субконто" + ДтКт+2] = Строка.НомерГТД; НоваяСтрокаХозрасчетный["Субконто" + ДтКт+3] = Строка.Страна; ОбработатьИзменениеСчета(ВладелецФормы, ДтКт, НоваяСтрокаХозрасчетный); КонецЦикла; Иначе Сообщить("Выберите Дату"); КонецЕсли; ЭтаФорма.Закрыть(); КонецПроцедуры &НаКлиентеНаСервереБезКонтекста Процедура ОбработатьИзменениеСчета(Форма, ДтКт, СтрокаТаблицы) ПоляФормы = Новый Структура("Субконто1,Субконто2,Субконто3"); ПоляФормы.Субконто1 = "ХозрасчетныйСубконто" + ДтКт + "1"; ПоляФормы.Субконто2 = "ХозрасчетныйСубконто" + ДтКт + "2"; ПоляФормы.Субконто3 = "ХозрасчетныйСубконто" + ДтКт + "3"; БухгалтерскийУчетКлиентСервер.ПриВыбореСчета(СтрокаТаблицы["Счет" + ДтКт], Форма, ПоляФормы, Неопределено, Истина, Ложь); ПоляОбъекта = Новый Структура("Субконто1,Субконто2,Субконто3,Подразделение,Валютный,Количественный,Организация"); ПоляОбъекта.Субконто1 = "Субконто" + ДтКт + "1"; ПоляОбъекта.Субконто2 = "Субконто" + ДтКт + "2"; ПоляОбъекта.Субконто3 = "Субконто" + ДтКт + "3"; ПоляОбъекта.Подразделение = "Подразделение" + ДтКт; ПоляОбъекта.Валютный = "Валютный" + ДтКт; ПоляОбъекта.Количественный = "Количественный" + ДтКт; ПоляОбъекта.Организация = Форма.Объект.Организация; БухгалтерскийУчетКлиентСервер.ПриИзмененииСчета(СтрокаТаблицы["Счет" + ДтКт], СтрокаТаблицы, ПоляОбъекта, Истина, , Ложь); КонецПроцедуры &НаСервере Функция ПолучитьСчетПоКоду(КодСчета) Возврат ПланыСчетов.Хозрасчетный.НайтиПоКоду(КодСчета); КонецФункции// ПолучитьСчетПоКоду() //НомерГТД записанный из файла в ТЧ &НаСервере Процедура ЗаполнитьТЗОстаткмиСчета(Дата) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ХозрасчетныйОстатки.Субконто1 КАК Номенклатура, | ХозрасчетныйОстатки.Субконто2 КАК НомерГТД, | ХозрасчетныйОстатки.Субконто3 КАК Страна, | ХозрасчетныйОстатки.КоличествоОстатокДт КАК Количество |ИЗ | РегистрБухгалтерии.Хозрасчетный.Остатки(&Дата, Счет = &Счет, , ) КАК ХозрасчетныйОстатки"; Запрос.УстановитьПараметр("Дата", Дата); Запрос.УстановитьПараметр("Счет", ПолучитьСчетПоКоду("ГТД")); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл НоваяСтрока = ПрочитанныеДанные.Добавить(); Если Выборка.Количество > 0 Тогда НоваяСтрока.ДтКт = "Кт"; ИначеЕсли Выборка.Количество < 0 Тогда НоваяСтрока.ДтКт = "Дт"; КонецЕсли; НоваяСтрока.Количество = Sqrt(Pow(Выборка.Количество,2)); НоваяСтрока.НомерГТД = Выборка.НомерГТД; НоваяСтрока.Страна = Выборка.Страна; НоваяСтрока.Номенклатура = Выборка.Номенклатура; КонецЦикла; КонецПроцедуры |
|||
7
ШурикОвёрт
22.12.21
✎
15:12
|
(5) отправил сообщением (6)
|
|||
8
ШурикОвёрт
22.12.21
✎
15:14
|
(5) я долго парился чего незаписывались данные, и нашёл отрывок который привёл выше, и засунул в свой код, мб что-то подкорректировать нужно в том коде под меня?
|
|||
9
Мультук
гуру
22.12.21
✎
15:15
|
(6)
Я считаю вот здесь ошибка, однозначно НоваяСтрока.Количество = Sqrt(Pow(Выборка.Количество,2)); P.S. Опять где-то горят торфяники? Хотя нет - зима. |
|||
10
ШурикОвёрт
22.12.21
✎
15:16
|
(9) так тут я просто убираю отрицательное значение и всё, так что нет
|
|||
11
Ненавижу 1С
гуру
22.12.21
✎
15:17
|
(10) Это теперь так модно вычислять модуль числа?
|
|||
12
Масянька
22.12.21
✎
15:18
|
Активность?
|
|||
13
ШурикОвёрт
22.12.21
✎
15:19
|
(12) если после обновления документа зайти в "ещё" табличной части и нажать включить активность движений, то тогда всё работает
|
|||
14
ШурикОвёрт
22.12.21
✎
15:20
|
(12) программно я нашёл где значение меняется и просто выставил его в Истина, но всё равно не изменяет значения в регистре
|
|||
15
ШурикОвёрт
22.12.21
✎
15:21
|
(11) по западным тенденциям=)
|
|||
16
ДенисЧ
22.12.21
✎
15:21
|
(9) Да там не торфяники горят...
|
|||
17
ШурикОвёрт
22.12.21
✎
15:28
|
ладно бы если оно вообще не записывало значения в регистр, так при включении активности движений оно же записывает, значит оно просто где меняет "значение для записи", или не верно понимаю исправьте пож
|
|||
18
Масянька
22.12.21
✎
15:33
|
(17) Ищи и читай про док-т "Операция (бухгалтерский и налоговый учет)". Он очень прилично отличается от остальных док-ов.
PS "Значение для записи" - такого нет. Есть "Активность". |
|||
19
Мультук
гуру
22.12.21
✎
15:46
|
(17)
А можно скриншот формы операции ? P.S. Он просто один и тот же счет сует и в дебет и в кредит :-( |
|||
20
ШурикОвёрт
22.12.21
✎
15:52
|
(19) да, я вывожу счет в 0, отцательные остатки добавляю, положительные списываю
|
|||
21
piter3
22.12.21
✎
15:53
|
а не проще инвентаризацию заполнить,тч и ввести на основании
|
|||
22
ШурикОвёрт
22.12.21
✎
15:53
|
(19) крч я врое понял что я незаполнил , на каждое поля нужно добавить активность и док и тд сейчас поробую
|
|||
23
Мультук
гуру
22.12.21
✎
15:53
|
(20)
А можно скриншот формы операции ? |
|||
24
ШурикОвёрт
22.12.21
✎
15:54
|
(21) я джун простой, что сказали то делаю
|
|||
25
Мультук
гуру
22.12.21
✎
15:57
|
Там забалансовый счет...
P.S. А я чего-то уже и забыл как списывать с забаланса. Старость не радость (с) |
|||
26
Масянька
22.12.21
✎
15:59
|
(19) Но при установке активности пишет. Же. И в коде нет ни слова про активность.
|
|||
27
Мультук
гуру
22.12.21
✎
16:01
|
(26)
За такой код нужно откручивать руки прямо по ноги. Особенно, если он вдруг заработает |
|||
28
Масянька
22.12.21
✎
16:01
|
(27) Я бы просто прострелила коленки... Обе... Разрывными...
|
|||
29
ШурикОвёрт
22.12.21
✎
16:16
|
(26) код с активностью удалил, я просто значение на истина ставил после загрузки данных в тч, перед закрытием формы
P.S. Во юмористы собрались, я смотрю когда устроились только на работу сразу были со знаниями в... |
|||
30
ШурикОвёрт
22.12.21
✎
16:18
|
(18) читаю сижу сенк
|
|||
31
МихаилМ
22.12.21
✎
16:26
|
спасибо создателям форума за ф-цию cloak
cloak('ШурикОвёрт'); и темы дегенерата ШурикОвёрт я больше не увижу. |
|||
32
ШурикОвёрт
22.12.21
✎
16:27
|
(28) спасибо, прочитал исправил, всё работает
|
|||
33
ШурикОвёрт
22.12.21
✎
16:27
|
(31) ну т.к. а что мне тут высказывают и я высказал или глаз колит?
|
|||
34
ШурикОвёрт
22.12.21
✎
16:29
|
(31) удачи)))))
|
|||
35
Масянька
22.12.21
✎
16:37
|
(29) Юмористы...
Да, у многих присутствующих специфическое чувство юмора. Но у нашего правительства оно (чувство юмора) еще специфичнее - ничего, терпишь... Не скажу за всех, но я (лично) через две недели (!!!) работы во франче (начало моего знакомства) сидела по ночам за мат. частью (основы бух. учета, автора не помню) - не понимала многих вещей. А когда впервые столкнулась с операцией бух - прилично подолбилась прежде, чем что-то заработало. И очень со многим (в эске) так (изобретение лисапеда все-таки сказывается). Твое дело (с учетом присутствия на форуме) - слушать. И стараться не поддаваться не подколки. Тебе тоже - удачи. |
|||
36
Dmitrii
гуру
22.12.21
✎
17:33
|
(33) >> или глаз колит?
Щеголяешь своим фееричным *авнокодом и спрашиваешь не колет ли глаз? Да от такого не то что колет... кровавые слёзы текут и навязчивая мысль - как бы такое развидеть. |
|||
37
dekorn
22.12.21
✎
19:37
|
Хозрасчетный.Остатки(&Дата
получает остатки на начало &Дата, добавь туда секунду, будет тебе счастье |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |