Новые сообщения

Пользователю 7.7

Бухучет и налоги

Отзывы и предложения

Стол заказов

Обновления 1С

Пользователю 8.х

База знаний

ХРАНИЛИЩЕ

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

Loading

Свернуть

> Добро пожаловать на наш форум

Здравствуйте уважаемый посетитель. К сожалению вы не были распознаны форумом как зарегистрированный пользователь. Для полноценного использования возможностей нашего форума вам необходимо зарегистрироваться. Если вы уже зарегистрированы на форуме, то вам необходимо пройти авторизацию, используя Ваш логин и пароль.

Логин:   
Пароль:
 


> Навигация сайта
 

>  Стол заказов


Нужно доработать 1С? Обратитесь к нам в стол заказов!

С описанием работы системы можете ознакомиться по этой ссылке
 

> Посетители
Сейчас на сайте человек: 38
(пользователей: 0, гостей: 38)
Яндекс шпион
Гугл шпион
 

> Последние бух. новости
Арсений Яценюк @ 24.04.14, 23:50
Просмотров: 8   Комментариев: 0

Арсений Яценюк @ 24.04.14, 23:50
Просмотров: 8   Комментариев: 0

Арсений Яценюк @ 24.04.14, 23:50
Просмотров: 9   Комментариев: 0

Арсений Яценюк @ 24.04.14, 23:50
Просмотров: 8   Комментариев: 0

Арсений Яценюк @ 24.04.14, 23:50
Просмотров: 8   Комментариев: 0

Арсений Яценюк @ 24.04.14, 23:50
Просмотров: 8   Комментариев: 0

Арсений Яценюк @ 24.04.14, 23:50
Просмотров: 8   Комментариев: 0

Арсений Яценюк @ 24.04.14, 23:50
Просмотров: 8   Комментариев: 0

Арсений Яценюк @ 24.04.14, 23:50
Просмотров: 8   Комментариев: 0

Арсений Яценюк @ 24.04.14, 23:50
Просмотров: 4   Комментариев: 0

Арсений Яценюк @ 24.04.14, 23:50
Просмотров: 4   Комментариев: 0

Арсений Яценюк @ 24.04.14, 23:50
Просмотров: 4   Комментариев: 0

Арсений Яценюк @ 24.04.14, 23:50
Просмотров: 4   Комментариев: 0

Арсений Яценюк @ 24.04.14, 23:50
Просмотров: 8   Комментариев: 0

Арсений Яценюк @ 24.04.14, 23:50
Просмотров: 4   Комментариев: 0

 

> Апрель 2014 Перейти к месяцу
  ВПВСЧПС
»
»
7
»
»
20
23
25
»
 
> 1С:Предприятие 8.3 :: Не подключается к MYSQL
Автор robot1 — 24.04.14, 22:00 — 0 комментариев
В 8.2 подключается нормально, в 8.3 выдает такую ощибку:

Помилка ODBC. SQLSTATE: HY000
Номер помилки: 1045
Опис: [MySQL][ODBC 5.2(a) Driver]Access denied for user 'ODBC'@'SERVER' (using password: NO)

Строка подключения:
DRIVER={MySQL ODBC 5.2 ANSI Driver};
SERVER=192.168.0.2;
DATABASE=azs_server;

