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

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

  1. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Чет не совсем понял вопрос...

    Если тебе нужно перебрать значения субконто, при условии, что Опер спозиционирована на операции:
    Код:
    Для пц = 1 по Опер.Дебет.Счет.КоличествоСубконто() Цикл
    
    Сообщить(Опер.Дебет.Субконто(пц));
    
    КонецЦикла;
    
    Если нужно задать субконто, при этом Зн спозиционирована или содержит значение нужного типа, а НомСуб - это номер нужного субконто:

    Код:
    Опер.Дебет.Субконто(НомСуб, Зн);
    
    Так же вместо номера можно указывать вид субконто (в справке подробнее).
  2. TopicStarter Overlay
    Vertex
    Offline

    Vertex Опытный в 1С

    Регистрация:
    14 июн 2011
    Сообщения:
    468
    Симпатии:
    4
    Баллы:
    29
    Почему то начиная с 9X.XX.XX счетов по субконто они не разворачиваются

    Вложения:

    • не1.JPG
      не1.JPG
      Размер файла:
      219,2 КБ
      Просмотров:
      12
    • о1.JPG
      о1.JPG
      Размер файла:
      150,8 КБ
      Просмотров:
      12
  3. TopicStarter Overlay
    Vertex
    Offline

    Vertex Опытный в 1С

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

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

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

    Vertex Опытный в 1С

    Регистрация:
    14 июн 2011
    Сообщения:
    468
    Симпатии:
    4
    Баллы:
    29
    Бухгалтерский угодник
    Я всё по тому же вопросу касаемо обрезки базы бухучёта.
    На этапе получения итогов по субконто не у всех счетов есть эти итоги по субконто, а нет их именно у тех счетов у которых в плане счетов стоит (об.). Итоги по самим счетам есть.
    Код:
    Пока БИ.ПолучитьСчет()=1 Цикл    
    БИ.ВыбратьСубконто();
    Сообщить("   "+БИ.Счет+"   "+БИ.СНД(1)+" СКД "+БИ.СКД(1)+"  "+БИ.СКД(3)+"  "+БИ.СНК(1)+"  "+БИ.СКК(1)+"  "+БИ.СКК(3)+"  "+БИ.ДО(1)+"  "+БИ.КО(1)); // На примере 50 сч , итог есть.    
    Пока БИ.ПолучитьСубконто(1)=1 Цикл
    Сообщить(" >>>  "+БИ.Счет+"   "+БИ.СНД(1)+" СКД "+БИ.СКД(1)+"  "+БИ.СКД(3)+"  "+БИ.СНК(1)+"  "+БИ.СКК(1)+"  "+БИ.СКК(3)+"  "+БИ.ДО(1)+"  "+БИ.КО(1)); // по 50 сч на определённую дату итогов по субконто нет.
    КонецЦикла;    
    КонецЦикла;
    КонецПроцедуры
    
    
    Подскажите, проводки по счетам с оборотным субконто нужно создавать при получении итогов по счетам?
    Код:
    Пока БИ.ПолучитьСчет()=1 Цикл   
    Опер.НоваяПроводка();
    
    
    Так?
  6. TopicStarter Overlay
    Vertex
    Offline

    Vertex Опытный в 1С

    Регистрация:
    14 июн 2011
    Сообщения:
    468
    Симпатии:
    4
    Баллы:
    29
    Не понятно описал вопрос? :angry: :D
  7. TopicStarter Overlay
    Vertex
    Offline

    Vertex Опытный в 1С

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

    Код:
    Процедура ОбходДока(ТДок)
    ФлагДок = 0;
    ТДок.ВыбратьСтроки();
    Пока ТДок.ПолучитьСтроку()=1 Цикл
    Если ТДок.Товар <> _АбстрактТовар Тогда
    //  //Сообщить(" Документ найден  "+Док.ТекущийДокумент()+"  "+_Докс.Товар);
    ТДок.Товар = _АбстрактТовар;
    ФлагДок = 1;
    КонецЕсли;
    КонецЦикла;
    
    
    Если ФлагДок = 1 Тогда
    ТДок.Записать();
    ФлагДок = 0;
    Сообщить(ТДок);
    КонецЕсли;
    
    КонецПроцедуры
    В процедуру передаётся значение типа документ.
    Обход строк в цикле работает смотрел через отладчик.
    Метод Документ.Выбран() возвращает истину.
    А метод Записать() не работает выдает

  8. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    ТДок должен быть создан с помощью функции "СоздатьОбъект()". Похоже сюда передается сам документ, у которого можно перебрать строки, но записать нельзя.

    Код:
    Процедура ОбходДока(ТекДок)
    ФлагДок = 0;
    ТДок = СоздатьОбъект("Документ.[Тут идентификатор документа]");
    ТДок.НайтиДокумент(ТекДок);
    ТДок.ВыбратьСтроки();
    Пока ТДок.ПолучитьСтроку()=1 Цикл
    Если ТДок.Товар <> _АбстрактТовар Тогда
    //  //Сообщить(" Документ найден  "+Док.ТекущийДокумент()+"  "+_Докс.Товар);
    ТДок.Товар = _АбстрактТовар;
    ФлагДок = 1;
    КонецЕсли;
    КонецЦикла;
    
    Если ФлагДок = 1 Тогда
    ТДок.Записать();
    ФлагДок = 0;
    Сообщить(ТДок);
    КонецЕсли;
    КонецПроцедуры
  9. TopicStarter Overlay
    Vertex
    Offline

    Vertex Опытный в 1С

    Регистрация:
    14 июн 2011
    Сообщения:
    468
    Симпатии:
    4
    Баллы:
    29
    Спасибо...Попробую сейчас
  10. TopicStarter Overlay
    Vertex
    Offline

    Vertex Опытный в 1С

    Регистрация:
    14 июн 2011
    Сообщения:
    468
    Симпатии:
    4
    Баллы:
    29
    Вопрос.
    Есть какой то метод или каким способом можно накидать следующий кусок кода:
    Нужно получить из метаданных все документы у которых есть реквизит "Товар".
    Как это сделать? Устроить цикл по метаданным? А каким методом проверять?
    Заранее спасибо
  11. Requin
    Offline

    Requin Опытный в 1С

    Регистрация:
    10 май 2010
    Сообщения:
    1.911
    Симпатии:
    2
    Баллы:
    29
    [CODE1C]Для каждого МетаданныеДокумент Из Метаданные.Документы Цикл
    Если Не (МетаданныеДокумент.Реквизиты.Найти(ИмяРеквизита) = Неопределено) Тогда
    // реквизит есть
    КонецЕсли;
    КонецЦикла;[/CODE1C]
  12. Requin
    Offline

    Requin Опытный в 1С

    Регистрация:
    10 май 2010
    Сообщения:
    1.911
    Симпатии:
    2
    Баллы:
    29
    Упс. Не глянул, что 7.7.


    [CODE1C]Для Инд = 1 По Метаданные.Документ() Цикл
    ИдентДок = Метаданные.Документ(Инд).Идентификатор;

    Для ИндРекв = 1 по Метаданные.Документ(ИдентДок).РеквизитШапки() Цикл
    Если Метаданные.Документ(ИдентДок).РеквизитШапки(ИндРекв).Идентификатор = "Товар" Тогда
    // есть реквизит в шапке
    КонецЕсли;
    КонецЦикла;
    Для ИндРекв = 1 по Метаданные.Документ(ИдентДок).РеквизитТабличнойЧасти() Цикл
    Если Метаданные.Документ(ИдентДок).РеквизитТабличнойЧасти(ИндРекв).Идентификатор = "Товар" Тогда
    // есть реквизит в табл. части
    КонецЕсли;
    КонецЦикла;
    КонецЦикла;[/CODE1C]

    Ну и общие реквизиты могут быть:

    [CODE1C]Для ИндРекв = 1 по Метаданные.ОбщийРеквизитДокумента() Цикл
    Если Метаданные.ОбщийРеквизитДокумента(ИндРекв).Идентификатор = "Товар" Тогда
    // есть общий реквизит
    КонецЕсли;
    КонецЦикла;[/CODE1C]
  13. TopicStarter Overlay
    Vertex
    Offline

    Vertex Опытный в 1С

    Регистрация:
    14 июн 2011
    Сообщения:
    468
    Симпатии:
    4
    Баллы:
    29
    Не получается сделать нормально переключатель.
    [​IMG]
    Он зависает на обоих положениях.
    Свойства менял - одинаковый результат.
    Подскажите пжл.
  14. Бухгалтерский угодник
    Offline

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

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

    Vertex Опытный в 1С

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

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

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

    Vertex Опытный в 1С

    Регистрация:
    14 июн 2011
    Сообщения:
    468
    Симпатии:
    4
    Баллы:
    29
    Всем привет.
    Глупый вопрос:
    Конфа ТиС , самописная обработка "универсальная продажа", в ней есть вкладка "Журнал", обработка очень большая кода много.
    Вчера была задача разрешить доступ к элементам диалога с 21 по 23 для изменения скидок. Реализовал простым условием
    Если (РабочаяДата()>='21.12.12') и (РабочаяДата()>='23.12.12') Тогда
    Форма.<ИмяЭлемента Диалога>.Доступность(0);
    Форма.<ИмяЭлемента Диалога>.Видимость(0);
    КонецЕсли;
    Так вот после того как кликаешь по кнопке "реализация" формируется и проводиться документ, исчезает вкладка "Журнал",
    и быстро пробежав по строкам не нашёл где устанавливается её видимость.
    Подскажите почему так может случиться?
  18. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    1) Думаю тут явная ошибка
    Код:
    Если (РабочаяДата()>='21.12.12') и (РабочаяДата()>='23.12.12') Тогда
    2) Исчезает только закладка "Журнал"? Еще закладки есть? Если да - смотрите ИспользоватьСлой. Там накосячили
  19. TopicStarter Overlay
    Vertex
    Offline

    Vertex Опытный в 1С

    Регистрация:
    14 июн 2011
    Сообщения:
    468
    Симпатии:
    4
    Баллы:
    29
    Упс опечатка тут.
    2) Исчезает только закладка "Журнал"? Еще закладки есть? Если да - смотрите ИспользоватьСлой. Там накосячили
    Ага исчезает только " Журнал"
  20. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    ну ищите по тексту вызов метода.... похоже вы вызываете иной слой или что-то делаете со СПИСКОМ слоев формы

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