7.7 Обработка и создание нового документа из отчета

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем KatrineKA, 30 май 2012.

  1. TopicStarter Overlay
    KatrineKA
    Offline

    KatrineKA Опытный в 1С

    Регистрация:
    5 окт 2010
    Сообщения:
    214
    Симпатии:
    0
    Баллы:
    26
    Помогите с алгоритмом, думаю что иду не тем путем.

    Итак, необходимо создать обработку которая показывала бы суммы к уплате по контрагентам. С возможностью расшифровки этих сумм по документам и создания нового документа, прям из сформированного отчета.

    Вот собственно как я решила начать:
    1) Мне необходимы контрагенты у которых есть кредитовое сальдо по 60 счету. Выбираю их, и помещаю в ТЗ.
    Код:
     БухИт = СоздатьОбъект("БухгалтерскиеИтоги");
    БухИт.ИспользоватьСубконто(ВидыСубконто.Контрагенты,, 1);
    БухИт.ИспользоватьСубконто(ВидыСубконто.Договоры,,1);
    БухИт.ВыполнитьЗапрос(,ВыбДата, ,"60",,,"Проводка" , "С");
    
    БухИт.ВыбратьСубконто(ВидыСубконто.Контрагенты);
    Пока БухИт.ПолучитьСубконто(ВидыСубконто.Контрагенты) = 1 Цикл
    
    Опер = БухИт.Операция;
    Задолженность = БухИт.СКК("С");
    Если Задолженность > 0 Тогда
    
    Контрагент = БухИт.Субконто(ВидыСубконто.Контрагенты);
    Если ПустоеЗначение(Контрагент) = 0 Тогда
    ТЗ.НоваяСтрока();
    ТЗ.Сумма = Задолженность;  
    ТЗ.Контрагент = Контрагент;
    КонецЕсли;
    КонецЕсли;
    КонецЦикла;
    
    2) Мне нужны докменты просроченные по оплате, на дату обработки. Сначало я выбираю доки с датой по убыванию, от даты обработки. Для каждого контрагента из ТЗ. Затем проверяю дату документа на просроченность ( тут мне саомй неочень нравится как я сделала, получается я кучу не нужных доков пробегаю каждый раз). Т.е. ДатаДок + Дни просрочки >= Дата обработки. И вот только эта строка с этим контрагентом и должна попастьв отчет, а по расшифровке этой строки я должна получить документ возникновения долга.
    Код:
     ТЗ.ВыбратьСтроки();
    Пока ТЗ.ПолучитьСтроку()=1 цикл
    
    Доки.ОбратныйПорядок(0);
    
    Доки.ВыбратьДокументы('01.01.2012', ВыбДата);
    Пока Доки.ПолучитьДокумент()=1 цикл
    Если Доки.Проведен() = 0 Тогда
    Продолжить;
    КонецЕсли;
    
    Если ТЗ.Контрагент = Доки.Контрагент Тогда  
    ДатаПросрочки = Доки.ДатаДок + 7;
    Если  ДатаПросрочки >= ВыбДата Тогда
    
    СуммаДокумента = 0;
    
    Доки.ВыбратьСтроки();
    Пока Доки.ПолучитьСтроку() = 1 Цикл
    СуммаДокумента = СуммаДокумента + Доки.Сумма;
    КонецЦикла;
    
    Сумма = ТЗ.Сумма - СуммаДокумента;
    Таб.ВывестиСекцию("Строка");
    КонецЕсли;
    КонецЕсли;  
    КонецЦикла;
    КонецЦикла;
    
    Собственно на втором пукте и застряла.
  2. Allizar
    Offline

    Allizar Опытный в 1С

    Регистрация:
    24 сен 2006
    Сообщения:
    413
    Симпатии:
    0
    Баллы:
    26
    Так, а что не получается с созданием документа. Есть событие "ОбработкаЯчейкиТаблицы()". В обработчике этого события Вам и нужно создавать документ.
  3. Savant
    Offline

    Savant Опытный в 1С

    Регистрация:
    19 ноя 2007
    Сообщения:
    252
    Симпатии:
    4
    Баллы:
    29
    Первое:
    Код:
    СуммаДокумента = 0;
    
    Доки.ВыбратьСтроки();
    Пока Доки.ПолучитьСтроку() = 1 Цикл
    СуммаДокумента = СуммаДокумента + Доки.Сумма;
    КонецЦикла;
    
    Это конечно не смертельно, но не легче бы в документе создать реквизит с общей суммой и переписывать его при записи или при проведении?

    Второе:
    Для вывода в отчет общей ссуммы по контрагенту и детальной я бы переписал немного вот так (за синтаксис не ручаюсь, не проверял):
    Код:
    ТабЗнач=СоздатьОбъект("ТаблицаЗначений");
    ТабЗнач.НоваяКолонка("Документ");
    ТабЗнач.НоваяКолонка("Сумма");
    ТЗ.ВыбратьСтроки();
    Пока ТЗ.ПолучитьСтроку()=1 цикл
    ТабЗнач.УдалитьСтроки();
    СуммаПоКонтрагенту=0;
    
    Доки.ОбратныйПорядок(0);
    
    Доки.ВыбратьДокументы('01.01.2012', ВыбДата);
    Пока Доки.ПолучитьДокумент()=1 цикл
    Если Доки.Проведен() = 0 Тогда
    Продолжить;
    КонецЕсли;
    
    Если ТЗ.Контрагент = Доки.Контрагент Тогда
    ДатаПросрочки = Доки.ДатаДок + 7;
    Если  ДатаПросрочки >= ВыбДата Тогда
    
    СуммаДокумента = 0;
    
    Доки.ВыбратьСтроки();
    Пока Доки.ПолучитьСтроку() = 1 Цикл
    СуммаДокумента = СуммаДокумента + Доки.Сумма;
    КонецЦикла;
    
    Сумма = ТЗ.Сумма - СуммаДокумента;
    
    ТабЗнач.НоваяСтрока();
    ТабЗнач.Документ=Доки.ТекущийДокумент();
    ТабЗнач.Сумма=Сумма;
    СуммаПоКонтрагенту=СуммаПоКонтрагенту+Сумма;
    КонецЕсли;
    КонецЕсли;
    КонецЦикла;
    
    //Выводим итоги по контрагенту без детализации по документам
    Для н=1 По ТЗ.КоличествоСтрок() Цикл
    Таб.ВывестиСекцию("ИтогПоКонтрагенту");
    //В ячейках обращаемся к Контрагенту из ТЗ и к переменной "СуммаПоКонтрагенту"
    Для к=1 По ТабЗнач.КоличествоСтрок() Цикл
    Таб.ВывестиСекцию("ДетализацияПоДокументам");
    //В ячейках обращаемся к Контрагенту из ТЗ и к переменным "Документ" и "Сумма" из ТабЗнач
    КонецЦикла;
    КонецЦикла;																					
    
    КонецЦикла;
    Про создание нового документа прям из отчета немного не понял... Каким образом вы хотите это сделать и какие данные автозаполнения должны попадать в новый документ?
  4. Savant
    Offline

    Savant Опытный в 1С

    Регистрация:
    19 ноя 2007
    Сообщения:
    252
    Симпатии:
    4
    Баллы:
    29
    Я конечно не проверял, но что если в расшифровке ячейки указать процедуру создания нового документа? Вроде-бы по логике должно работать...
  5. TopicStarter Overlay
    KatrineKA
    Offline

    KatrineKA Опытный в 1С

    Регистрация:
    5 окт 2010
    Сообщения:
    214
    Симпатии:
    0
    Баллы:
    26
    Еще не дошла до этого пункта в выполнении, и пока смутно себе представляю как его выполнить. Попробую через ОбработкаЯчейкиТаблицы(), спасибо.
  6. dianofob
    Offline

    dianofob (-_-)y-.o0O

    Регистрация:
    3 июл 2009
    Сообщения:
    711
    Симпатии:
    0
    Баллы:
    26
    нет.. в конфигураторе у Суммы постаивть в свойствах "итог по колонке" и СуммаДокумента = Доки.Итог("Сумма");

    Если я правильно понял: в таблице в самой яейке нужно нажать правую кнопку мыши и в поле Расшифровка написать "Доки.ТекущийДокумент()"
    Если я неправильно понял: тогда обработка ячейки таблицы..
    В расшифровке содержится результат выполнения (в процессе формирования таблицы) функции указанной в этом поле
  7. TopicStarter Overlay
    KatrineKA
    Offline

    KatrineKA Опытный в 1С

    Регистрация:
    5 окт 2010
    Сообщения:
    214
    Симпатии:
    0
    Баллы:
    26
    Так я и не дошла до второй половины, где нужно создать док.
    Все еще вожусь с нахождение сумм и документов. Подскажите как лучше доделать
    Код:
     Сумма = 0; Контр = "";
    ТабЗнач.ВыбратьСтроки();
    Пока ТабЗнач.ПолучитьСтроку() = 1 Цикл
    
    Если Контр <> ТабЗнач.Контрагент Тогда
    Контр	    = ТабЗнач.Контрагент;
    СуммаДока    = ТабЗнач.Сумма;
    ТЗ.ПолучитьСтрокуПоНомеру(ТабЗнач.НомерСтр);
    ОстатокДолга = ТЗ.Сумма;
    Иначе
    Если ОстатокДолга = 0 Тогда
    ДатаДок = ТабЗнач.ДатаДок + 7;
    Если ДатаДок  <= ВыбДата Тогда
    ТекДок	 = ТабЗнач.Документ;
    Контрагент = ТабЗнач.Контрагент;
    Сумма	  = ОстатокДолга;
    Таб.ВывестиСекцию("Строка");
    Продолжить;
    КонецЕсли;   
    Иначе
    СуммаДока    = ТабЗнач.Сумма;
    ТекСумма	 = Мин(ОстатокДолга, СуммаДока);
    ОстатокДолга = ОстатокДолга - ТекСумма;
    КонецЕсли;	 
    КонецЕсли;
    КонецЦикла;
    
  8. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Выложите саму обработку. Так не видно картины в целом
  9. TopicStarter Overlay
    KatrineKA
    Offline

    KatrineKA Опытный в 1С

    Регистрация:
    5 окт 2010
    Сообщения:
    214
    Симпатии:
    0
    Баллы:
    26
    Код:
    ........
    НачВыбДата  = ВыбДата - 7;
    НомерЗаписи = 0;
    
    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Сформировать");
    
    Таб.ВывестиСекцию("Шапка");
    Таб.Опции(0,0,Таб.ВысотаТаблицы(),0);
    
    БухИт = СоздатьОбъект("БухгалтерскиеИтоги");
    БухИт.ИспользоватьСубконто(ВидыСубконто.Контрагенты,, 1);
    БухИт.ИспользоватьСубконто(ВидыСубконто.Договоры,,1);
    БухИт.ВыполнитьЗапрос(НачВыбДата,ВыбДата, ,"60",,,, "С");
    
    БухИт.ВыбратьСубконто(ВидыСубконто.Контрагенты);
    Пока БухИт.ПолучитьСубконто(ВидыСубконто.Контрагенты) = 1 Цикл
    
    Опер = БухИт.Операция;
    Задолженность = БухИт.СКК("С");
    Если Задолженность > 0 Тогда
    
    Контрагент = БухИт.Субконто(ВидыСубконто.Контрагенты);
    Если ПустоеЗначение(Контрагент) = 0 Тогда
    НомерЗаписи = НомерЗаписи + 1;
    
    ТЗ.НоваяСтрока();
    ТЗ.НомерСтр   = НомерЗаписи;
    ТЗ.Сумма	  = Задолженность;  
    ТЗ.Контрагент = Контрагент;
    КонецЕсли;
    КонецЕсли;
    КонецЦикла;
    
    Доки.ОбратныйПорядок(1);
    
    СуммаПоКонтрагенту = 0;
    
    Доки.ВыбратьДокументы();
    Пока Доки.ПолучитьДокумент() = 1 цикл
    Если Доки.Проведен() = 0 Тогда
    Продолжить;
    КонецЕсли;
    
    Стр=0;
    Кол=0;
    Если ТЗ.НайтиЗначение(Доки.Контрагент, Стр, Кол) = 1 Тогда   
    
    
    СуммаДокумента = Доки.Итог("Сумма");	
    Контр = ТЗ.ПолучитьЗначение(Стр,"Контрагент");
    
    ТабЗнач.НоваяСтрока();
    ТабЗнач.Контрагент = ТЗ.ПолучитьЗначение(Стр,"Контрагент");
    ТабЗнач.Документ   = Доки.ТекущийДокумент();
    ТабЗнач.Сумма	  = СуммаДокумента;
    ТабЗнач.НомерСтр   = ТЗ.ПолучитьЗначение(Стр,"НомерСтр");
    ТабЗнач.ДатаДок    = Доки.ДатаДок;
    
    КонецЕсли;
    КонецЦикла;
    
    ТабЗнач.Сортировать("Контрагент,-ДатаДок,Документ");
    
    Сумма = 0; Контр = "";
    ТабЗнач.ВыбратьСтроки();
    Пока ТабЗнач.ПолучитьСтроку() = 1 Цикл
    
    Если Контр <> ТабЗнач.Контрагент Тогда
    Контр	    = ТабЗнач.Контрагент;
    СуммаДока    = ТабЗнач.Сумма;
    ТЗ.ПолучитьСтрокуПоНомеру(ТабЗнач.НомерСтр);
    ОстатокДолга = ТЗ.Сумма;
    Иначе
    Если ОстатокДолга = 0 Тогда
    ДатаДок = ТабЗнач.ДатаДок + 7;
    Если ДатаДок  <= ВыбДата Тогда
    ТекДок	 = ТабЗнач.Документ;
    Контрагент = ТабЗнач.Контрагент;
    Сумма	  = ОстатокДолга;
    Таб.ВывестиСекцию("Строка");
    Продолжить;
    КонецЕсли;   
    Иначе
    СуммаДока    = ТабЗнач.Сумма;
    ТекСумма	 = Мин(ОстатокДолга, СуммаДока);
    ОстатокДолга = ОстатокДолга - ТекСумма;
    КонецЕсли;	 
    КонецЕсли;
    КонецЦикла;
    ....
  10. TopicStarter Overlay
    KatrineKA
    Offline

    KatrineKA Опытный в 1С

    Регистрация:
    5 окт 2010
    Сообщения:
    214
    Симпатии:
    0
    Баллы:
    26
    По поводу расшифровки, как сделать что бы при нажатии на ячейку пользователю предоставлялся список создания доков на выбор?
  11. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Процедура ОбрабокаЯчейкиТаблицы
  12. TopicStarter Overlay
    KatrineKA
    Offline

    KatrineKA Опытный в 1С

    Регистрация:
    5 окт 2010
    Сообщения:
    214
    Симпатии:
    0
    Баллы:
    26
    Я и так ей пытаюсь пользоваться. Может есть какой то похожий отчет для примера, где именно на выбор пердоставляются доки для создания. Мне даже кажется я где-то такое видела, но не помню где.
  13. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Код:
    Процедура ОбработкаЯчейкиТаблицы(Зн,Фл, Табл, Адрес)
    Если ВашеУсловие Тогда
    СЗ=СоздатьОбъект("СписокЗначений");
    СЗ.ДобавитьЗначение("РасходнаяНакладная","Расходная накладная");
    СЗ.ДобавитьЗначение("ПоступлениеТоваров","Приходная накладная");
    //и т,д.
    Вид="";
    Если СЗ.ВыбратьЗначение(Вид,,,,1)=1 Тогда
    Док=СоздатьОбъект("Документ."+Вид);
    //делаем что нужно
    КонецЕсли;
    КонецЕсли;
    это оно?
  14. TopicStarter Overlay
    KatrineKA
    Offline

    KatrineKA Опытный в 1С

    Регистрация:
    5 окт 2010
    Сообщения:
    214
    Симпатии:
    0
    Баллы:
    26
    Да, спасибо, то что нужно.
    А можно еще вопрос? Если мне необходимо что бы при нажатии на другую ячейку формировался новый отчет-расшифровка, я эту расшифровку тут же в ОбработкеЯчейкиТаблицы должна формировать?
  15. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Разумеется... Для этого и условия в процедуре...
    Или по значению ячейки, или по адресу.
  16. TopicStarter Overlay
    KatrineKA
    Offline

    KatrineKA Опытный в 1С

    Регистрация:
    5 окт 2010
    Сообщения:
    214
    Симпатии:
    0
    Баллы:
    26
    Извените, но я недопонимаю, как тут вообще значения передаются, вроде и понимаю, но что видими делаю что-то не то. Помогите разобраться пожалуйста.

    Т.е. у меня формируется печатная форма с данными, по одно из колонок мне нужно сформировать другой отчет, по другой создать документы. Т.е. все что мне нужно для расшифровки у меня находится в ТЗ.
    1) ОбработкаЯчейкиТаблицы(Зн,Фл, Табл, Адрес) - получается мне в Зн нужно передать мою ТЗ, для отчета-расшифровки?
  17. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Значение, передаваемое в процедуру ОбработкаЯчейкиТаблицы берется из расшифровки (см. свойство ячейки). Обычно в расшифровку передается СписокЗначений (если многофункциональные действия по клику). В вашем же случае как я понял достаточно получить элемент справочника контрагентов. Зная адрес мы поймем какое действие нам надо выполнить (колонка-то известна)
  18. TopicStarter Overlay
    KatrineKA
    Offline

    KatrineKA Опытный в 1С

    Регистрация:
    5 окт 2010
    Сообщения:
    214
    Симпатии:
    0
    Баллы:
    26
    Чет про элемент справочника я совсем не поняла. Вот смотрите в Расшифровке ячейки Сумма я передаю свою ТЗ.
    Код:
    Процедура ОбработкаЯчейкиТаблицы(Зн,Флаг,тб,Адрес)
    Флаг = 0;
    СЗ=СоздатьОбъект("СписокЗначений");
    СЗ.ДобавитьЗначение("РКО","РКО");
    СЗ.ДобавитьЗначение("ПлатежноеПоручение","ПлатежноеПоручение");
    
    Вид="";
    Если СЗ.ВыбратьЗначение(Вид,,,,1)=1 Тогда
    Если Вид = "РКО" Тогда
    Док=СоздатьОбъект("Документ."+Вид);
    Док.Сумма = Зн.Сумма;
    ОткрытьФорму("Документ.РКО");
    
    ИначеЕсли Вид = "ПлатежноеПоручение" Тогда
    Док=СоздатьОбъект("Документ."+Вид);
    Док.Сумма = Зн.Сумма;
    ОткрытьФорму("Документ.ПлатежноеПоручение");
    
    КонецЕсли;
    КонецЕсли;
    
    КонецПроцедуры
    
  19. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Это у вас сработает по клику на ЛЮБОЙ ячейке...
    А я как понял нужно разделять.... Поэтому и нужно условие... В посте №13 я уже писал для примера.

    Код:
    Если ВашеУсловие Тогда
    В посте №14 упомянул о параметре Адрес. Вот еще пример. Думаю поймете.
    Гляньте отладчиком параметр Адрес. Это Строка содержащая координаты ячейки по которой кликнули
    Имеет вид RЧислоCЧисло где R-номер строки С-номер колонки
    Используя процедуру

    Код:
    Процерупа ВенутьСтрокуКолонку(Адрес,НомерСтроки,НомерКолонки)
    НомерСтроки=Число(Сред(Адрес,Найти(Адрес,"C")-1));
    НомерКолонки=Число(Прав(Адрес,Найти(Адрес,"C")+1));
    КонецПроцедуры
    
    можно понять, в каком именно месте мы жмакнули мышкой.
    Пример:
    Код:
    ...
    НомерСтроки=0;
    НомерКолонки=0;
    ВенутьСтрокуКолонку(Адрес,НомерСтроки,НомерКолонки);
    Если (НомерСтроки>5)И(НомерКолонки=3) Тогда
    ....
    КонецЕсли;
    КонецПроцедуры
    
    В данном случае мы учли что у нас в шапке отчета 5 строк и действия выполняются при клике на 3й колонке.

    И еще... Не замечали что при выполнении действий у вас "грязь" в отчете (какие-то сообщения непонятные). Вы забыли сбросить флаг стандартной обработки в 0 (2й параметр процедуры)
  20. TopicStarter Overlay
    KatrineKA
    Offline

    KatrineKA Опытный в 1С

    Регистрация:
    5 окт 2010
    Сообщения:
    214
    Симпатии:
    0
    Баллы:
    26
    Понятно стало, спасибо. Выложу доработанную процедуру, вдруг кому пригодится.
    Код:
    Процедура ОбработкаЯчейкиТаблицы(Зн,Флаг,тб,Адрес)
    
    Если (ТипЗначенияСтр(Зн) = "Справочник") ИЛИ (ТипЗначенияСтр(Зн) = "ТаблицаЗначений") Тогда
    Флаг = 0;
    
    СЗ=СоздатьОбъект("СписокЗначений");
    СЗ.ДобавитьЗначение("РКО","РКО");
    СЗ.ДобавитьЗначение("ПлатежноеПоручение","ПлатежноеПоручение");
    
    НомерСтроки  = 0;
    НомерКолонки = 0;
    Вид = "";
    
    ВернутьСтрокуКолонку(Адрес,НомерСтроки,НомерКолонки);
    Если (НомерСтроки &gt; 5) И (НомерКолонки = 5) Тогда
    
    Если СЗ.ВыбратьЗначение(Вид,,,,1) = 1 Тогда
    НомСтр = НомерСтроки - 5;
    
    Если Вид = "РКО" Тогда
    Док  = СоздатьОбъект("Документ." + Вид);
    Зн.ВыбратьСтроки();
    Пока Зн.ПолучитьСтроку() = 1 Цикл
    Зн.ПолучитьСтрокуПоНомеру(НомСтр);
    ЗаполнитьРКО(Док,Зн);
    Прервать;
    КонецЦикла;
    ИначеЕсли Вид = "ПлатежноеПоручение" Тогда
    Док = СоздатьОбъект("Документ." + Вид);
    Зн.ВыбратьСтроки();
    Пока Зн.ПолучитьСтроку() = 1 Цикл
    Зн.ПолучитьСтрокуПоНомеру(НомСтр);
    ЗаполнитьПП(Док,Зн);	
    Прервать;
    КонецЦикла;
    КонецЕсли;
    КонецЕсли;
    
    ИначеЕсли (НомерСтроки &gt; 5) И (НомерКолонки = 4) Тогда   
    
    НомСтр = НомерСтроки - 5;
    
    Стр=0;
    Кол=0;
    
    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Расшифровка");
    
    Таб.ВывестиСекцию("Шапка");
    Таб.Опции(0,0,Таб.ВысотаТаблицы(),0);
    
    ТЗИтог.ВыбратьСтроки();
    Пока ТЗИтог.ПолучитьСтроку() = 1 Цикл
    Контр = ТЗИтог.Контрагент;
    Если Контр = Зн Тогда
    Документ = ТЗИтог.Документ;
    Сумма    = ТЗИтог.ПросроченныйДолг;
    Таб.ВывестиСекцию("Строка");
    КонецЕсли;
    КонецЦикла;
    Таб.ТолькоПросмотр(1);
    Таб.Показать("Расшифровка","");
    КонецЕсли;
    
    ИначеЕсли ТипЗначенияСтр(Зн) = "Документ" Тогда
    Флаг = 1;
    КонецЕсли;
    
    КонецПроцедуры
    

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