Козлов Илья | Директор по ИТ | ООО "Агрохолдинг "Энергомера"

«СКД от Microsoft. Что умеет MS SQL Reporing Services и в чём он лучше СКД от 1С?»

- Что представляет из себя MS SQL Server Reporting Services (SSRS). Как это работает. - Установка и развертывание SSRS. Это действительно просто. - SQL Server Data Tools. От запроса до отчета несколько кликов мышью. - Усложним задачу. Группировки, вложенные отчеты, расшифровки, параметризация. - Функции SSRS которых нет (и скорее всего никогда не будет) в СКД. Цель доклада - не противопоставление SSRS и СКД и выяснение, кто сильнее: кит или слон. Цель доклада - познакомить с хорошим инструментом создания отчетов и показать сценарии, в которых им можно пользоваться.

Можно ли как-то получить ссылку ещё не записанного документа?

1. nodalt 4 30.11.12 17:43 Сейчас в теме
В синт. помощнике есть методы:
ПолучитьСсылкуНового()
ПолучитьСсылку()
Новый УникальныйИдентификатор


Но не получилось у меня их склеить так чтобы добиться нужного результата.

Создаю документ:
НовыйДокумент = Документы.РеализацияТоваровУслуг.СоздатьДокумент();


Затем мне нужно без записи получить ссылку на этот документ:
Переменная = НовыйДокумент.Ссылка; 

Подскажите пожалуйста как это сделать?
Ответы
Сортировка: Древо
8. djd.sf 30.11.12 17:52 Сейчас в теме
(1) а смысл какой? почему без записи?
10. nodalt 4 30.11.12 17:58 Сейчас в теме
(8) djd.sf, не могу сейчас привести конкретный пример, в (5) написал по этому поводу.
Давайте остановимся на следующем мотиве: "просто ради общеобразовательных целей" =)
Ну увидел методы, а воспользоваться не получилось - вот и спросил.
Спасибо всем за обсуждение.
12. AlexO 125 30.11.12 18:04 Сейчас в теме
(1) nodalt, (2) andrewks,
1C - это не ЯП ООП.
Здесь ссылка имеет одно единственное значение - по ней идентифицируется объект в базе.
Если нет объекта в базе - нет и ссылки на него.
Все остальное - это не ссылка, а игры с цифрами.
(4) sergey198,
не путайте 1сников, ваша "ПолучитьСсылкуНового" получает пустое место, а не ссылку - по ней потом НИЧЕГО не найдешь, если объект не сохранен в базе.
Manticor; nodalt; +2 Ответить
13. andrewks 1236 30.11.12 18:08 Сейчас в теме
(12) AlexO, именно поэтому я специально и писал "ссылка (гуид)", ибо, пока объекта нет в БД, то такая "ссылка" является виртуальной, несуществующей
14. AlexO 125 30.11.12 18:15 Сейчас в теме
(13) andrewks,
да это вообще не ссылка, даже в ковычках, а пустой набор цифр, ничего не отражающий :)
2. andrewks 1236 30.11.12 17:44 Сейчас в теме
Ссылку незаписанного документа никак не получишь. но можно записать документ с определённым сгенерированным гуидом
3. andrewks 1236 30.11.12 17:45 Сейчас в теме
кстати, а зачем ссылка на объект без его записи? всё равно с этой ссылкой ничего не сделаешь, даже если бы платформа и позволила её получить
5. nodalt 4 30.11.12 17:50 Сейчас в теме
(3) andrewks, да сам пока не знаю, нужна ли она мне. Методы увидел, попробовал - не получается. Вот и захотелось узнать. Но бывают такие ситуации, когда программно создаёшь объект, потом показываешь форму объекта пользователю и он уже решает: записывать или нет. А в промежутке между принятием решения нужна ссылка. Может быть это неправильно или не оптимально, но всё же ...
11. djd.sf 30.11.12 17:59 Сейчас в теме
(5) ну, тогда смею предположить что-то типа такого(в качестве шутки;))):

НачатьТранзакцию();

/////// Запись объектов

//////

ТекстВопроса= "Сохранить?";
Ответ = Вопрос((ТекстВопроса), РежимДиалогаВопрос.ДаНет, 0);
Если Ответ = КодВозвратаДиалога.Нет Тогда
ОтменитьТранзакцию();
Возврат;
КонецЕсли;
ЗафиксироватьТранзакцию();
ЗЫ, Но что-то мне кажется, что все это извращение. Если это пакетная запись (и скорее всего на стороне сервера) от клиента мало, что зависит. Объекты по-любому надо записать. Потом их можно удалить. Если же речь об одном объекте, то не проще сначала спросить пользователя, потом записать?
4. sergey198 30.11.12 17:47 Сейчас в теме
Если Документ.ЭтоНовый() Тогда
// Получаем возможно уже установленную ранее ссылку нового
СсылкаНаОбъект = Документы.ПолучитьСсылкуНового();
Если ЗначениеНеЗаполнено(СсылкаНаОбъект) Тогда
// Если ссылка нового пустая, то запрашиваем ее у менеджера и устанавливаем
СсылкаНаОбъект = Документы.РеализацияТоваровУслуг.ПолучитьСсылку();
Документ.УстановитьСсылкуНового(СсылкаНаОбъект);
КонецЕсли;
Иначе
СсылкаНаОбъект = Документ.Ссылка;
КонецЕсли;
stol6; myoker; pim1c; NN2P; user624351_support; Saint13; miruch; creatermc; EMelihoff; Dr.ZIG; mikele_bes; ixilimuse; kirlog; shulz; kasper076; nodalt; +16 1 Ответить
6. nodalt 4 30.11.12 17:52 Сейчас в теме
(4) sergey198, ааааа, вон оно как! Спасибо, попробую ...
6. andrewks 1236 30.11.12 17:52 Сейчас в теме
А в промежутке между принятием решения нужна ссылка.

если объект не записан в базу, то в промежутке между принятием решения нужен объект, а не ссылка, ибо оперировать можно только с ним (объектом)
9. andrewks 1236 30.11.12 17:55 Сейчас в теме
или, иными словами, ценность полученной т.н. "новой ссылки" (гуида) практически нулевая, за исключением случаев, когда нам нужно создать новый документ с заданной ссылкой (гуидом), или изменить ссылку существующего документа на другую
15. luckily 23.12.16 08:38 Сейчас в теме
Недавно сталкивался с этим. Нужно копать по этой процедуре УстановитьНовыйНомер()
16. KulSer 24.06.17 12:27 Сейчас в теме
На сайте http://guesto.ru нашел познавательный примерчик на эту тему.
Вот ссылка, если кому интересно. http://guesto.ru/1c-polucheniye-ssylki-ne-zapisannogo-obyekta/
Мне самому было интересно.
Оставьте свое сообщение
Все разделы

Вакансии

Удаленный ИТ-журналист
Санкт-Петербург
По совместительству

Программист 1С
Санкт-Петербург
зарплата от 80 000 руб. до 150 000 руб.
Полный день

Программист 1С
Москва
зарплата от 120 000 руб. до 160 000 руб.
Полный день

Консультант-аналитик 1С
Москва
зарплата до 160 000 руб.
Полный день

Удаленный бизнес-аналитик 1С
Санкт-Петербург
Временный (на проект)