Форум программистов, компьютерный форум, киберфорум
1С
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.63/62: Рейтинг темы: голосов - 62, средняя оценка - 4.63
39 / 39 / 4
Регистрация: 20.04.2011
Сообщений: 789
Записей в блоге: 1

Программно создать документ

25.11.2011, 13:52. Показов 12672. Ответов 37
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
доброго времени суток! пишу программу на делфи, которая будет работать с 1с. не могли бы вы помочь мне с кодом 1с который будет формировать документ списаниеТМЦ и для примера заполнение 1 реквизита шапки(остальные по примеру сам сделаю) и ТЧ.

Добавлено через 2 часа 40 минут
есть вот такой код:
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Процедура Сформировать()
Док=СоздатьОбъект("Документ.СписаниеТМЦ");
фирмы=СоздатьОбъект("Справочник.Фирмы");
склад=СоздатьОбъект("Справочник.Склады");
Прод=СоздатьОбъект("Справочник.Номенклатура");
Док.Новый();     
фирмы.НайтиПоКоду("00001");           
склад.НайтиПоКоду("00002"); 
Прод.НайтиПоКоду("2923095");
Док.фирма =фирмы.текущийэлемент();
Док.склад=склад.текущийэлемент(); 
Док.НоваяСтрока();
Док.Номенклатура=Прод.текущийэлемент(); 
Док.Количество=10;
Док.Записать();
КонецПроцедуры
а вот эта строка почему то не выполняется
1C
1
Док.Номенклатура=Прод.текущийэлемент();
в итоге формируется документ вноситься количество,а номеклатура в ТЧ не заносится, товар с таким кодом точно есть подскажите в чем дело?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.11.2011, 13:52
Ответы с готовыми решениями:

Закрыть документ программно в 1С 7.7
Здравствуйте! Вопрос: как программно закрыть открытый документ? 1С 7.7 Комплексная ред. 4.5 (7.70.493) Пишу док.закрыть(),...

Программно перезаписать существующий документ
Всем доброго времени суток. Такая проблема: нужно, чтобы в уже существующем документе производилась определенная проверка, изменялся один...

Открыть программно созданный документ
Написал обработку по вводу платежек и выписки на основании доков на поступление ТМЦ. После записи дока Выписка я хочу, чтобы он...

37
39 / 39 / 4
Регистрация: 20.04.2011
Сообщений: 789
Записей в блоге: 1
28.11.2011, 11:32  [ТС]
Студворк — интернет-сервис помощи студентам
а дата документа тоже прописана в глобальном модуле?
0
 Аватар для duk337
2956 / 1768 / 84
Регистрация: 03.11.2011
Сообщений: 8,280
28.11.2011, 11:41
Цитата Сообщение от deeller Посмотреть сообщение
а дата документа тоже прописана в глобальном модуле?
В глобальнике предусмотрен перехват событий ЗАПИСЬ, ПРОВЕДЕНИЕ, УДАЛЕНИЕ. Но дата по умолчанию ставится системой, если она пустая на момент записи. И номер так же, если стоит "Автонумерация".
0
39 / 39 / 4
Регистрация: 20.04.2011
Сообщений: 789
Записей в блоге: 1
28.11.2011, 14:58  [ТС]
дата не пустая, просто но формируется странно как то у первого документа 12:00:00 у второго 12:00:10 третьего 12:00:20, причем не важно в какое время сформирован документ.

Добавлено через 7 минут
как сделать чтобы время записи/ проведения было текущим?

Добавлено через 56 минут
столкнулся еще с такой проблемой. у документа есть реквизит КодОперации, тип перечисления. КодыОпераций, не получается ему присвоить значение, пишет что "Попытка присвоить значение недоступной для записи переменной (Операция)". что неправильно?

Добавлено через 1 час 53 минуты
вопрос с кодом операции снимается.

Добавлено через 6 минут
вопрос со временем снимается, помогло АвтоВремятекущее
0
39 / 39 / 4
Регистрация: 20.04.2011
Сообщений: 789
Записей в блоге: 1
01.12.2011, 11:21  [ТС]
подскажите как задать автора документа, я так понимаю он берется из справочника пользователи, но как определить текущего пользовател?
0
 Аватар для duk337
