![]() |
![]() |
![]() |
|
Как програмно заполнить строку с типом план счетов? | ☑ | ||
---|---|---|---|---|
0
Aikny
naïve
28.08.25
✎
18:53
|
Доброго времени суток,
Перекопал пол интернета с вопросом, как програмно заполнить строку с типом план счетов, но так и нечего не нашел. Мне нужно чтобы при программной создании реализации он тч так же указывал два предопределенных поля счет доходов/расходов. Строка.СчетДоходов = ПланСчетов.Хозрасчетный.НайтиПоКоду("90.01.1"); Строка.СчетРасходов = ПланСчетов.Хозрасчетный.НайтиПоКоду("90.02.1"); Заранее спасибо за помощь! |
|||
1
Волшебник
28.08.25
✎
19:02
|
Ваш код правильный.
Может Строка не строка? Может счёт по коду не находится? |
|||
2
Aikny
naïve
28.08.25
✎
19:04
|
(1) Да нет вроде перепроверил трижды это строка табличной части услуги. Да и если б это даже была не строка он бы не выдавал ошибку
|
|||
3
Aikny
naïve
28.08.25
✎
19:04
|
{Octosmart_КорпоративныеСервисы Документ.Octosmart_РаботыПоКлиентам.Форма.ФормаДокумента.Форма(177,30)}: Переменная не определена (ПланСчетов)
СтрокаТЧ.СчетДоходов = <<?>>ПланСчетов.Хозрасчетный.НайтиПоКоду("90.01.1"); (Проверка: Сервер) {Octosmart_КорпоративныеСервисы Документ.Octosmart_РаботыПоКлиентам.Форма.ФормаДокумента.Форма(178,31)}: Переменная не определена (ПланСчетов) СтрокаТЧ.СчетРасходов = <<?>>ПланСчетов.Хозрасчетный.НайтиПоКоду("90.02.1"); (Проверка: Сервер) {Octosmart_КорпоративныеСервисы Документ.Octosmart_РаботыПоКлиентам.Форма.ФормаДокумента.Форма(177,30)}: Переменная не определена (ПланСчетов) СтрокаТЧ.СчетДоходов = <<?>>ПланСчетов.Хозрасчетный.НайтиПоКоду("90.01.1"); (Проверка: Мобильное приложение-сервер) {Octosmart_КорпоративныеСервисы Документ.Octosmart_РаботыПоКлиентам.Форма.ФормаДокумента.Форма(178,31)}: Переменная не определена (ПланСчетов) СтрокаТЧ.СчетРасходов = <<?>>ПланСчетов.Хозрасчетный.НайтиПоКоду("90.02.1"); (Проверка: Мобильное приложение-сервер) |
|||
4
Волшебник
28.08.25
✎
19:06
|
(3) ПланыСчетов
|
|||
5
Aikny
naïve
28.08.25
✎
19:07
|
{Octosmart_КорпоративныеСервисы Документ.Octosmart_РаботыПоКлиентам.Форма.ФормаДокумента.Форма(177,30)}: Переменная не определена (ПланыСчетов)
СтрокаТЧ.СчетДоходов = <<?>>ПланыСчетов.Хозрасчетный.НайтиПоКоду("90.01.1"); (Проверка: Мобильное приложение-сервер) {Octosmart_КорпоративныеСервисы Документ.Octosmart_РаботыПоКлиентам.Форма.ФормаДокумента.Форма(178,31)}: Переменная не определена (ПланыСчетов) СтрокаТЧ.СчетРасходов = <<?>>ПланыСчетов.Хозрасчетный.НайтиПоКоду("90.02.1"); (Проверка: Мобильное приложение-сервер) |
|||
6
Волшебник
28.08.25
✎
19:10
|
Выполняйте код в контексте сервера
|
|||
7
Aikny
naïve
28.08.25
✎
19:13
|
Процедура выполняется на сервере
|
|||
8
Волшебник
28.08.25
✎
19:14
|
(7) сказки
|
|||
9
Aikny
naïve
28.08.25
✎
19:15
|
&НаСервере
Процедура СоздатьРеализацииПоКлиентам() Если Объект.АктыСформированны = Ложь Тогда ВыборкаКлиентов = Справочники.Octosmart_Клиенты.Выбрать(); Пока ВыборкаКлиентов.Следующий() Цикл Если Не ЗначениеЗаполнено(ВыборкаКлиентов.ТарифныйПлан) Тогда Продолжить; КонецЕсли; КодСтрока = ВыборкаКлиентов.ТарифныйПлан.Код; ПланЧисло = Число(КодСтрока); Если (ПланЧисло = 1) Или (ПланЧисло = 2) Тогда Запрос = Новый Запрос( "ВЫБРАТЬ | Сравнения.Клиент КАК Клиент, | Сравнения.Контрагент КАК Контрагент, | Сравнения.Организация КАК Организация |ИЗ | Справочник.Octosmart_СравнениеКлиентовИКонтрагентов КАК Сравнения |ГДЕ | Сравнения.Клиент = &Клиент"); Запрос.УстановитьПараметр("Клиент", ВыборкаКлиентов.Ссылка); Результат = Запрос.Выполнить().Выбрать(); Пока Результат.Следующий() Цикл Запрос1 = Новый Запрос; Запрос1.Текст = "ВЫБРАТЬ | СУММА((ЦЕЛ((Заявки.ДлительностьФакт + 14) / 15) * 15 / 60) * Заявки.СтоимостьВЧас) КАК Сумма |ИЗ | Документ.Octosmart_Заявки.ЖурналРабот КАК Заявки |ЛЕВОЕ СОЕДИНЕНИЕ | Справочник.Octosmart_ПользователиSD КАК СпрИнженер |ПО | Заявки.Инженер = СпрИнженер.Ссылка |ЛЕВОЕ СОЕДИНЕНИЕ | Документ.Octosmart_ВыставленныеЗаявки КАК ГотЗаявки |ПО | ГотЗаявки.Номер = Заявки.ссылка.Номер |ГДЕ | Заявки.Ссылка.Клиент = &Клиент и СпрИнженер.Отдел = &Отдел и ГотЗаявки.Номер IS NULL | И Заявки.Ссылка.Дата МЕЖДУ &НачалоПериода И &КонецПериода"; Запрос1.УстановитьПараметр("Клиент", Результат.Клиент); Запрос1.УстановитьПараметр("НачалоПериода", Объект.ДатаНачалаПериода); Запрос1.УстановитьПараметр("КонецПериода", Объект.ДатаКонцаПериода); Запрос1.УстановитьПараметр("Отдел", Объект.Отдел); Результат1 = Запрос1.Выполнить().Выбрать(); Если Результат1.Следующий() Тогда Если ЗначениеЗаполнено(Результат1.Сумма) И Результат1.Сумма > 0 Тогда НовыйДок = Документы.РеализацияТоваровУслуг.СоздатьДокумент(); НовыйДок.Дата = Объект.ДатаКонцаПериода; НовыйДок.Организация = Результат.Организация; НовыйДок.Контрагент = Результат.Контрагент; НовыйДок.Склад = Справочники.Склады.НайтиПоКоду("00-000001"); НовыйДок.Комментарий = "Акт о выполненых работах"; НовыйДок.Ответственный = Пользователи.ТекущийПользователь(); СтрокаТЧ = НовыйДок.Услуги.Добавить(); СтрокаТЧ.Номенклатура = Справочники.Номенклатура.НайтиПоКоду("БП-00004507"); СтрокаТЧ.Количество = 1; СтрокаТЧ.Сумма = Результат1.Сумма; СтрокаТЧ.цена = Результат1.Сумма; СтрокаТЧ.СтавкаНДС = Перечисления.СтавкиНДС.БезНДС; СтрокаТЧ.СчетДоходов = ПланыСчетов.Хозрасчетный.НайтиПоКоду("90.01.1"); СтрокаТЧ.СчетРасходов = ПланыСчетов.Хозрасчетный.НайтиПоКоду("90.02.1"); НовыйДок.Записать(); КонецЕсли; КонецЕсли; КонецЦикла; КонецЕсли; КонецЦикла; ЗапросСоздана = Новый Запрос; ЗапросСоздана.Текст = "ВЫБРАТЬ | Заявки.Номер КАК Ссылка |ИЗ | Документ.Octosmart_Заявки КАК Заявки | ЛЕВОЕ СОЕДИНЕНИЕ | Документ.Octosmart_ВыставленныеЗаявки КАК ГотЗаявки | ПО ГотЗаявки.Номер = Заявки.номер |ГДЕ | ГотЗаявки.Номер IS NULL | И Заявки.Ссылка.Дата МЕЖДУ &НачалоПериода И &КонецПериода"; ЗапросСоздана.УстановитьПараметр("НачалоПериода", Объект.ДатаНачалаПериода); ЗапросСоздана.УстановитьПараметр("КонецПериода", Объект.ДатаКонцаПериода); РезультатСоздана = ЗапросСоздана.Выполнить().Выбрать(); Пока РезультатСоздана.Следующий() Цикл Создана = Документы.Octosmart_ВыставленныеЗаявки.СоздатьДокумент(); Создана.Номер = РезультатСоздана.Ссылка; Создана.Дата = ТекущаяДата(); Создана.Начало = Объект.ДатаНачалаПериода; Создана.Конец = Объект.ДатаКонцаПериода; Создана.Записать(); КонецЦикла; КонецЕсли; КонецПроцедуры |
|||
10
Aikny
naïve
28.08.25
✎
19:17
|
Реализация спокойно создается без ошибок, без вот этой 2 строчек кода
СтрокаТЧ.СчетДоходов = ПланыСчетов.Хозрасчетный.НайтиПоКоду("90.01.1"); СтрокаТЧ.СчетРасходов = ПланыСчетов.Хозрасчетный.НайтиПоКоду("90.02.1"); |
|||
12
Timon1405
28.08.25
✎
19:18
|
этих элементов плана счетов "Хозрасчетный" нет в расширении "Octosmart_КорпоративныеСервисы"
|
|||
13
Волшебник
28.08.25
✎
19:19
|
У вас ошибка в контексте
Проверка: Мобильное приложение-сервер) |
|||
14
Aikny
naïve
28.08.25
✎
19:25
|
(12) перенес плана счетов "Хозрасчетный" в расширение, но ничего не поменялось
|
|||
15
Волшебник
28.08.25
✎
19:25
|
(14) в мобильном приложении планов счетов не бывает
|
|||
16
Волшебник
28.08.25
✎
19:26
|
Добавьте директивы препроцессора
#Если Сервер Тогда |
|||
17
Timon1405
28.08.25
✎
19:31
|
(14) нужно сами элементы отдельно добавить в расширение
|
|||
18
Aikny
naïve
28.08.25
✎
19:35
|
Помогло спасибо большое!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |