Имя: Пароль:
1C
 
Как создать в проводке условие?
,
0 VID1234
 
27.11.21
13:40
Здравствуйте. Подскажите пожалуйста, есть проводка Начисление амортизации, у меня КЭК заполняется с помощью функции общего модуля (БухгалтерскиеОпреации.КЭК(.....................) - что-то в этом роде), мне нужно написать условие:
ВЫБОР
КОГДА Проводка.СчетДт = "106.6И"
ТОГДА
Проводка.КЭК = 271
ИНАЧЕ
БухгалтерскиеОпреации.КЭК(.....................)
КОНЕЦ
Когда пишу так, пишет ошибку не может быть объектного типа (Количество)
Через функции, не заполняет, как буд-то бы игнорирует все, пишет КЭК 340 по умолчанию!
1 ДенисЧ
 
27.11.21
13:46
Мда... Тут у нас в деревне вакансия дворника освободилась. Интересует? Работа на воздухе, с людьми...
2 MyNick
 
27.11.21
13:51
(0) Прикольная конструкция, тоже хочу такими владеть.
3 pechkin
 
27.11.21
14:00
(2) в скд можно
4 timurhv
 
27.11.21
14:15
(0)
1. КЭК есть по Кт и Дт
2. СчетДт - ссылочный тип, а не строковый
3. ИНАЧЕ БухгалтерскиеОпреации.КЭК(...) - Что это? Кому это присваивается? Справочник "Проводки типовой операции"? Тогда условие "Проводка.КЭК" - неверное

Есть типовые конструкции:
БухгалтерскиеОперации.ПолучитьПараметрыАмортизацииОС(СтрокаТаблицы.ОсновноеСредство, Документ.Ссылка, "КЭКЗатрат")
5 timurhv
 
27.11.21
14:16
(2) в БГУ используется СКД для формирования проводок и можно менять условия. В ERP, вроде, похожее используется, но без редактирования.
6 ДенисЧ
 
27.11.21
15:23
"КОГДА Проводка.СчетДт = "106.6И""
Вот это ооооочень интересное условие... В какой конфигурации 1с счета являются строками?
7 hhhh
 
27.11.21
18:45
да это не код у него. Он просто своими словами описал задачу, что нужно сделать.
8 VID1234
 
27.11.21
19:34
(7) В точку, просто конфа не при мне, поэтому написал на вскидку
9 VID1234
 
27.11.21
19:36
(4) КЭК по Дт
БухгалтерскиеОпреации.КЭК(...) - это функция общего модуля, к ней вопросов нет, она в типовой есть и я ее хочу оставить после ИНАЧЕ, мне нужно прямо присвоить КЭК Дт, когда Счет Дт 106И.
Делать это нужно в настройке типовой операции!
10 Йохохо
 
27.11.21
19:39
(9) в запросе доступ к параметрам запроса через амперсанд
11 hhhh
 
27.11.21
19:58
(9) так и написано Опреации ?? что-то чудно.
12 timurhv
 
27.11.21
20:12
ВЫБОР
    КОГДА Проводка.СчетДт = БухгалтерскиеОперации.СчетПоКоду("106.6И")
        ТОГДА БухгалтерскиеОперации.КЭКПоКоду("271")
    ИНАЧЕ // вставить типовое условие в поле
КОНЕЦ
13 VID1234
 
28.11.21
14:04
(11) Ну это я писал, так написал просто. Понятно же что операции
14 VID1234
 
28.11.21
14:04
(12) Спасибо. Попробую. Не помню так я пробовал или нет!
15 timurhv
 
28.11.21
14:21
(14) если стоит условие в поле СчетДт (выбор когда или обращение к функции), то это условие надо добавить в выборку когда
16 ads55
 
29.11.21
05:28
(0) "КОГДА Проводка.СчетДт = "106.6И"" - это ещё не основное средство, а капитальные вложения и на них априори не может амортизация начисляться :)
17 VID1234
 
29.11.21
10:05
(15) Сделал как Вы написали выше, не помогло: как КЭК 340 был, так и остался!
ВЫБОР
    КОГДА Проводка.СчетДт = БухгалтерскиеОперации.СчетПоКоду("106.6И")
        ТОГДА БухгалтерскиеОперации.КЭКПоКоду("271")
    ИНАЧЕ
    БухгалтерскиеОперации.ПолучитьПараметрыАмортизацииОС(СтрокаТаблицы.ОсновноеСредство, Документ.Ссылка, "КЭКЗатрат")

КОНЕЦ
18 VID1234
 
29.11.21
10:21
(15) А не все получилось, спасибо
ВЫБОР
    КОГДА БухгалтерскиеОперации.СчетВИерархии(Проводка.СчетДт, "106.3И")
        ТОГДА БухгалтерскиеОперации.КЭКПоКоду("271")
ИНАЧЕ БухгалтерскиеОперации.ПолучитьПараметрыАмортизацииОС(СтрокаТаблицы.ОсновноеСредство, Документ.Ссылка, "КЭКЗатрат")
КОНЕЦ