Модуль обработки:
ПараметрыСоединенияССайтомМИКО = Новый ПараметрыСоединенияВнешнегоИсточникаДанных;
ПараметрыСоединенияССайтомМИКО.СтрокаСоединения= "
|DRIVER={MySQL ODBC 5.2 ANSI Driver};
|SERVER=192.168.0.2;
|DATABASE=azs_server;
|UID=sergey;
|PWD=63749571;";
ВнешниеИсточникиДанных.хед.УстановитьОбщиеПараметрыСоединения(ПараметрыСоединенияССайтомМИКО);
ВнешниеИсточникиДанных.хед.УстановитьСоединение();
Запрос = Новый Запрос("ВЫБРАТЬ
// | smena.id_azs,
| smena.NN
//| b_stat_browser.USER_AGENT
|ИЗ
| ВнешнийИсточникДанных.хед.Таблица.smena КАК smena");
Таблица = Запрос.Выполнить().Выгрузить();

Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Сообщить(выборка.nn);
конеццикла;


Помогите разобраться, пожалуйста.
Просмотров: 13, оставить комментарий | Просмотр полной темы | Просмотр раздела "1С:Предприятие 8.3"   
 

> 1С 8.2 Обычный интерфейс :: Вывод остатка по регистру бухгалтерии
Автор alexkhua — 24.04.14, 21:02 — 0 комментариев
Странная вещь. В результат выводится остаток по значениям только в те периоды(дни) когда было движение или на дату конца месяца в котором было движение по регистру. Что это значит?
Процедура ЗаполнитьДЗНажатие(Элемент)
    
    
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ХозрасчетныйОстатки.Организация КАК Организация,
        |    ХозрасчетныйОстатки.Счет КАК Счет,
        |    ХозрасчетныйОстатки.Субконто1 КАК Субконто1,
        |    ХозрасчетныйОстатки.Субконто2,
        |    ХозрасчетныйОстатки.Субконто3,
        |    ХозрасчетныйОстатки.Валюта.Представление КАК Валюта,
        |    ХозрасчетныйОстатки.ВалютнаяСуммаОстаток КАК СуммаВВалютеКонечныйОстаток,
        |    ХозрасчетныйОстатки.СуммаОстаток КАК СуммаБалансаКонечныйОстаток,
        |    КурсыВалют.Курс КАК КурсНаДатуДокумента,
        |    КурсыВалют.Кратность КАК КратностьНаДатуДокумента,
        |    ХозрасчетныйОстатки.ВалютнаяСуммаОстаток * КурсыВалют.Курс * КурсыВалют.Кратность КАК СуммаБалансаКонечныйОстатокВПересчетеПоКурсу,
        |    ХозрасчетныйОстатки.СуммаОстаток - ХозрасчетныйОстатки.ВалютнаяСуммаОстаток * КурсыВалют.Курс * КурсыВалют.Кратность КАК КурсоваяРазница
        |ИЗ
        |    РегистрБухгалтерии.Хозрасчетный.Остатки(&Дата, , , ) КАК ХозрасчетныйОстатки
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют КАК КурсыВалют
        |        ПО (КурсыВалют.Валюта = ХозрасчетныйОстатки.Валюта)
        |ГДЕ
        |    ХозрасчетныйОстатки.Счет.Валютный = &Валютный
        |    И КурсыВалют.Период = &КурсНаДату
        |ИТОГИ ПО
        |    ОБЩИЕ,
        |    Организация ИЕРАРХИЯ";
        
        
        
        
        
        
    Запрос.УстановитьПараметр("Дата",КонецДня(Дата));
    Запрос.УстановитьПараметр("КурсНаДату",НачалоДня(Дата));
    

    
    Запрос.УстановитьПараметр("Валютный",Истина);
    ЭлементыФормы.ДереВалютныхСчетов.Значение = Запрос.Выполнить().Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией);
    ЭлементыФормы.ДереВалютныхСчетов.СоздатьКолонки();


Вроде решил так. Может удалить тему?
Процедура ЗаполнитьДЗНажатие(Элемент)
    
    
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ХозрасчетныйОстатки.Организация КАК Организация,
        |    ХозрасчетныйОстатки.Счет КАК Счет,
        |    ХозрасчетныйОстатки.Субконто1 КАК Субконто1,
        |    ХозрасчетныйОстатки.Субконто2,
        |    ХозрасчетныйОстатки.Субконто3,
        |    ХозрасчетныйОстатки.Валюта.Представление КАК Валюта,
        |    ХозрасчетныйОстатки.ВалютнаяСуммаОстаток КАК СуммаВВалютеКонечныйОстаток,
        |    ХозрасчетныйОстатки.СуммаОстаток КАК СуммаБалансаКонечныйОстаток,
        |    КурсыВалютСрезПоследних.Курс КАК КурсНаДатуДокумента,
        |    КурсыВалютСрезПоследних.Кратность КАК КратностьНаДатуДокумента,
        |    ХозрасчетныйОстатки.ВалютнаяСуммаОстаток * КурсыВалютСрезПоследних.Курс * КурсыВалютСрезПоследних.Кратность КАК СуммаБалансаКонечныйОстатокВПересчетеПоКурсу,
        |    ХозрасчетныйОстатки.СуммаОстаток - ХозрасчетныйОстатки.ВалютнаяСуммаОстаток * КурсыВалютСрезПоследних.Курс * КурсыВалютСрезПоследних.Кратность КАК КурсоваяРазница
        |ИЗ
        |    РегистрСведений.КурсыВалют.СрезПоследних(&Дата, ) КАК КурсыВалютСрезПоследних
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Остатки(&Дата, , , ) КАК ХозрасчетныйОстатки
        |        ПО КурсыВалютСрезПоследних.Валюта = ХозрасчетныйОстатки.Валюта
        |ГДЕ
        |    ХозрасчетныйОстатки.Счет.Валютный = &Валютный
        |ИТОГИ ПО
        |    ОБЩИЕ,
        |    Организация ИЕРАРХИЯ";
        
        
        
        
        
        
    Запрос.УстановитьПараметр("Дата",Дата);
    //Запрос.УстановитьПараметр("КурсНаДату",НачалоДня(Дата));
    

    
    Запрос.УстановитьПараметр("Валютный",Истина);
    ЭлементыФормы.ДереВалютныхСчетов.Значение = Запрос.Выполнить().Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией);
    ЭлементыФормы.ДереВалютныхСчетов.СоздатьКолонки();
    
    
КонецПроцедуры
Просмотров: 17, оставить комментарий | Просмотр полной темы | Просмотр раздела "1С 8.2 Обычный интерфейс"   
 