2956 / 1768 / 84
Регистрация: 03.11.2011
Сообщений: 8,280
01.12.2011, 11:34
Это от лени, согласись.

ИмяПользователя (UserName)
Синтаксис:

ИмяПользователя()
Возвращаемое значение:

Тип: Строка.
Имя пользователя.
Описание:

Получает имя пользователя, указанного при запуске программы.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
Пример:

ТекущийПользователь = ИмяПользователя();


См. также:

Глобальный контекст, метод ПолноеИмяПользователя

Добавлено через 54 секунды
Причем, понятно, что в справочнике надо найти элемент
0
39 / 39 / 4
Регистрация: 20.04.2011
Сообщений: 789
Записей в блоге: 1
01.12.2011, 11:37  [ТС]
не совсем правильно выразился, функцию ИмяПользователя() я нашел,
но в документ вставить не выходит
пишу вот так:
Code
1
 Док.Автор=Имяпользователя();
и ошибки не выдает и ничего не выводит, слделал проверку через
Code
1
сообщить(Имяпользователя());
выводит имя пользователя, но в реквизите документа ничего не появляется
0
 Аватар для duk337
2956 / 1768 / 84
Регистрация: 03.11.2011
Сообщений: 8,280
01.12.2011, 11:54
Док.Автор какой тип?
Например, Справочники.Пользователи.НайтиПоНаименов анию(ИмяПользователя())
0
39 / 39 / 4
Регистрация: 20.04.2011
Сообщений: 789
Записей в блоге: 1
01.12.2011, 12:21  [ТС]
на самом деле даже не нашел реквизита у документа с типом, в сети прочитал это скрытый атрибут или что-то в этом роде.
Code
1
2
пользователь=СоздатьОбъект("Справочник.Пользователи");
Док.Автор=пользователь.НайтиПоНаименованию(ИмяПользователя());
не работает, такая вот мысль ведь список документов отображается в журнале документов на форме списка, мб там надо делать присвоение?
0
 Аватар для duk337
2956 / 1768 / 84
Регистрация: 03.11.2011
Сообщений: 8,280
01.12.2011, 12:26
Горе от ума называется. Где пользователи в конфе? Что за документ? Предусмотрен там "Автор" или ты его домыслил?
Вот ведь надо пытать как Зою Космодемьянскую
0
39 / 39 / 4
Регистрация: 20.04.2011
Сообщений: 789
Записей в блоге: 1
01.12.2011, 12:28  [ТС]
сори =) документ поступлениеТМЦ, в журнале документов пр просмотре списка документов есть поле автор, при создании документа вручную из 1с, туда заноситься текущий пользователь, необходимопри программном формировании из моей проги чтобы, выполнялось то же самое.
0
 Аватар для duk337
2956 / 1768 / 84
Регистрация: 03.11.2011
Сообщений: 8,280
01.12.2011, 12:33
Дык, Бухгалтерия, Торговля, УПП? ПоступлениеТМЦ - это вряд ли торг
0
39 / 39 / 4
Регистрация: 20.04.2011
Сообщений: 789
Записей в блоге: 1
01.12.2011, 12:36  [ТС]
это конфигурация ККС Магазин

Добавлено через 2 минуты
навеоное проще будет рассказать как в типовой конфигурации, наверное торговля, выглядело бы а я уже буду это интерпретировать для своей..
0
 Аватар для duk337
2956 / 1768 / 84
Регистрация: 03.11.2011
Сообщений: 8,280
01.12.2011, 17:53
В торговле в доке ПоступлениеТоваровУслуг есть поле Ответственный типа СправочникСсылка.Пользователи.
А у Вас?
0
39 / 39 / 4
Регистрация: 20.04.2011
Сообщений: 789
Записей в блоге: 1
02.12.2011, 10:03  [ТС]
нет подобного нету, с таким типом атрибутов вообще нету.
Code
1
2
Автор=Метаданные.ОбщийРеквизитДокумента(1).Идентификатор; 
сообщить(Автор);
выводит как раз поле автор, но присвоить ему значение не удается, пробовал вот так:
Code
1
Док.УстановитьАтрибут(Автор,ИмяПользователя());
Code
1
Док.УстановитьАтрибут("Автор",ИмяПользователя());
Code
1
Док.Автор=ИмяПользователя();
Добавлено через 33 минуты
помог вот такой код:
Code
1
2
3
поль=СоздатьОбъект("Справочник.Пользователи");    
поль.НайтиПоНаименованию(ИмяПользователя(),0);
Док.УстановитьАтрибут("Автор",поль.ТекущийЭлемент());
0
 Аватар для duk337
