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

Хранилище

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

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



> Изменение реквизитов при создании документа          
kayfatuch Подменю пользователя
сообщение 01.03.25, 19:23
Сообщение #1

Общительный
**
Группа: Пользователи
Сообщений: 43
Из: Кривой Рог
Спасибо сказали: 2 раз
Рейтинг: 2

Доброго времени суток, для меня всё тажа 1С 7.70.048 Торговля и склад для Украины. Вопрос такого плана стараниями многих довольно неплохо(в меру знаний) научился создавать разного вида документы посредством обработок но всё же нашёл пробел который и побудил задать вопрос: Условно мы создаём к примеру накладную любую, у неё есть графа Тип учёта общ/упр/бух и когда мы создаём документ ручками он выставляется автоматом нужный за счёт обращения к глобальному модулю через глИзмТип(Контекст). но когда создаёшь через обработку по умолчанию ставится упр хотя у меня общ. кто-то сталкивался с таким? как можно явно сказать что бы создавался с нужным мне типом учёта? или это надо в глобальный лезть?

andrew76 Подменю пользователя
сообщение 02.03.25, 7:55
Сообщение #2

Оратор
*****
Группа: Пользователи
Сообщений: 492
Из: Казахстан
Спасибо сказали: 55 раз
Рейтинг: 55

Цитата(kayfatuch @ 01.03.25, 22:23) *
но когда создаёшь через обработку по умолчанию ставится упр хотя у меня общ. кто-то сталкивался с таким? как можно явно сказать что бы создавался с нужным мне типом учёта? или это надо в глобальный лезть?


Посмотрите Процедуру ПриЗаписи() этого документа (накладная в вашем случае).
Скорее всего там будет что-то вроде:
Типучёта=бух;




Спасибо сказали: kayfatuch,

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

Общительный
**
Группа: Пользователи
Сообщений: 43
Из: Кривой Рог
Спасибо сказали: 2 раз
Рейтинг: 2

Цитата(andrew76 @ 02.03.25, 7:55) *
Посмотрите Процедуру ПриЗаписи() этого документа (накладная в вашем случае).
Скорее всего там будет что-то вроде:
Типучёта=бух;


Когда искал по вашей подсказке нашёл решение другого вопроса с формы). А так там ничего подобного нет. Но увы такого пункта нет. Как выглядит оно в обычном документе:
Открывая документ на форме есть пункт со списком у которого прописана функция которая сразу выполняется:
глИзмТип(Контекст)

В глобальном модуле она имеет такой вид:
Процедура глИзмТип(Конт) Экспорт
    Перем ВремФин, УстановитьНомер;

    Конт.ТипУчета=Конт.Тип.ТекущаяСтрока()-1;
    ВремФин =?(Конт.ТипУчета>Упр,1,0);

    // Вопрос о смене номера хочется задавать только при смене фин.учета
    Если Конт.ФинУчет<>ВремФин Тогда
        Конт.ФинУчет =ВремФин;
        // изменили учет (Общ. относится к финучету)
        УстановитьНомер="Да";
        Если Конт.Выбран() = 1 Тогда
            УстановитьНомер=Вопрос("Изменить номер документа?","Да+Нет");
        КонецЕсли;
        Если УстановитьНомер="Да" Тогда
            глУстановитьНомерДок(Конт);
        КонецЕсли;
    КонецЕсли;
КонецПроцедуры

Как я понял открывая документ она делает перепроверку и за счёт этого подставляет нужный тип учёта. Но я же создаю документ через:
Накладная = СоздатьОбъект("Документ.РасходныйКассовый"); 
            Накладная.Новый();

И вот при попытке обратится к этой процедуре она падает в ошибку так как не видит всех параметров. В моём случае ругается что Поле агрегатного объекта не обнаружено (ТипУчета). Вот в этом загвоздка.

kayfatuch Подменю пользователя
сообщение 02.03.25, 16:30
Сообщение #4

Общительный
**
Группа: Пользователи
Сообщений: 43
Из: Кривой Рог
Спасибо сказали: 2 раз
Рейтинг: 2

kayfatuch @ Сегодня, 11:28 * ,
Текс решение было найдено. Причём я так и не понял почему он раньше не работал....
Итоговое решение было:
Накладная.ТипУчета = Общ;

tibank Подменю пользователя
сообщение 02.03.25, 21:35
Сообщение #5

Общительный
**
Группа: Пользователи
Сообщений: 12
Спасибо сказали: 3 раз
Рейтинг: 3

kayfatuch @ Сегодня, 11:28 * ,
Обратите внимание в процедуре глИзмТип(Конт) параметр Конт должен быть Контекстом формы документа(на форме есть поле со списком). Я так понимаю, что код
Накладная = СоздатьОбъект("Документ.РасходныйКассовый"); 
Накладная.Новый();

Вы пишите в какой-то обработке и контекст передаете этой обработки и там, скорее всего, нет поля или переменной ТипУчета, поэтому и вываливается с ошибкой

andrew76 Подменю пользователя
сообщение 03.03.25, 9:12
Сообщение #6

Оратор
*****
Группа: Пользователи
Сообщений: 492
Из: Казахстан
Спасибо сказали: 55 раз
Рейтинг: 55

tibank @ Сегодня, 0:35 * ,

Так он вроде бы сам справился:

Накладная = СоздатьОбъект("Документ.РасходныйКассовый"); 
Накладная.Новый();
Накладная.ТипУчета = Об;


Цитата(kayfatuch @ 02.03.25, 14:28) *
Открывая документ на форме есть пункт со списком у которого прописана функция которая сразу выполняется:


Или создать аналогичный объект,как на форме документа (есть пункт со списком) на форме обработки.

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


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

 

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