> 1С:Предприятие 8.2 :: Получение и установка выделения в редакторе форматированного документа
Автор Vofka — 24.04.14, 16:59 — 0 комментариев
В процессе разработки прикладных решений возникает необходимость предоставить пользователю возможность выполнять редактирование текстов с оформлением (далее форматированный документ). В качестве примера такой необходимости можно привести написание писем электронной почты, различных служебных записок или сопроводительных документов.

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

В информационной базе форматированный документ рекомендуется хранить в реквизите типа ХранилищеЗначения, в который помещается объект типа ФорматированныйДокумент.

Для того чтобы предоставить пользователю возможность интерактивного изменения документа, следует выполнить следующие шаги:
  • создать реквизит формы типа ФорматированныйДокумент и установить для него свойство Сохраняемые данные;
  • создать элемент формы типа Поле ввода вида Поле форматированного документа и связать его с ранее созданным реквизитом;
  • при чтении данных формы (обработчик ПриЧтенииНаСервере()) загрузить в реквизит формы документ, который необходимо редактировать, предварительно получив его из информационной базы;
  • перед записью данных формы (обработчик ПередЗаписьюНаСервере()) получить результат редактирования документа и поместить его в реквизит, сохраняемый в информационной базе.
  • В процессе работы с документом можно использовать закладки. Закладкой называет позиция в документе. При определении позиции следует учитывать следующие особенности:
    • содержимое документа считается одной последовательностью символов.
    • перенос строки считается одним символом.
    • картинка считается одним символом.

С помощью закладок можно получать и устанавливать выделение или позицию курсора в редакторе, добавлять и удалять элементы текста в документе (собственно текст, картинка, перевод строки).

Если при получении выделения позиции начала и окончания выделения совпадают, это значит, что выделение отсутствует и получено положение курсора. Также и при установке выделения: если начальная и конечная позиция выделения совпадают – происходит изменение позиции курсора, без выделения. Также следует помнить, что при программном изменении выделенного текста не происходит отмены выделения. Выделение остается в тех же позициях, в которых оно было до программного изменения текста.
Приведем пример получения и установки выделения в редакторе форматированного документа:

// Содержимое – реквизит формы типа ФорматированныйДокумент
// Редактор – элемент формы типа Поле форматированного документа
// Начало – реквизит формы типа Число. Указывает позицию начала выделения.
// Окончание – реквизит формы типа Число. Указывает позицию окончания выделения.

&НаКлиенте
Процедура ПолучитьВыделение()
    ПозицияНачала = 0;
    ПозицияОкончания = 0;
    Элементы.Редактор.ПолучитьГраницыВыделения(ПозицияНачала,ПозицияОкончания);
    Начало = Содержимое.ПолучитьПозициюПоЗакладке(ПозицияНачала);
    Окончание = Содержимое.ПолучитьПозициюПоЗакладке(ПозицияОкончания);
КонецПроцедуры

&НаКлиенте
Процедура УстановитьВыделение()
    ПозицияНачала = Содержимое.ПолучитьЗакладкуПоПозиции(Начало);
    ПозицияОкончания = Содержимое.ПолучитьЗакладкуПоПозиции(Окончание);
    Элементы.Редактор.УстановитьГраницыВыделения(ПозицияНачала,ПозицияОкончания);
КонецПроцедуры


[необходимо зарегистрироваться для просмотра ссылки]
Просмотров: 17, оставить комментарий | Просмотр полной темы | Просмотр раздела "1С:Предприятие 8.2"   
 

> Администратору 1С / системному администратору :: Как поменять смещение даты с 0 на 2000
Автор Vofka — 24.04.14, 16:55 — 0 комментариев
Вариант гуманный ([необходимо зарегистрироваться для просмотра ссылки]).



Суть проблемы в чем.. Если Вы случайно развернули базу на сервере SQL со «смещением даты» 0 то возникла проблема, когда в базе встречается реквизит с типом ВРЕМЯ т.е.в этот реквизит ставится 01.01.0001 10:30:00 или дата записалась пустой 01.01.0001 00:00:00. При записи такого реквизита не происходит его запись.
В интернете предлагают создать новую базу со смещением 2000.
Но новую базу создавать не очень хотелось. И менять у всех пользователях путь к базе.
Тогда я пошел по пути, а где ж хранится это значение в SQL-е. Нашел и поменял на 2000 и все стало ок..
А теперь по шагово, где поменять.

Выгнать всех пользователей.

ВНИМАНИЕ!!!

1. Сначала сделайте резервную копию средствами 1С т.е. выгрузите ее в *.dt
Это нужно делать до того как поменяете «смещение»
Если этого не сделать то во всей вашей базе спр., док, и т.д.
где есть есть реквизит дата будет стоять допустим 02.10.0009
ЧТО НЕ ДОПУСТИМО….
Итак Вы сделали выгрузку в *.dt

2. Заходим в SQL Server Management Studio
Находим Вашу базу в списку нажимаем плюсик.
Находи там папочку «Таблицы» и раскрываем ее.
Откроется куча таблиц, идем в самый низ, находим таблицу
_YearOffset, становимся на нее и правой клавишей выбираем пункт «Открыть таблицу» см. рис.1
Меняем значение 0 на 2000
Закрываем SQL Server Management Studio