2956 / 1768 / 84
Регистрация: 03.11.2011
Сообщений: 8,280
02.12.2011, 13:53
Цитата Сообщение от deeller Посмотреть сообщение
нет подобного нету, с таким типом атрибутов вообще нету.
[CODE]
Автор=Метаданные.ОбщийРеквизитДокумента( 1).Идентификатор;
сообщить(Автор);

помог вот такой код:
Code
1
2
3
поль=СоздатьОбъект("Справочник.Пользователи");    
поль.НайтиПоНаименованию(ИмяПользователя(),0);
Док.УстановитьАтрибут("Автор",поль.ТекущийЭлемент());
Итак, что в чёрном ящике.
В этой конфе "Автор" - общий реквизит. Это означает, что он априори во всех доках (система загоняет его в таблицы доков молча). Тип его - Спр.Пользователи
Это пишется всё же так, как и было указано раньше
Док.Автор=Справочники.Пользователи.Найти ПоНаименованию(ИмяПользователя());
Естественно, такой элемент в справочнике должен быть прописан.
Ой! Блин!! Это же 77. Тогда да. СоздатьОбъект()
0
39 / 39 / 4
Регистрация: 20.04.2011
Сообщений: 789
Записей в блоге: 1
02.12.2011, 14:05  [ТС]
для вас это очевидно, скорее всего, но так как я 1с со стороны программирования увидел несколько дней назад, то некоторые моменты копаю долго=)
0
 Аватар для duk337
2956 / 1768 / 84
Регистрация: 03.11.2011
Сообщений: 8,280
02.12.2011, 14:17
Ты быстрокопом можешь и не быть
Но про платформы знать обязан
0
39 / 39 / 4
Регистрация: 20.04.2011
Сообщений: 789
Записей в блоге: 1
02.12.2011, 14:18  [ТС]
по ходу дела разбираюсь..
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.12.2011, 14:18

Программно указать документ-основание в восьмерке
Не подскажете? А то я не нашел в документации. Или может плохо искал?

Программно сохранить документ с программно созданными реквизитами
Помогите кто знает как сохранить в Управляемом приложении (Управляемая Форма) документ с программно созданными реквизитами Тип...

Программно создать документ с заданынм видом операции
Доброго времени суток форумчане! Собственно вопрос: как программно создать документ с заданным видом операции? Делаю так, но...

Программно создать документ на основании другого документа
Здравствуйте. Есть документ "Образец заполнения". Есть внешняя обработка, в которой пользователь выбирает текстовый файл с данными. По...

Провести программно Документ, при изменении реквизита
8,2 Управляемое приложение http://s020.***********/i721/1512/12/f9e01e33dc51.jpg Есть документ, в нем ТабличнаяЧасть...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
38
Ответ Создать тему
Новые блоги и статьи
Генератор паролей
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе. Самым главным критерием для меня было создание паролей, в котором отсутствуют знаки: | 1 l I Обработка содержит реквизиты: -. . .
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store. И так: 1. Скачиваем с. . .
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Реализация из решения ниже выполнена в самописной конфигурации на БСП (помощь начинающему коллеге). Задача: Программно добавить префикс в нумерацию документов. Решение: В модуле объекта. . .
После закрытия оутлука продолжает висеть процесс в диспетчере задач
Maks 27.10.2026
С недавнего времени в продакшене возникла проблема: при закрытии оутлука в диспетчере задач продолжал висеть процесс outlook. exe. Проблема возникла после установки MS Office 2021 LTSC на машинах, под. . .
Baragoz - DPS/HPS бот для WoW 3.3.5a, многоязычный
AmbA 26.10.2026
Хотите ещё ботов? У меня есть один! А я пока отдохну от него. https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=12062&stc=1&d=1793007952 Инструкция внутри. https:/ / youtu. be/ VpfFZSUDGnQ. . .
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности. Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru