7.7 Вопросы по языку

Тема в разделе "Общие вопросы "1С:Предприятие 7.7"", создана пользователем Vertex, 20 июл 2011.

  1. demowood
    Offline

    demowood

    Регистрация:
    12 июл 2012
    Сообщения:
    30
    Симпатии:
    0
    Баллы:
    1
    Подскажите пожалуйста, как передать период для открываемого журнала методом
    Код:
    Док.Выбрать("Журнал.ЖурналОбщий.ФормаСОтбором")
  2. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Таким методом как вы хотите, типовыми - никак. Только передавать четез глобальную переменную в журнал и там ловить... К тому же как у вас описано - не правильно. Читайте СП
    Почему не использовать ОткрытьФорму?
  3. TopicStarter Overlay
    Vertex
    Offline

    Vertex Опытный в 1С

    Регистрация:
    14 июн 2011
    Сообщения:
    468
    Симпатии:
    4
    Баллы:
    29
    Всем привет.
    Объясните если кто может почему так?
    Код:
    Строка = ""; //Выведет пробел без кавычек
    Строка = "+"; //Выведет плюс без кавычек
    Строка = """;  // Выведет ошибку , почему? Я же просто вывожу кавычку?
    Строка = """"; //Выведет одну кавычку хотя  должно же 2? Как так?
  4. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    потому что как заложено. Интерпретатор просто иначе разобраться не сможет.
    ""-все строка задана пустая
    """ лишний символ. Равносилен присвоению Строка="
    """" 1с понимает что нужно вывести кавычку. Об этом сказано в описании языка.
    Если вым не удобно - используйте функцию Симв
  5. TopicStarter Overlay
    Vertex
    Offline

    Vertex Опытный в 1С

    Регистрация:
    14 июн 2011
    Сообщения:
    468
    Симпатии:
    4
    Баллы:
    29
    p.s Не помните где об этом сказано в каком разделе? Работа со строками не?
  6. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    давно это было))))) но где-то в самом начале.
  7. TopicStarter Overlay
    Vertex
    Offline

    Vertex Опытный в 1С

    Регистрация:
    14 июн 2011
    Сообщения:
    468
    Симпатии:
    4
    Баллы:
    29
    Глупый вопрос.
    Где и как используется КорСчет, КорСубконто при запросе к Бух итогам?

    КорСчет будет зависеть от контекста итогов по основному счёту,
    Например: Счет 10
    При дебетовых оборотах он будет в дебетоваться, а коррсчет будет например 60.1 и при кредитовых оборотах 10 счета
    корсчет его будет к примеру 20 соответственно 10 кредитуется.
    Я верно понимаю что с помощью этого параметра я могу задать жестко корреспонденцию чтобы в итоги мне попали 10 сч только дебетовые, если будет стоять Сч = 10.1, а КорСч = 60.1
  8. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    да. <КоррСчет> - необязательный параметр. Значение типа ''Счет'' - корреспондирующий счет, в корреспонденции с которым будут отбираться итоги счета, указанного в параметре
  9. TopicStarter Overlay
    Vertex
    Offline

    Vertex Опытный в 1С

    Регистрация:
    14 июн 2011
    Сообщения:
    468
    Симпатии:
    4
    Баллы:
    29
    Добрый день вопрос.
    глКО в ТиС это что такое?
    глКО.Оприходование, глКО.Перемещение, глКО.Закупка и т.д.
    Переменной я такой не нашёл, что это?
  10. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Если бы вы посмотрели в ГМ вы бы увидели
    Код:
    // (ссылка на перечисление.КодыОпераций) - чтобы в модулях не писать
    Перем глКО Экспорт;   
    .....
    глКО = Перечисление.КодыОпераций;         
    
    Думаю дальнейшие комментарии излишни
  11. TopicStarter Overlay
    Vertex
    Offline

    Vertex Опытный в 1С

    Регистрация:
    14 июн 2011
    Сообщения:
    468
    Симпатии:
    4
    Баллы:
    29
    Добрый день.
    Нужно реализовать механизм разрешающий пользователям юзать только предопределенные им склады.
    Решил построить это дело так: Создал справочник "РазрешенныеСклады" который подчинен справочнику "Пользователи" . Работать на прямую с ним не будет ни кто (так как он подобен справочнику партий с множеством одинаковых записей). В форме элемента справочника "Пользователи" добавил новую закладку "Склады",
    Создал табличную часть и две кнопки, "Добавить склад" и "Удалить склад". Под них написал две процедуры.
    Код:
    //******************************************************************************
    // ДобавитьСклад()
    //
    // Параметры:   
    //  Нет
    //
    // Возвращаемое значение:
    //  нет.
    //
    // Описание:
    //  Добавляет элемент в справочник "РазрешенныеСклады" для текущего пользователя
    //
    Процедура ДобавитьСклад()
    РСклад.ИспользоватьВладельца(ТекущийЭлемент());
    Если Скл.Выбрать("Выберите склад","ФормаСписка")=0 Тогда
    Сообщить("Выберите элемент из списка");
    Возврат;
    КонецЕсли;
    РСклад.ВыбратьЭлементы();
    Пока РСклад.ПолучитьЭлемент()=1 Цикл
    Если РСклад.Склад = Скл.ТекущийЭлемент() Тогда
    Сообщить(" Элемент "+Скл.ТекущийЭлемент()+" присутствует в списке");
    Возврат;
    КонецЕсли;
    КонецЦикла;
    РСклад.Новый();
    РСклад.Склад = Скл.ТекущийЭлемент();
    РСклад.Записать();
    ТаблицаСкладов.НоваяСтрока();
    ТаблицаСкладов.Склад = РСклад.Склад;
    КонецПроцедуры // ДобавитьСклад()	  
    Код:
    //******************************************************************************
    // УдалитьСклад()
    //
    // Параметры:   
    //  Нет
    //
    // Возвращаемое значение:
    //  нет.
    //
    // Описание:
    // Удаляет элемент из справочника "РазрешенныеСклады" для текущего пользователя
    //
    Процедура УдалитьСклад()
    РСклад.ИспользоватьВладельца(ТекущийЭлемент());
    
    НомерСтрокиТаблицы = ТаблицаСкладов.ТекущаяСтрока();
    ЗначениеСтрокиТаб  = ТаблицаСкладов.ПолучитьЗначение(НомерСтрокиТаблицы,"Склад");
    Если ПустоеЗначение(ЗначениеСтрокиТаб)=1 Тогда
    Возврат;
    КонецЕсли;
    Скл.НайтиПоНаименованию(СокрЛП(ЗначениеСтрокиТаб),0,1);
    ТекущийСклад = Скл.ТекущийЭлемент();
    Если РСклад.НайтиПоРеквизиту("Склад",ТекущийСклад,0)=0 Тогда
    Возврат;
    КонецЕсли; 
    ТекущийРСклад = РСклад.ТекущийЭлемент();
    Попытка
    ТекущийРСклад.Удалить(1);			  
    ТаблицаСкладов.УдалитьСтроку(НомерСтрокиТаблицы);
    Исключение  
    Сообщить(" Невозможно удалить элемент");
    КонецПопытки;
    КонецПроцедуры // УдалитьСклад()
    Переменные Скл и РСклад инициализируются вне процедур и функций в самом низу модуля.

    Но при удалении вызывается исключение. Не понимаю что не так?
    Что то ссылается на неё? Программно созданные объекты? Типа ТаблицаЗначений или переменные?
  12. TopicStarter Overlay
    Vertex
    Offline

    Vertex Опытный в 1С

    Регистрация:
    14 июн 2011
    Сообщения:
    468
    Симпатии:
    4
    Баллы:
    29
    Разобрался.
    ТекущийРСклад = РСклад.ТекущийЭлемент();
    ТекущийРСклад.Удалить(1);
    Почему то не прокатил.

    Прокатило просто:
    РСклад.Удалить(1);
  13. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Так думаю проще....
    Код:
    //******************************************************************************
    // УдалитьСклад()
    //
    // Параметры:  
    //  Нет
    //
    // Возвращаемое значение:
    //  нет.
    //
    // Описание:
    // Удаляет элемент из справочника "РазрешенныеСклады" для текущего пользователя
    //
    Процедура УдалитьСклад()
    РСклад.ИспользоватьВладельца(ТекущийЭлемент());
    Если ТаблицаСкладов.КоличествоСтрок()=0 Тогда
    Возврат;
    КонецЕсли;  
    Если РСклад.НайтиЭлемент(ТаблицаСкладов.Склад)=1 Тогда
    РСклад.Удалить(1);
    КонецЕсли;
    ТаблицаСкладов.УдалитьСтроку();
    
    КонецПроцедуры // УдалитьСклад()
  14. TopicStarter Overlay
    Vertex
    Offline

    Vertex Опытный в 1С

    Регистрация:
    14 июн 2011
    Сообщения:
    468
    Симпатии:
    4
    Баллы:
    29
    Почему то после того как реализовал задачу, при редактировании элемента справочника "Пользователи", в разделе "Значения по умолчанию", после разворачивания окна и восстановления плавают элементы формы. Как их зафиксировать? Я их не редактировал.

    Вложения:

    • 1.JPG
      1.JPG
      Размер файла:
      51,9 КБ
      Просмотров:
      4
    • 2.JPG
      2.JPG
      Размер файла:
      54,2 КБ
      Просмотров:
      4
  15. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    порядок обхода не поменялся?
  16. TopicStarter Overlay
    Vertex
    Offline

    Vertex Опытный в 1С

    Регистрация:
    14 июн 2011
    Сообщения:
    468
    Симпатии:
    4
    Баллы:
    29
    Нет. Я этот слой вообще не трогал.
    Создал новый отдельный слой "Склады", в процедуре ПриОткрытии() добавил в список закладок и в процедуре УстановкаСлоев() добавил строчки:

    ...
    ИначеЕсли Значение="Склады" Тогда
    СтрокаСписка=СтрокаСписка + ",Склады";
    ...
  17. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    И размер формы не трогали?. В свойствах формы отключите "изменять размер"
  18. TopicStarter Overlay
    Vertex
    Offline

    Vertex Опытный в 1С

    Регистрация:
    14 июн 2011
    Сообщения:
    468
    Симпатии:
    4
    Баллы:
    29
    Самое интересное что в оригинале флаг стоит.
  19. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
  20. TopicStarter Overlay
    Vertex
    Offline

    Vertex Опытный в 1С

    Регистрация:
    14 июн 2011
    Сообщения:
    468
    Симпатии:
    4
    Баллы:
    29
    И в моей тоже стоит.

Поделиться этой страницей