3. Заходим в конфигуратор и загружаем ранее сохраненную базу.

Если это не сделать, то все даты будут с годом 0009.
После того как база загрузилась… Можно зайти в 1С и удостоверится что даты нормальные.
Результат мы поменяли «смещение дата с 0 на 2000»

Иногда бывает так, что этот вариант использовать не получается по тем или иным причинам. Тогда есть более хардкорный вариант ([необходимо зарегистрироваться для просмотра ссылки]):

SQL
Declare TablesAndFields cursor for

SELECT objects.name as Tablename, columns.name as columnname
FROM dbo.sysobjects as objects
left join dbo.syscolumns as columns on objects.id = columns.id
where objects.xtype = 'U' and columns.xtype = 61

open TablesAndFields

Declare @TableName as varchar(100)
Declare @ColumnName as varchar(100)

FETCH NEXT FROM TablesAndFields into @TableName, @ColumnName

WHILE @@FETCH_STATUS = 0
BEGIN Exec ('update ' + @TableName + '
set ' + @ColumnName + ' = ''2000-01-01 00:00:00''
where ' + @ColumnName + ' > ''3999-12-31 23:59:59''')

-- This is executed as long as the previous fetch succeeds.
FETCH NEXT FROM TablesAndFields into @TableName, @ColumnName
END

close TablesAndFields
deallocate TablesAndFields
go


Перед любыми манипуляциями не забывайте делать копии баз данных!
Просмотров: 19, оставить комментарий | Просмотр полной темы | Просмотр раздела "Администратору 1С / системному администратору"   
 

> Система компоновки данных :: Печать квитанций через СКД
Автор mishkerdon — 24.04.14, 16:38 — 3 комментариев
Возможно ли реализовать печать квитанций через СКД?? Ну т.е. , для примера, берем первым запросом список лицевых счетов, затем для каждого лицевого счета регистр остатков по видам операции за указанный период, и в результате для каждого лицевого счета печатаем отдельную квитанцию с данными из регистра внутри(макет единый для всех л/с)
Подскажите пожалуйста, можно ли такое реализовать? Именно через СКД хочется, потому что там настройки компоновщика очень удобные, можно гибко отбор и т.п. делать.
Просмотров: 29, последний комментарий от logist | Просмотр полной темы | Просмотр раздела "Система компоновки данных"   
 

> 1С 8.2 Управляемый интерфейс :: автоматическое заполнение даты
Автор афродита — 24.04.14, 12:29 — 2 комментариев
Здравствуйте,при написании программы на 1с 8.2 у меня возникла проблема. У меня есть в реквизитах документа поле Дата_разгрузки, тип этого поля Дата-время. При нажатии на него высвечивается календарь а время автоматически само заполняется( он либо пишет время которое стоит на компе если дата сегодняшняя, либо пишет 00.00.00). Как сделать так чтобы я сама могла писать время в этом поле?
Просмотров: 33, последний комментарий от logist | Просмотр полной темы | Просмотр раздела "1С 8.2 Управляемый интерфейс"   
 

> Вся 1С :: Обновление конфиг на сервере
Автор alexkhua — 24.04.14, 11:33 — 1 комментариев
У людей самописная конфигурация. Только я не пойму. Сама база у них лежит где-то, как я понимаю на сервере , т.к. там где путь в меню запуска 1с прописано не путь к файлу БД (как в файловом режиме), а что-то типа ser:х123 ; ref:y321 . Какие тут особенности обновления конфигурации? Все то же самое , захожу , сравниваю конфигурации и обновляю, так? Извините за , возможно, глупый вопрос . )))


 ! 

Правила, п.3
 
Просмотров: 63, последний комментарий от sava1 | Просмотр полной темы | Просмотр раздела "Вся 1С"   
 

> 1С Бухгалтерия 8.* :: Скидка от нерезидента (импорт)
Автор Inesska — 23.04.14, 16:31 — 8 комментариев
Здравствуйте!
такая ситуация и такой вопрос:

1.Купили валюту, заплатили поставщику нерезиденту. (10 000 - 2 000(скидка) = 8000 евро)
2.Ввоз товара и оприходование (по ГТД 10 000 евро)
3.Поступление Доп.затрат (перевозчик, брокер...)
4.??? как мне оформить скидку 2 000 евро???

возможно ли документ "Поступление Доп.затрат" провести с "-" суммой???


1С:Підприємство 8.2 (8.2.17.169)
Бухгалтерія для України, редакція 1.2.
Розробка конфігурації: "ABBYY Ukraine", 2005-2014 (1.2.19.1)


 ! 

Правила, пункт 3! Переезжаем.
 
Просмотров: 119, последний комментарий от Егор Динин | Просмотр полной темы | Просмотр раздела "1С Бухгалтерия 8.*"   
 

> 1С 8.2 Обычный интерфейс :: Отчет по валовой прибыли по типу цены
Автор Fabri — 22.04.14, 20:24 — 1 комментариев
Ситуация такая. Очень много товара продалось в минус и соответственно списание товаров по партиям и запись в регистр накопления ПродажиСебестоимость не произошло.
Для исправления ситуации создал новый отчет - по типу цены. Идея такова - берем все данные с регистра накопления - Продажи, для каждой номенклатуры получаем цену закупки на тот момент времени. ЦенаПродажи - ЦенаЗакупки = Чистая прибыль.
Есть табличная часть Товары с реквизитами - Номенклатура, Количество, СуммаПродажи, Себестоимость, ЧистаяПрибыль.

Вот код запроса:
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    Продажи.Номенклатура,
        |    Продажи.Количество,
        |    Продажи.Стоимость КАК СуммаПродажи,
        |    ВЫРАЗИТЬ(ЦеныНоменклатурыСрезПоследних.Цена * Продажи.Количество КАК ЧИСЛО(15, 2)) КАК Себестоимость,
        |    ВЫРАЗИТЬ(Продажи.Стоимость - ЦеныНоменклатурыСрезПоследних.Цена * Продажи.Количество КАК ЧИСЛО(15, 2)) КАК ЧистаяПрибыль
        |ИЗ
        |    РегистрНакопления.Продажи КАК Продажи
        |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
        |        ПО Продажи.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
        |ГДЕ
        |    Продажи.Период МЕЖДУ &ДатаНач И &ДатаКон
        |    И ЦеныНоменклатурыСрезПоследних.ТипЦен = &ТипЦен";

        
    Запрос.УстановитьПараметр("ДатаНач", НачалоДня(ДатаНач));
    Запрос.УстановитьПараметр("ДатаКон", КонецДня(ДатаКон));
    Запрос.УстановитьПараметр("ТипЦен", ТипЦеныСебестоимости);

    Товары.Загрузить(Запрос.Выполнить().Выгрузить());
    
    Товары.Свернуть("Номенклатура","Количество,СуммаПродажи,Себестоимость,ЧистаяПрибыль");


Проблема в том что себестоимость, т.е. закупочную цену получаем не за тот момент времени когда продавался товар, а просто последнюю цену и естественно часто получаем что закупка больше чем продажа.
Ставил в запросе - ЛЕВОЕ СОЕДИНЕНИЕ - не помогло.
Дописывал
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
|        ПО Продажи.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура И Продажи.Период = ЦеныНоменклатурыСрезПоследних.Период

Но так вообще ничего не выводит.
Подскажите как правильно сформировать данный запрос. Спасибо.
Просмотров: 58, последний комментарий от Vofka | Просмотр полной темы | Просмотр раздела "1С 8.2 Обычный интерфейс"   
 

> Система компоновки данных :: Расшифровка в отчете на базе СКД, который формируется программно
Автор Vofka — 22.04.14, 20:17 — 0 комментариев
Я когда-то писал заметку ([необходимо зарегистрироваться для просмотра ссылки]) по расшифровке в СКД. Сейчас я дополню то, что писал и напишу немного нового.

В двух словах о проблеме. Есть макет типа "схема компоновки данных". Там программно заполняются параметры и компонуется отчет. Но в результате даже у ссылочных полей не работает расшифровка. Как сделать что бы заработало - читайте далее.

Отчет формируется по нажатию кнопки кодом типа такого:

    НастройкиСКД = КомпоновщикНастроек.Настройки;
    
    СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
    
    ДанныеРасшифровкиОтчета = Новый ДанныеРасшифровкиКомпоновкиДанных;
    
    НастройкиСКД.ПараметрыДанных.Элементы.Найти("Номенклатура").Значение = Справочники.Номенклатура.НайтиПоКоду("1"); // заполняем какие-то параметры

    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиСКД, ДанныеРасшифровкиОтчета);
    
    ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , ДанныеРасшифровкиОтчета);

    ДокументРезультат = ЭлементыФормы.Результат;
    ДокументРезультат.Очистить();
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
    ПроцессорВывода.Вывести(ПроцессорКомпоновки);
    ДокументРезультат.Показать();


Пояснения по коду:
ДанныеРасшифровкиОтчета - это переменная модуля формы отчета (то, что объявляется через ключевое слово Перем).
ЭлементыФормы.Результат - Результат это имя табличного документа куда выводится отчет.

Остальное вроде вопросов вызывать не должно.

Вариант 1.

На табличном документе идет в обработчики событий и делаем обработчик на событие ОбработкаРасшифровки. Процедура обработчик будет иметь вид похожий на это:

Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
    
    СтандартнаяОбработка = Ложь;
  
    ОбработкаРасшифровки = Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровкиОтчета, Новый ИсточникДоступныхНастроекКомпоновкиДанных(ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных")) );

    МассивДоступныхДействий = Новый Массив;
    МассивДоступныхДействий.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.ОткрытьЗначение);

    НастройкиРасшифровки = ОбработкаРасшифровки.Выполнить(Расшифровка,, МассивДоступныхДействий);
    
КонецПроцедуры


Результат работы этого когда: двойной клик на любой ячейке ссылочного типа производит открытие этого элемента. Будь то документ, элемент справочника или ещё что-нибудь.

Вариант 2.

Все так же идем в обработчики события поля табличного документа и устанавливаем обработчик на ОбработкаРасшифровки:

Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
    
    СтандартнаяОбработка=Ложь;
    ОбработкаРасшифровки = Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровкиОтчета, Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));

    ПолеРасшифровки = ДанныеРасшифровкиОтчета.Элементы[Расшифровка].ПолучитьПоля()[0];
    Если ПолеРасшифровки.Поле = "Контрагент" ИЛИ
        ПолеРасшифровки.Поле = "Документ" Тогда
        
        Ссылка = ПолеРасшифровки.Значение;
        ОткрытьЗначение(Ссылка);
    КонецЕсли;
    
КонецПроцедуры


Тут полчаем информацию о том куда пользователь счелкнул. Зная это мы можем получить значение, которое находится в расшифровке. Дальше с ним можем делать что угодно. В этом примере результат не отличается от варианта 1, т.к. и в том и в том случае мы просто хотим открыть значения каких-то ссылок. Но если бы, например, мы получали текст или число, которое нужно было как-то хитро обработать, то в варианте №2 мы можем это сделать.

Вместо выводов: если вы хотите открывать ссылочные типы, тогда какой вариант использовать - дело ваше. Преимущество первого над вторым, я вижу, только в компактности и универсальности кода. Как насчет быстродействия, например, я не мерял. Но если же вам нужно получить результат расшифровки и как-то его обработать дополнительно - вы можете воспользоваться вариантом №2.

Как-то так smile.gif .
Просмотров: 48, оставить комментарий | Просмотр полной темы | Просмотр раздела "Система компоновки данных"   
 

> 1С 8.2 Обычный интерфейс :: разделитель страниц
Автор alex040269 — 22.04.14, 14:12 — 0 комментариев
Есть внешняя обработка "Печать табеля" ЗУП 8.2;

в макете:



после выполнения кода

                    
ПоследняяСтрокаЛиста = ДокументРезультат.ПолучитьОбласть(ВысотаТаблицы,,ДокументРезультат.ВысотаТаблицы,);
                    ДокументРезультат.УдалитьОбласть(ДокументРезультат.Область(ВысотаТаблицы,,ДокументРезультат.ВысотаТаблицы,),);
                    ДокументРезультат.ВывестиГоризонтальныйРазделительСтраниц();
                    ДокументРезультат.Вывести(ПоследняяСтрокаЛиста);


имею результат:



т.е. получается, что я удаляю область, вставляю разделитель страниц и вставляю область.

НО иногда вырезается область, кторая нужна + "кусочек" от области выше, в результате - 8-ки.

платформа 8.2.16.352 и 8.2.19.90
Просмотров: 42, оставить комментарий | Просмотр полной темы | Просмотр раздела "1С 8.2 Обычный интерфейс"   
 

> 1С 8.2 Обычный интерфейс :: Ваши мысли по поводу задачки
Автор Powerman — 22.04.14, 11:26 — 15 комментариев
Уважаемые знатоки! Подскажите, что Вы думаете поп поводу данной задачки...

Задача

Есть периодический регистр сведений «Показания спидометра» с измерением «Авто» и ресурсом «Пробег, км» со следующими данными:

1. 01/01/2012 Авто1 100.00
2. 02/01/2012 Авто1 500.00
3. 03/01/2012 Авто1 50.00
4. 04/01/2012 Авто1 400.00
5. 06/01/2012 Авто1 100.00

Как видим показания растут, но спидометр периодически может обнуляться. Необходимо одним запросом (вложенные запросы и временные таблицы допускаются) получение общего пробега за произвольный период.

Обнуление счетчика может происходить в любой день.
Правильным ответом по приведенному примеру будет пробег 1000 км за весь период.
При решении задачи учитывать что автомобилей может быть несколько…
Просмотров: 227, последний комментарий от Powerman | Просмотр полной темы | Просмотр раздела "1С 8.2 Обычный интерфейс"   
 

> Помогите подобрать конфигурацию :: Конфигурация для снабженца
Автор Zeppelin — 21.04.14, 23:15 — 5 комментариев
Доброго времени суток! Помогите подобрать конфигурацию для работы в снабжении. С 1С знаком, но не сильно глубоко, потому очень буду благодарен за руководства, описания и тп. для углубления знаний в подобранной конфигурации.

Теперь о задачах учета. Идет строительство нескольких объектов, на каждый объект имеется спецификация.
Нужно отслеживать сколько каких объектов строятся, сколько нужно закупить всего материалов на все объекты, остатки этих товаров, и на основании данных сколько нужно и сколько есть вычислять на данный момент сколько осталось докупить материалов.

Извините если есть не точности в постановке задачи, просто еще не знаю как организовать такой вот учет.
Буду рад и благодарен за все замечания, советы и предложения.
Заранее благодарен!


 ! 

Правила, п.5
 
Просмотров: 86, последний комментарий от vadim007 | Просмотр полной темы | Просмотр раздела "Помогите подобрать конфигурацию"   
 

> 1С Бухгалтерия 7.7 для Украины :: В документі нарахування зарплати відрахування з лікарняних проводиться неправильно
Автор khrystuk — 20.04.14, 22:16 — 2 комментариев
Доброго дня! У мене платформа 1с 7.7 Підприємство для SQL (7.70.027) конфігурація бух облік для України реліз 7.70.300.
Після проведення документу нарахування зарплати неправильно формує проводку відрахування із нарахованої суми лікарняних в пенсійний фонд за ставкою 33.2 %: Д-т 378 К-т 651, хоча цей вид відрахувань відноситься на витрати підприємстваі має бути проводка: Д-т 821 К-т 651. Хотів скоригувати проводку ручною операцією, набравши мінусове значення першої проводки, але 378 рах не кореспондується із рах. 651. Підкажіть, будь-ласка, як виправити цю проблему.


Просмотров: 113, последний комментарий от Домовик | Просмотр полной темы | Просмотр раздела "1С Бухгалтерия 7.7 для Украины"   
 

> 1С 8.2 Обычный интерфейс :: Как в форму выбора выводить только позиции с положительным количеством
Автор yur — 20.04.14, 11:17 — 6 комментариев
Как в форму выбора выводить только позиции с положительным количеством ?

Исходник:
// Осуществляет вывод остатков и цены в форме подбора, используется в документе ЧекККМ,
// Вызывается из формы регистрации продаж при ручном подборе.
// Отбор остатков по складу из которого ведется продажа кассиром, цены согласно установленного типа цен в параметрах склада.

Процедура СправочникСписокПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
    Если Не ДанныеСтроки.Ссылка.ЭтоГруппа Тогда
        Остатки = РегистрыНакопления.ТоварыВРознице;
        Цены = РегистрыСведений.ЦеныАТТ;
        Фильтр = Новый Структура;
        Фильтр.Вставить("Номенклатура",ДанныеСтроки.Ссылка);
        Фильтр.Вставить("Склад", УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "ОсновнойСклад"));
        ТабОстатков = Остатки.Остатки(ТекущаяДата(),Фильтр,
                       "Номенклатура,Склад", "Количество");
        ТабЦены = Цены.СрезПоследних(ТекущаяДата(), Фильтр);
        Попытка              
            ОформлениеСтроки.Ячейки.Остаток.ОтображатьТекст = Истина;
            ОформлениеСтроки.Ячейки.Остаток.Текст = ТабОстатков[0].Количество;
        Исключение
        КонецПопытки;
        Попытка              
            ОформлениеСтроки.Ячейки.Цена.ОтображатьТекст = Истина;
            ОформлениеСтроки.Ячейки.Цена.Текст = ТабЦены[0].Цена;
        Исключение
        КонецПопытки;
    КонецЕсли;
КонецПроцедуры


 ! 

Правила, п.3,12
 
Просмотров: 130, последний комментарий от yur | Просмотр полной темы | Просмотр раздела "1С 8.2 Обычный интерфейс"   
 

> 1С:Предприятие 8.3 :: Перебор Запросом Документов и табличной части в нем
Автор progr33 — 18.04.14, 12:51 — 7 комментариев
Добрый день!Подскажите как организовать в запросе с перебором документов обход табличной части этого документа
Это просто перебор документов :

#Область Запрос

    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ЗаказПоставщику.Ссылка КАК Ссылка,
        |    ЗаказПоставщику.Номер,
        |    ЗаказПоставщику.Дата,
        |    ЗаказПоставщику.Проведен,
        |    ЗаказПоставщику.Контрагент,
        |    ЗаказПоставщику.Организация,
        |    ЗаказПоставщику.СуммаДокумента,
        |    ЗаказПоставщику.ЗаказДистрибьютора.(
        |        Номенклатура,
        |        КоличествоВУпаковке,
        |        МассаУпаковки,
        |        Количество,
        |        ВесВЗаказе,
        |        Упаковка
        |    )
        |ИЗ
        |    Документ.ЗаказПоставщику КАК ЗаказПоставщику
        |ГДЕ
        |    ЗаказПоставщику.Организация = &Организация
        |    И ЗаказПоставщику.Проведен = ИСТИНА
        |
        |УПОРЯДОЧИТЬ ПО
        |    Ссылка
        |АВТОУПОРЯДОЧИВАНИЕ";

    Запрос.УстановитьПараметр("Организация", Организация);

    РезультатЗапроса = Запрос.Выполнить();
    
    #КонецОбласти


Подскажите пожалуйста, что необходимо для перебора табличной части ЗаказДистрибьютора?.Заранее спасибо!!!
Просмотров: 137, последний комментарий от progr33 | Просмотр полной темы | Просмотр раздела "1С:Предприятие 8.3"   
 

> 1С Предприятие 8 :: Взаимодействие 1С и javascript
Автор Vofka — 18.04.14, 11:46 — 0 комментариев
Лирика: в наше время интеграция с другими информационными системами, программными продуктами и технологиями повсюду. С развитием web-а интеграция с ним так же сейчас используется на каждом шагу. Один из самых распространенных примеров интеграции 1С с web - это отображение карт внутри 1С, прокладывание маршрутов по ним и т.п. Для этого в 1С используется ПолеHTMLДокумента, в которое подгружается текст страницы и дальше описываются правила взаимодействия. Для успешной работы с этим нужно "это" как-то вызывать из 1С и часто нужно иметь обратную связь.

Я покажу 2 вещи:
1) Как из 1С можно вызвать javascript функцию
2) Как из javascript вызвать функцию 1С

Рассматривать это буду в контексте работы управляемой форме. В обычной форме все схоже.

Как из 1С можно вызвать javascript функцию?

Текст страницы:
HTML
<html>
<head>
<title>Test</title>
<script type='text/javascript'>
function message(mes) {
alert(mes)
}
</script>
</head>
<body>
</body>
</html>


Вызвать функцию message можно двумя способами. Делать это нужно в процедуре/функции с директивой компиляции &НаКлиенте

Раз:
Элементы.ИмяРеквизитаПоляХТМЛДокумента.Документ.parentWindow.eval("message('тест')");


Два:
Элементы.ИмяРеквизитаПоляХТМЛДокумента.Документ.parentWindow.message("тест");


Но это просто, дальше будет интересней.

Как из javascript вызвать функцию 1С?

Для этого нужно сделать специальную инфраструктуру в коде javascript-а на страничке.

Текст страницы:
HTML
<html>
<head>
<title>Test</title>
<script type='text/javascript'>
var evtObj = document.createEventObject();
var myParam;
function f(){
var now = new Date();
document.body.myParam = now.toString();
document.body.fireEvent('onhelp', evtObj);
}
</script>
</head>
<body>
<br />
<input type=""button"" value=""Go"" onclick=""f()"" />
</body>
</html>


В функции f() передать параметры в 1С можно путем присваивания значения переменной myParam. Теперь в 1С в обработчике события ПриНажатии ПоляHTMLДокумента получаем это значение:
ЗначениеПеременнойДжаваСкрипт = ДанныеСобытия.Document.body.myParam;


Скорей всего есть и другие способы передать что-то из javascript в 1С, как-то даже более красивее, но на данный момент других рабочих вариантов я не знаю. Если кто-то поделится, я думаю, это будет не только мне полезно узнать.

В качестве "ПС": данная статья написана скорее как памятка, т.к. нормального родного способа в 1С нету, а в интернетах пока найдешь и приведешь к рабочему виду - прийдется потратить какое-то время и силы, которые уже были потрачены мной, в результате чего появилась эта памятка. Надеюсь кому-то это так же будет полезно smile.gif .

(с) Моё
Просмотров: 96, оставить комментарий | Просмотр полной темы | Просмотр раздела "1С Предприятие 8"   
 

> Прочее 1С 8.* :: Заполнение личной карточки (Т-2) в ЗУП 3.0
Автор S26021968 — 18.04.14, 9:09 — 0 комментариев
Доброго времени суток.

Зарплата и управление персоналом, редакция 3.0 (3.0.15.27)
В личную карточку сотрудников Т-2 почему то не попадают отпуска без сохранения ЗП, по уходу за ребенком.
Попадают только основные отпуска. Может кто сталкивался с данной проблемой - просьба помочь
Спасибо.


 ! 

Правила, п.3
 
Просмотров: 122, оставить комментарий | Просмотр полной темы | Просмотр раздела "Прочее 1С 8.*"   
 

> Управление торговлей для Украины редакция 3 :: Анализ расходов
Автор Tobeus — 17.04.14, 17:46 — 2 комментариев
Управление торговлей 3.0 для Украины
Как получить конкретный список расходов? Вот, например, есть отчет "Расходы". Я вижу, что по такому то направлению деятельности расходы за месяц были: 898,38. А как узнать, что именно это были за расходы? В расшифровке, что то не нашел ничего:


Или может вообще в другую сторону копать?
Просмотров: 79, последний комментарий от Tobeus | Просмотр полной темы | Просмотр раздела "Управление торговлей для Украины редакция 3"   
 

> 1С Предприятие 7.7 :: ТиС+АСП
Автор djdf_crash — 17.04.14, 16:42 — 13 комментариев
Доброго всім дня. Підкажіть як об'єднати шість баз (філіали) (ТиС+АСП), релізи одинакові, в одну? VPN зв'язок присутній. Але потім потрібно щоб певний користувач працював в базі тільки з тією філією з якою працював раніше. Дякую
Просмотров: 260, последний комментарий от djdf_crash | Просмотр полной темы | Просмотр раздела "1С Предприятие 7.7"   
 

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

Курсы валют: доллар США к гривне Курсы валют: евро к гривне Курсы валют: российский рубль к гривне